def _update_instance()

in src/hdinsightonaks/azext_hdinsightonaks/aaz/latest/hdinsight_on_aks/cluster/_update.py [0:0]


        def _update_instance(self, instance):
            _instance_value, _builder = self.new_content_builder(
                self.ctx.args,
                value=instance,
                typ=AAZObjectType
            )
            _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})
            _builder.set_prop("tags", AAZDictType, ".tags")

            properties = _builder.get(".properties")
            if properties is not None:
                properties.set_prop("clusterProfile", AAZObjectType, ".", typ_kwargs={"flags": {"required": True}})
                properties.set_prop("computeProfile", AAZObjectType, ".", typ_kwargs={"flags": {"required": True}})

            cluster_profile = _builder.get(".properties.clusterProfile")
            if cluster_profile is not None:
                cluster_profile.set_prop("authorizationProfile", AAZObjectType, ".", typ_kwargs={"flags": {"required": True}})
                cluster_profile.set_prop("autoscaleProfile", AAZObjectType)
                cluster_profile.set_prop("clusterVersion", AAZStrType, ".cluster_version", typ_kwargs={"flags": {"required": True}})
                cluster_profile.set_prop("flinkProfile", AAZObjectType)
                cluster_profile.set_prop("identityProfile", AAZObjectType)
                cluster_profile.set_prop("kafkaProfile", AAZObjectType, ".kafka_profile")
                cluster_profile.set_prop("llapProfile", AAZFreeFormDictType, ".llap_profile")
                cluster_profile.set_prop("logAnalyticsProfile", AAZObjectType)
                cluster_profile.set_prop("managedIdentityProfile", AAZObjectType)
                cluster_profile.set_prop("ossVersion", AAZStrType, ".oss_version", typ_kwargs={"flags": {"required": True}})
                cluster_profile.set_prop("prometheusProfile", AAZObjectType)
                cluster_profile.set_prop("rangerPluginProfile", AAZObjectType, ".ranger_plugin_profile")
                cluster_profile.set_prop("rangerProfile", AAZObjectType, ".ranger_profile")
                cluster_profile.set_prop("scriptActionProfiles", AAZListType, ".script_action_profiles")
                cluster_profile.set_prop("secretsProfile", AAZObjectType)
                cluster_profile.set_prop("serviceConfigsProfiles", AAZListType, ".service_configs_profiles")
                cluster_profile.set_prop("sparkProfile", AAZObjectType)
                cluster_profile.set_prop("sshProfile", AAZObjectType)
                cluster_profile.set_prop("stubProfile", AAZFreeFormDictType, ".stub_profile")
                cluster_profile.set_prop("trinoProfile", AAZObjectType)

            authorization_profile = _builder.get(".properties.clusterProfile.authorizationProfile")
            if authorization_profile is not None:
                authorization_profile.set_prop("groupIds", AAZListType, ".authorization_group_id")
                authorization_profile.set_prop("userIds", AAZListType, ".authorization_user_id")

            group_ids = _builder.get(".properties.clusterProfile.authorizationProfile.groupIds")
            if group_ids is not None:
                group_ids.set_elements(AAZStrType, ".")

            user_ids = _builder.get(".properties.clusterProfile.authorizationProfile.userIds")
            if user_ids is not None:
                user_ids.set_elements(AAZStrType, ".")

            autoscale_profile = _builder.get(".properties.clusterProfile.autoscaleProfile")
            if autoscale_profile is not None:
                autoscale_profile.set_prop("autoscaleType", AAZStrType, ".autoscale_profile_type")
                autoscale_profile.set_prop("enabled", AAZBoolType, ".enable_autoscale", typ_kwargs={"flags": {"required": True}})
                autoscale_profile.set_prop("gracefulDecommissionTimeout", AAZIntType, ".autoscale_profile_graceful_decommission_timeout")
                autoscale_profile.set_prop("loadBasedConfig", AAZObjectType)
                autoscale_profile.set_prop("scheduleBasedConfig", AAZObjectType)

            load_based_config = _builder.get(".properties.clusterProfile.autoscaleProfile.loadBasedConfig")
            if load_based_config is not None:
                load_based_config.set_prop("cooldownPeriod", AAZIntType, ".loadbased_config_cooldown_period")
                load_based_config.set_prop("maxNodes", AAZIntType, ".loadbased_config_max_nodes", typ_kwargs={"flags": {"required": True}})
                load_based_config.set_prop("minNodes", AAZIntType, ".loadbased_config_min_nodes", typ_kwargs={"flags": {"required": True}})
                load_based_config.set_prop("pollInterval", AAZIntType, ".loadbased_config_poll_interval")
                load_based_config.set_prop("scalingRules", AAZListType, ".loadbased_config_scaling_rules", typ_kwargs={"flags": {"required": True}})

            scaling_rules = _builder.get(".properties.clusterProfile.autoscaleProfile.loadBasedConfig.scalingRules")
            if scaling_rules is not None:
                scaling_rules.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.clusterProfile.autoscaleProfile.loadBasedConfig.scalingRules[]")
            if _elements is not None:
                _elements.set_prop("actionType", AAZStrType, ".action_type", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("comparisonRule", AAZObjectType, ".comparison_rule", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("evaluationCount", AAZIntType, ".evaluation_count", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("scalingMetric", AAZStrType, ".scaling_metric", typ_kwargs={"flags": {"required": True}})

            comparison_rule = _builder.get(".properties.clusterProfile.autoscaleProfile.loadBasedConfig.scalingRules[].comparisonRule")
            if comparison_rule is not None:
                comparison_rule.set_prop("operator", AAZStrType, ".operator", typ_kwargs={"flags": {"required": True}})
                comparison_rule.set_prop("threshold", AAZFloatType, ".threshold", typ_kwargs={"flags": {"required": True}})

            schedule_based_config = _builder.get(".properties.clusterProfile.autoscaleProfile.scheduleBasedConfig")
            if schedule_based_config is not None:
                schedule_based_config.set_prop("defaultCount", AAZIntType, ".schedule_based_config_default_count", typ_kwargs={"flags": {"required": True}})
                schedule_based_config.set_prop("schedules", AAZListType, ".schedule_based_config_schedule", typ_kwargs={"flags": {"required": True}})
                schedule_based_config.set_prop("timeZone", AAZStrType, ".schedule_based_config_time_zone", typ_kwargs={"flags": {"required": True}})

            schedules = _builder.get(".properties.clusterProfile.autoscaleProfile.scheduleBasedConfig.schedules")
            if schedules is not None:
                schedules.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.clusterProfile.autoscaleProfile.scheduleBasedConfig.schedules[]")
            if _elements is not None:
                _elements.set_prop("count", AAZIntType, ".count", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("days", AAZListType, ".days", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("endTime", AAZStrType, ".end_time", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("startTime", AAZStrType, ".start_time", typ_kwargs={"flags": {"required": True}})

            days = _builder.get(".properties.clusterProfile.autoscaleProfile.scheduleBasedConfig.schedules[].days")
            if days is not None:
                days.set_elements(AAZStrType, ".")

            flink_profile = _builder.get(".properties.clusterProfile.flinkProfile")
            if flink_profile is not None:
                flink_profile.set_prop("catalogOptions", AAZObjectType)
                flink_profile.set_prop("deploymentMode", AAZStrType, ".deployment_mode")
                flink_profile.set_prop("historyServer", AAZObjectType)
                flink_profile.set_prop("jobManager", AAZObjectType, ".", typ_kwargs={"flags": {"required": True}})
                flink_profile.set_prop("jobSpec", AAZObjectType, ".job_spec")
                flink_profile.set_prop("numReplicas", AAZIntType, ".num_replicas")
                flink_profile.set_prop("storage", AAZObjectType, ".", typ_kwargs={"flags": {"required": True}})
                flink_profile.set_prop("taskManager", AAZObjectType, ".", typ_kwargs={"flags": {"required": True}})

            catalog_options = _builder.get(".properties.clusterProfile.flinkProfile.catalogOptions")
            if catalog_options is not None:
                catalog_options.set_prop("hive", AAZObjectType)

            hive = _builder.get(".properties.clusterProfile.flinkProfile.catalogOptions.hive")
            if hive is not None:
                hive.set_prop("metastoreDbConnectionAuthenticationMode", AAZStrType, ".metastore_db_connection_authentication_mode")
                hive.set_prop("metastoreDbConnectionPasswordSecret", AAZStrType, ".flink_hive_catalog_db_connection_password_secret")
                hive.set_prop("metastoreDbConnectionURL", AAZStrType, ".flink_hive_catalog_db_connection_url", typ_kwargs={"flags": {"required": True}})
                hive.set_prop("metastoreDbConnectionUserName", AAZStrType, ".flink_hive_catalog_db_connection_user_name")

            history_server = _builder.get(".properties.clusterProfile.flinkProfile.historyServer")
            if history_server is not None:
                history_server.set_prop("cpu", AAZFloatType, ".history_server_cpu", typ_kwargs={"flags": {"required": True}})
                history_server.set_prop("memory", AAZIntType, ".history_server_memory", typ_kwargs={"flags": {"required": True}})

            job_manager = _builder.get(".properties.clusterProfile.flinkProfile.jobManager")
            if job_manager is not None:
                job_manager.set_prop("cpu", AAZFloatType, ".job_manager_cpu", typ_kwargs={"flags": {"required": True}})
                job_manager.set_prop("memory", AAZIntType, ".job_manager_memory", typ_kwargs={"flags": {"required": True}})

            job_spec = _builder.get(".properties.clusterProfile.flinkProfile.jobSpec")
            if job_spec is not None:
                job_spec.set_prop("args", AAZStrType, ".args")
                job_spec.set_prop("entryClass", AAZStrType, ".entry_class")
                job_spec.set_prop("jarName", AAZStrType, ".jar_name", typ_kwargs={"flags": {"required": True}})
                job_spec.set_prop("jobJarDirectory", AAZStrType, ".job_jar_directory", typ_kwargs={"flags": {"required": True}})
                job_spec.set_prop("savePointName", AAZStrType, ".save_point_name")
                job_spec.set_prop("upgradeMode", AAZStrType, ".upgrade_mode", typ_kwargs={"flags": {"required": True}})

            storage = _builder.get(".properties.clusterProfile.flinkProfile.storage")
            if storage is not None:
                storage.set_prop("storageUri", AAZStrType, ".flink_storage_uri", typ_kwargs={"flags": {"required": True}})
                storage.set_prop("storagekey", AAZStrType, ".flink_storage_key", typ_kwargs={"flags": {"secret": True}})

            task_manager = _builder.get(".properties.clusterProfile.flinkProfile.taskManager")
            if task_manager is not None:
                task_manager.set_prop("cpu", AAZFloatType, ".task_manager_cpu", typ_kwargs={"flags": {"required": True}})
                task_manager.set_prop("memory", AAZIntType, ".task_manager_memory", typ_kwargs={"flags": {"required": True}})

            identity_profile = _builder.get(".properties.clusterProfile.identityProfile")
            if identity_profile is not None:
                identity_profile.set_prop("msiClientId", AAZStrType, ".assigned_identity_client_id", typ_kwargs={"flags": {"required": True}})
                identity_profile.set_prop("msiObjectId", AAZStrType, ".assigned_identity_object_id", typ_kwargs={"flags": {"required": True}})
                identity_profile.set_prop("msiResourceId", AAZStrType, ".assigned_identity_id", typ_kwargs={"flags": {"required": True}})

            kafka_profile = _builder.get(".properties.clusterProfile.kafkaProfile")
            if kafka_profile is not None:
                kafka_profile.set_prop("diskStorage", AAZObjectType, ".disk_storage", typ_kwargs={"flags": {"required": True}})
                kafka_profile.set_prop("enableKRaft", AAZBoolType, ".enable_k_raft")
                kafka_profile.set_prop("enablePublicEndpoints", AAZBoolType, ".enable_public_endpoints")
                kafka_profile.set_prop("remoteStorageUri", AAZStrType, ".remote_storage_uri")

            disk_storage = _builder.get(".properties.clusterProfile.kafkaProfile.diskStorage")
            if disk_storage is not None:
                disk_storage.set_prop("dataDiskSize", AAZIntType, ".data_disk_size", typ_kwargs={"flags": {"required": True}})
                disk_storage.set_prop("dataDiskType", AAZStrType, ".data_disk_type", typ_kwargs={"flags": {"required": True}})

            llap_profile = _builder.get(".properties.clusterProfile.llapProfile")
            if llap_profile is not None:
                llap_profile.set_anytype_elements(".")

            log_analytics_profile = _builder.get(".properties.clusterProfile.logAnalyticsProfile")
            if log_analytics_profile is not None:
                log_analytics_profile.set_prop("applicationLogs", AAZObjectType)
                log_analytics_profile.set_prop("enabled", AAZBoolType, ".enable_log_analytics", typ_kwargs={"flags": {"required": True}})
                log_analytics_profile.set_prop("metricsEnabled", AAZBoolType, ".log_analytic_profile_metrics_enabled")

            application_logs = _builder.get(".properties.clusterProfile.logAnalyticsProfile.applicationLogs")
            if application_logs is not None:
                application_logs.set_prop("stdErrorEnabled", AAZBoolType, ".application_log_std_error_enabled")
                application_logs.set_prop("stdOutEnabled", AAZBoolType, ".application_log_std_out_enabled")

            managed_identity_profile = _builder.get(".properties.clusterProfile.managedIdentityProfile")
            if managed_identity_profile is not None:
                managed_identity_profile.set_prop("identityList", AAZListType, ".identity_list", typ_kwargs={"flags": {"required": True}})

            identity_list = _builder.get(".properties.clusterProfile.managedIdentityProfile.identityList")
            if identity_list is not None:
                identity_list.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.clusterProfile.managedIdentityProfile.identityList[]")
            if _elements is not None:
                _elements.set_prop("clientId", AAZStrType, ".client_id", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("objectId", AAZStrType, ".object_id", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("resourceId", AAZStrType, ".resource_id", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("type", AAZStrType, ".type", typ_kwargs={"flags": {"required": True}})

            prometheus_profile = _builder.get(".properties.clusterProfile.prometheusProfile")
            if prometheus_profile is not None:
                prometheus_profile.set_prop("enabled", AAZBoolType, ".enable_prometheu", typ_kwargs={"flags": {"required": True}})

            ranger_plugin_profile = _builder.get(".properties.clusterProfile.rangerPluginProfile")
            if ranger_plugin_profile is not None:
                ranger_plugin_profile.set_prop("enabled", AAZBoolType, ".enabled", typ_kwargs={"flags": {"required": True}})

            ranger_profile = _builder.get(".properties.clusterProfile.rangerProfile")
            if ranger_profile is not None:
                ranger_profile.set_prop("rangerAdmin", AAZObjectType, ".ranger_admin", typ_kwargs={"flags": {"required": True}})
                ranger_profile.set_prop("rangerAudit", AAZObjectType, ".ranger_audit")
                ranger_profile.set_prop("rangerUsersync", AAZObjectType, ".ranger_usersync", typ_kwargs={"flags": {"required": True}})

            ranger_admin = _builder.get(".properties.clusterProfile.rangerProfile.rangerAdmin")
            if ranger_admin is not None:
                ranger_admin.set_prop("admins", AAZListType, ".admins", typ_kwargs={"flags": {"required": True}})
                ranger_admin.set_prop("database", AAZObjectType, ".database", typ_kwargs={"flags": {"required": True}})

            admins = _builder.get(".properties.clusterProfile.rangerProfile.rangerAdmin.admins")
            if admins is not None:
                admins.set_elements(AAZStrType, ".")

            database = _builder.get(".properties.clusterProfile.rangerProfile.rangerAdmin.database")
            if database is not None:
                database.set_prop("host", AAZStrType, ".host", typ_kwargs={"flags": {"required": True}})
                database.set_prop("name", AAZStrType, ".name", typ_kwargs={"flags": {"required": True}})
                database.set_prop("passwordSecretRef", AAZStrType, ".password_secret_ref")
                database.set_prop("username", AAZStrType, ".username")

            ranger_audit = _builder.get(".properties.clusterProfile.rangerProfile.rangerAudit")
            if ranger_audit is not None:
                ranger_audit.set_prop("storageAccount", AAZStrType, ".storage_account")

            ranger_usersync = _builder.get(".properties.clusterProfile.rangerProfile.rangerUsersync")
            if ranger_usersync is not None:
                ranger_usersync.set_prop("enabled", AAZBoolType, ".enabled")
                ranger_usersync.set_prop("groups", AAZListType, ".groups")
                ranger_usersync.set_prop("mode", AAZStrType, ".mode")
                ranger_usersync.set_prop("userMappingLocation", AAZStrType, ".user_mapping_location")
                ranger_usersync.set_prop("users", AAZListType, ".users")

            groups = _builder.get(".properties.clusterProfile.rangerProfile.rangerUsersync.groups")
            if groups is not None:
                groups.set_elements(AAZStrType, ".")

            users = _builder.get(".properties.clusterProfile.rangerProfile.rangerUsersync.users")
            if users is not None:
                users.set_elements(AAZStrType, ".")

            script_action_profiles = _builder.get(".properties.clusterProfile.scriptActionProfiles")
            if script_action_profiles is not None:
                script_action_profiles.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.clusterProfile.scriptActionProfiles[]")
            if _elements is not None:
                _elements.set_prop("name", AAZStrType, ".name", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("parameters", AAZStrType, ".parameters")
                _elements.set_prop("services", AAZListType, ".services", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("shouldPersist", AAZBoolType, ".should_persist")
                _elements.set_prop("timeoutInMinutes", AAZIntType, ".timeout_in_minutes")
                _elements.set_prop("type", AAZStrType, ".type", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("url", AAZStrType, ".url", typ_kwargs={"flags": {"required": True}})

            services = _builder.get(".properties.clusterProfile.scriptActionProfiles[].services")
            if services is not None:
                services.set_elements(AAZStrType, ".")

            secrets_profile = _builder.get(".properties.clusterProfile.secretsProfile")
            if secrets_profile is not None:
                secrets_profile.set_prop("keyVaultResourceId", AAZStrType, ".key_vault_id", typ_kwargs={"flags": {"required": True}})
                secrets_profile.set_prop("secrets", AAZListType, ".secret_reference")

            secrets = _builder.get(".properties.clusterProfile.secretsProfile.secrets")
            if secrets is not None:
                secrets.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.clusterProfile.secretsProfile.secrets[]")
            if _elements is not None:
                _elements.set_prop("keyVaultObjectName", AAZStrType, ".secret_name", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("referenceName", AAZStrType, ".reference_name", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("type", AAZStrType, ".type", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("version", AAZStrType, ".version")

            service_configs_profiles = _builder.get(".properties.clusterProfile.serviceConfigsProfiles")
            if service_configs_profiles is not None:
                service_configs_profiles.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.clusterProfile.serviceConfigsProfiles[]")
            if _elements is not None:
                _elements.set_prop("configs", AAZListType, ".configs", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("serviceName", AAZStrType, ".service_name", typ_kwargs={"flags": {"required": True}})

            configs = _builder.get(".properties.clusterProfile.serviceConfigsProfiles[].configs")
            if configs is not None:
                configs.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.clusterProfile.serviceConfigsProfiles[].configs[]")
            if _elements is not None:
                _elements.set_prop("component", AAZStrType, ".component", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("files", AAZListType, ".files", typ_kwargs={"flags": {"required": True}})

            files = _builder.get(".properties.clusterProfile.serviceConfigsProfiles[].configs[].files")
            if files is not None:
                files.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.clusterProfile.serviceConfigsProfiles[].configs[].files[]")
            if _elements is not None:
                _elements.set_prop("content", AAZStrType, ".content")
                _elements.set_prop("encoding", AAZStrType, ".encoding")
                _elements.set_prop("fileName", AAZStrType, ".file_name", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("path", AAZStrType, ".path")
                _elements.set_prop("values", AAZDictType, ".values")

            values = _builder.get(".properties.clusterProfile.serviceConfigsProfiles[].configs[].files[].values")
            if values is not None:
                values.set_elements(AAZStrType, ".")

            spark_profile = _builder.get(".properties.clusterProfile.sparkProfile")
            if spark_profile is not None:
                spark_profile.set_prop("defaultStorageUrl", AAZStrType, ".spark_storage_url")
                spark_profile.set_prop("metastoreSpec", AAZObjectType)
                spark_profile.set_prop("userPluginsSpec", AAZObjectType, ".user_plugins_spec")

            metastore_spec = _builder.get(".properties.clusterProfile.sparkProfile.metastoreSpec")
            if metastore_spec is not None:
                metastore_spec.set_prop("dbConnectionAuthenticationMode", AAZStrType, ".db_connection_authentication_mode")
                metastore_spec.set_prop("dbName", AAZStrType, ".spark_hive_catalog_db_name", typ_kwargs={"flags": {"required": True}})
                metastore_spec.set_prop("dbPasswordSecretName", AAZStrType, ".spark_hive_catalog_db_password_secret")
                metastore_spec.set_prop("dbServerHost", AAZStrType, ".spark_hive_catalog_db_server_name", typ_kwargs={"flags": {"required": True}})
                metastore_spec.set_prop("dbUserName", AAZStrType, ".spark_hive_catalog_db_user_name")
                metastore_spec.set_prop("keyVaultId", AAZStrType, ".spark_hive_catalog_key_vault_id")
                metastore_spec.set_prop("thriftUrl", AAZStrType, ".spark_hive_catalog_thrift_url")

            user_plugins_spec = _builder.get(".properties.clusterProfile.sparkProfile.userPluginsSpec")
            if user_plugins_spec is not None:
                user_plugins_spec.set_prop("plugins", AAZListType, ".plugins")

            plugins = _builder.get(".properties.clusterProfile.sparkProfile.userPluginsSpec.plugins")
            if plugins is not None:
                plugins.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.clusterProfile.sparkProfile.userPluginsSpec.plugins[]")
            if _elements is not None:
                _elements.set_prop("path", AAZStrType, ".path", typ_kwargs={"flags": {"required": True}})

            ssh_profile = _builder.get(".properties.clusterProfile.sshProfile")
            if ssh_profile is not None:
                ssh_profile.set_prop("count", AAZIntType, ".ssh_profile_count", typ_kwargs={"flags": {"required": True}})
                ssh_profile.set_prop("vmSize", AAZStrType, ".vm_size")

            stub_profile = _builder.get(".properties.clusterProfile.stubProfile")
            if stub_profile is not None:
                stub_profile.set_anytype_elements(".")

            trino_profile = _builder.get(".properties.clusterProfile.trinoProfile")
            if trino_profile is not None:
                trino_profile.set_prop("catalogOptions", AAZObjectType)
                trino_profile.set_prop("coordinator", AAZObjectType)
                trino_profile.set_prop("userPluginsSpec", AAZObjectType, ".trino_profile_user_plugins_plugin_spec")
                trino_profile.set_prop("userTelemetrySpec", AAZObjectType, ".trino_profile_user_plugins_telemetry_spec")
                trino_profile.set_prop("worker", AAZObjectType)

            catalog_options = _builder.get(".properties.clusterProfile.trinoProfile.catalogOptions")
            if catalog_options is not None:
                catalog_options.set_prop("hive", AAZListType, ".trino_hive_catalog")

            hive = _builder.get(".properties.clusterProfile.trinoProfile.catalogOptions.hive")
            if hive is not None:
                hive.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.clusterProfile.trinoProfile.catalogOptions.hive[]")
            if _elements is not None:
                _elements.set_prop("catalogName", AAZStrType, ".catalog_name", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("metastoreDbConnectionAuthenticationMode", AAZStrType, ".metastore_db_connection_authentication_mode")
                _elements.set_prop("metastoreDbConnectionPasswordSecret", AAZStrType, ".metastore_db_connection_password_secret")
                _elements.set_prop("metastoreDbConnectionURL", AAZStrType, ".metastore_db_connection_url", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("metastoreDbConnectionUserName", AAZStrType, ".metastore_db_connection_user_name")
                _elements.set_prop("metastoreWarehouseDir", AAZStrType, ".metastore_warehouse_dir", typ_kwargs={"flags": {"required": True}})

            coordinator = _builder.get(".properties.clusterProfile.trinoProfile.coordinator")
            if coordinator is not None:
                coordinator.set_prop("debug", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})
                coordinator.set_prop("highAvailabilityEnabled", AAZBoolType, ".coordinator_debug_enabled")

            debug = _builder.get(".properties.clusterProfile.trinoProfile.coordinator.debug")
            if debug is not None:
                debug.set_prop("enable", AAZBoolType, ".coordinator_high_availability_enabled")
                debug.set_prop("port", AAZIntType, ".coordinator_debug_port")
                debug.set_prop("suspend", AAZBoolType, ".coordinator_debug_suspend")

            user_plugins_spec = _builder.get(".properties.clusterProfile.trinoProfile.userPluginsSpec")
            if user_plugins_spec is not None:
                user_plugins_spec.set_prop("plugins", AAZListType, ".plugins")

            plugins = _builder.get(".properties.clusterProfile.trinoProfile.userPluginsSpec.plugins")
            if plugins is not None:
                plugins.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.clusterProfile.trinoProfile.userPluginsSpec.plugins[]")
            if _elements is not None:
                _elements.set_prop("enabled", AAZBoolType, ".enabled")
                _elements.set_prop("name", AAZStrType, ".name")
                _elements.set_prop("path", AAZStrType, ".path")

            user_telemetry_spec = _builder.get(".properties.clusterProfile.trinoProfile.userTelemetrySpec")
            if user_telemetry_spec is not None:
                user_telemetry_spec.set_prop("storage", AAZObjectType, ".storage")

            storage = _builder.get(".properties.clusterProfile.trinoProfile.userTelemetrySpec.storage")
            if storage is not None:
                storage.set_prop("hivecatalogName", AAZStrType, ".hivecatalog_name")
                storage.set_prop("hivecatalogSchema", AAZStrType, ".hivecatalog_schema")
                storage.set_prop("partitionRetentionInDays", AAZIntType, ".partition_retention_in_days")
                storage.set_prop("path", AAZStrType, ".path")

            worker = _builder.get(".properties.clusterProfile.trinoProfile.worker")
            if worker is not None:
                worker.set_prop("debug", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}})

            debug = _builder.get(".properties.clusterProfile.trinoProfile.worker.debug")
            if debug is not None:
                debug.set_prop("enable", AAZBoolType, ".enable_worker_debug")
                debug.set_prop("port", AAZIntType, ".worker_debug_port")
                debug.set_prop("suspend", AAZBoolType, ".worker_debug_suspend")

            compute_profile = _builder.get(".properties.computeProfile")
            if compute_profile is not None:
                compute_profile.set_prop("availabilityZones", AAZListType, ".availability_zones")
                compute_profile.set_prop("nodes", AAZListType, ".nodes", typ_kwargs={"flags": {"required": True}})

            availability_zones = _builder.get(".properties.computeProfile.availabilityZones")
            if availability_zones is not None:
                availability_zones.set_elements(AAZStrType, ".")

            nodes = _builder.get(".properties.computeProfile.nodes")
            if nodes is not None:
                nodes.set_elements(AAZObjectType, ".")

            _elements = _builder.get(".properties.computeProfile.nodes[]")
            if _elements is not None:
                _elements.set_prop("count", AAZIntType, ".count", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("type", AAZStrType, ".type", typ_kwargs={"flags": {"required": True}})
                _elements.set_prop("vmSize", AAZStrType, ".vm_size", typ_kwargs={"flags": {"required": True}})

            tags = _builder.get(".tags")
            if tags is not None:
                tags.set_elements(AAZStrType, ".")

            return _instance_value