func WorkflowTemplateToUnstructured()

in unstructured/google/dataproc/workflow_template.go [26:935]


func WorkflowTemplateToUnstructured(r *dclService.WorkflowTemplate) *unstructured.Resource {
	u := &unstructured.Resource{
		STV: unstructured.ServiceTypeVersion{
			Service: "dataproc",
			Version: "ga",
			Type:    "WorkflowTemplate",
		},
		Object: make(map[string]interface{}),
	}
	if r.CreateTime != nil {
		u.Object["createTime"] = *r.CreateTime
	}
	if r.DagTimeout != nil {
		u.Object["dagTimeout"] = *r.DagTimeout
	}
	if r.EncryptionConfig != nil && r.EncryptionConfig != dclService.EmptyWorkflowTemplateEncryptionConfig {
		rEncryptionConfig := make(map[string]interface{})
		if r.EncryptionConfig.KmsKey != nil {
			rEncryptionConfig["kmsKey"] = *r.EncryptionConfig.KmsKey
		}
		u.Object["encryptionConfig"] = rEncryptionConfig
	}
	var rJobs []interface{}
	for _, rJobsVal := range r.Jobs {
		rJobsObject := make(map[string]interface{})
		if rJobsVal.HadoopJob != nil && rJobsVal.HadoopJob != dclService.EmptyWorkflowTemplateJobsHadoopJob {
			rJobsValHadoopJob := make(map[string]interface{})
			var rJobsValHadoopJobArchiveUris []interface{}
			for _, rJobsValHadoopJobArchiveUrisVal := range rJobsVal.HadoopJob.ArchiveUris {
				rJobsValHadoopJobArchiveUris = append(rJobsValHadoopJobArchiveUris, rJobsValHadoopJobArchiveUrisVal)
			}
			rJobsValHadoopJob["archiveUris"] = rJobsValHadoopJobArchiveUris
			var rJobsValHadoopJobArgs []interface{}
			for _, rJobsValHadoopJobArgsVal := range rJobsVal.HadoopJob.Args {
				rJobsValHadoopJobArgs = append(rJobsValHadoopJobArgs, rJobsValHadoopJobArgsVal)
			}
			rJobsValHadoopJob["args"] = rJobsValHadoopJobArgs
			var rJobsValHadoopJobFileUris []interface{}
			for _, rJobsValHadoopJobFileUrisVal := range rJobsVal.HadoopJob.FileUris {
				rJobsValHadoopJobFileUris = append(rJobsValHadoopJobFileUris, rJobsValHadoopJobFileUrisVal)
			}
			rJobsValHadoopJob["fileUris"] = rJobsValHadoopJobFileUris
			var rJobsValHadoopJobJarFileUris []interface{}
			for _, rJobsValHadoopJobJarFileUrisVal := range rJobsVal.HadoopJob.JarFileUris {
				rJobsValHadoopJobJarFileUris = append(rJobsValHadoopJobJarFileUris, rJobsValHadoopJobJarFileUrisVal)
			}
			rJobsValHadoopJob["jarFileUris"] = rJobsValHadoopJobJarFileUris
			if rJobsVal.HadoopJob.LoggingConfig != nil && rJobsVal.HadoopJob.LoggingConfig != dclService.EmptyWorkflowTemplateJobsHadoopJobLoggingConfig {
				rJobsValHadoopJobLoggingConfig := make(map[string]interface{})
				if rJobsVal.HadoopJob.LoggingConfig.DriverLogLevels != nil {
					rJobsValHadoopJobLoggingConfigDriverLogLevels := make(map[string]interface{})
					for k, v := range rJobsVal.HadoopJob.LoggingConfig.DriverLogLevels {
						rJobsValHadoopJobLoggingConfigDriverLogLevels[k] = v
					}
					rJobsValHadoopJobLoggingConfig["driverLogLevels"] = rJobsValHadoopJobLoggingConfigDriverLogLevels
				}
				rJobsValHadoopJob["loggingConfig"] = rJobsValHadoopJobLoggingConfig
			}
			if rJobsVal.HadoopJob.MainClass != nil {
				rJobsValHadoopJob["mainClass"] = *rJobsVal.HadoopJob.MainClass
			}
			if rJobsVal.HadoopJob.MainJarFileUri != nil {
				rJobsValHadoopJob["mainJarFileUri"] = *rJobsVal.HadoopJob.MainJarFileUri
			}
			if rJobsVal.HadoopJob.Properties != nil {
				rJobsValHadoopJobProperties := make(map[string]interface{})
				for k, v := range rJobsVal.HadoopJob.Properties {
					rJobsValHadoopJobProperties[k] = v
				}
				rJobsValHadoopJob["properties"] = rJobsValHadoopJobProperties
			}
			rJobsObject["hadoopJob"] = rJobsValHadoopJob
		}
		if rJobsVal.HiveJob != nil && rJobsVal.HiveJob != dclService.EmptyWorkflowTemplateJobsHiveJob {
			rJobsValHiveJob := make(map[string]interface{})
			if rJobsVal.HiveJob.ContinueOnFailure != nil {
				rJobsValHiveJob["continueOnFailure"] = *rJobsVal.HiveJob.ContinueOnFailure
			}
			var rJobsValHiveJobJarFileUris []interface{}
			for _, rJobsValHiveJobJarFileUrisVal := range rJobsVal.HiveJob.JarFileUris {
				rJobsValHiveJobJarFileUris = append(rJobsValHiveJobJarFileUris, rJobsValHiveJobJarFileUrisVal)
			}
			rJobsValHiveJob["jarFileUris"] = rJobsValHiveJobJarFileUris
			if rJobsVal.HiveJob.Properties != nil {
				rJobsValHiveJobProperties := make(map[string]interface{})
				for k, v := range rJobsVal.HiveJob.Properties {
					rJobsValHiveJobProperties[k] = v
				}
				rJobsValHiveJob["properties"] = rJobsValHiveJobProperties
			}
			if rJobsVal.HiveJob.QueryFileUri != nil {
				rJobsValHiveJob["queryFileUri"] = *rJobsVal.HiveJob.QueryFileUri
			}
			if rJobsVal.HiveJob.QueryList != nil && rJobsVal.HiveJob.QueryList != dclService.EmptyWorkflowTemplateJobsHiveJobQueryList {
				rJobsValHiveJobQueryList := make(map[string]interface{})
				var rJobsValHiveJobQueryListQueries []interface{}
				for _, rJobsValHiveJobQueryListQueriesVal := range rJobsVal.HiveJob.QueryList.Queries {
					rJobsValHiveJobQueryListQueries = append(rJobsValHiveJobQueryListQueries, rJobsValHiveJobQueryListQueriesVal)
				}
				rJobsValHiveJobQueryList["queries"] = rJobsValHiveJobQueryListQueries
				rJobsValHiveJob["queryList"] = rJobsValHiveJobQueryList
			}
			if rJobsVal.HiveJob.ScriptVariables != nil {
				rJobsValHiveJobScriptVariables := make(map[string]interface{})
				for k, v := range rJobsVal.HiveJob.ScriptVariables {
					rJobsValHiveJobScriptVariables[k] = v
				}
				rJobsValHiveJob["scriptVariables"] = rJobsValHiveJobScriptVariables
			}
			rJobsObject["hiveJob"] = rJobsValHiveJob
		}
		if rJobsVal.Labels != nil {
			rJobsValLabels := make(map[string]interface{})
			for k, v := range rJobsVal.Labels {
				rJobsValLabels[k] = v
			}
			rJobsObject["labels"] = rJobsValLabels
		}
		if rJobsVal.PigJob != nil && rJobsVal.PigJob != dclService.EmptyWorkflowTemplateJobsPigJob {
			rJobsValPigJob := make(map[string]interface{})
			if rJobsVal.PigJob.ContinueOnFailure != nil {
				rJobsValPigJob["continueOnFailure"] = *rJobsVal.PigJob.ContinueOnFailure
			}
			var rJobsValPigJobJarFileUris []interface{}
			for _, rJobsValPigJobJarFileUrisVal := range rJobsVal.PigJob.JarFileUris {
				rJobsValPigJobJarFileUris = append(rJobsValPigJobJarFileUris, rJobsValPigJobJarFileUrisVal)
			}
			rJobsValPigJob["jarFileUris"] = rJobsValPigJobJarFileUris
			if rJobsVal.PigJob.LoggingConfig != nil && rJobsVal.PigJob.LoggingConfig != dclService.EmptyWorkflowTemplateJobsPigJobLoggingConfig {
				rJobsValPigJobLoggingConfig := make(map[string]interface{})
				if rJobsVal.PigJob.LoggingConfig.DriverLogLevels != nil {
					rJobsValPigJobLoggingConfigDriverLogLevels := make(map[string]interface{})
					for k, v := range rJobsVal.PigJob.LoggingConfig.DriverLogLevels {
						rJobsValPigJobLoggingConfigDriverLogLevels[k] = v
					}
					rJobsValPigJobLoggingConfig["driverLogLevels"] = rJobsValPigJobLoggingConfigDriverLogLevels
				}
				rJobsValPigJob["loggingConfig"] = rJobsValPigJobLoggingConfig
			}
			if rJobsVal.PigJob.Properties != nil {
				rJobsValPigJobProperties := make(map[string]interface{})
				for k, v := range rJobsVal.PigJob.Properties {
					rJobsValPigJobProperties[k] = v
				}
				rJobsValPigJob["properties"] = rJobsValPigJobProperties
			}
			if rJobsVal.PigJob.QueryFileUri != nil {
				rJobsValPigJob["queryFileUri"] = *rJobsVal.PigJob.QueryFileUri
			}
			if rJobsVal.PigJob.QueryList != nil && rJobsVal.PigJob.QueryList != dclService.EmptyWorkflowTemplateJobsPigJobQueryList {
				rJobsValPigJobQueryList := make(map[string]interface{})
				var rJobsValPigJobQueryListQueries []interface{}
				for _, rJobsValPigJobQueryListQueriesVal := range rJobsVal.PigJob.QueryList.Queries {
					rJobsValPigJobQueryListQueries = append(rJobsValPigJobQueryListQueries, rJobsValPigJobQueryListQueriesVal)
				}
				rJobsValPigJobQueryList["queries"] = rJobsValPigJobQueryListQueries
				rJobsValPigJob["queryList"] = rJobsValPigJobQueryList
			}
			if rJobsVal.PigJob.ScriptVariables != nil {
				rJobsValPigJobScriptVariables := make(map[string]interface{})
				for k, v := range rJobsVal.PigJob.ScriptVariables {
					rJobsValPigJobScriptVariables[k] = v
				}
				rJobsValPigJob["scriptVariables"] = rJobsValPigJobScriptVariables
			}
			rJobsObject["pigJob"] = rJobsValPigJob
		}
		var rJobsValPrerequisiteStepIds []interface{}
		for _, rJobsValPrerequisiteStepIdsVal := range rJobsVal.PrerequisiteStepIds {
			rJobsValPrerequisiteStepIds = append(rJobsValPrerequisiteStepIds, rJobsValPrerequisiteStepIdsVal)
		}
		rJobsObject["prerequisiteStepIds"] = rJobsValPrerequisiteStepIds
		if rJobsVal.PrestoJob != nil && rJobsVal.PrestoJob != dclService.EmptyWorkflowTemplateJobsPrestoJob {
			rJobsValPrestoJob := make(map[string]interface{})
			var rJobsValPrestoJobClientTags []interface{}
			for _, rJobsValPrestoJobClientTagsVal := range rJobsVal.PrestoJob.ClientTags {
				rJobsValPrestoJobClientTags = append(rJobsValPrestoJobClientTags, rJobsValPrestoJobClientTagsVal)
			}
			rJobsValPrestoJob["clientTags"] = rJobsValPrestoJobClientTags
			if rJobsVal.PrestoJob.ContinueOnFailure != nil {
				rJobsValPrestoJob["continueOnFailure"] = *rJobsVal.PrestoJob.ContinueOnFailure
			}
			if rJobsVal.PrestoJob.LoggingConfig != nil && rJobsVal.PrestoJob.LoggingConfig != dclService.EmptyWorkflowTemplateJobsPrestoJobLoggingConfig {
				rJobsValPrestoJobLoggingConfig := make(map[string]interface{})
				if rJobsVal.PrestoJob.LoggingConfig.DriverLogLevels != nil {
					rJobsValPrestoJobLoggingConfigDriverLogLevels := make(map[string]interface{})
					for k, v := range rJobsVal.PrestoJob.LoggingConfig.DriverLogLevels {
						rJobsValPrestoJobLoggingConfigDriverLogLevels[k] = v
					}
					rJobsValPrestoJobLoggingConfig["driverLogLevels"] = rJobsValPrestoJobLoggingConfigDriverLogLevels
				}
				rJobsValPrestoJob["loggingConfig"] = rJobsValPrestoJobLoggingConfig
			}
			if rJobsVal.PrestoJob.OutputFormat != nil {
				rJobsValPrestoJob["outputFormat"] = *rJobsVal.PrestoJob.OutputFormat
			}
			if rJobsVal.PrestoJob.Properties != nil {
				rJobsValPrestoJobProperties := make(map[string]interface{})
				for k, v := range rJobsVal.PrestoJob.Properties {
					rJobsValPrestoJobProperties[k] = v
				}
				rJobsValPrestoJob["properties"] = rJobsValPrestoJobProperties
			}
			if rJobsVal.PrestoJob.QueryFileUri != nil {
				rJobsValPrestoJob["queryFileUri"] = *rJobsVal.PrestoJob.QueryFileUri
			}
			if rJobsVal.PrestoJob.QueryList != nil && rJobsVal.PrestoJob.QueryList != dclService.EmptyWorkflowTemplateJobsPrestoJobQueryList {
				rJobsValPrestoJobQueryList := make(map[string]interface{})
				var rJobsValPrestoJobQueryListQueries []interface{}
				for _, rJobsValPrestoJobQueryListQueriesVal := range rJobsVal.PrestoJob.QueryList.Queries {
					rJobsValPrestoJobQueryListQueries = append(rJobsValPrestoJobQueryListQueries, rJobsValPrestoJobQueryListQueriesVal)
				}
				rJobsValPrestoJobQueryList["queries"] = rJobsValPrestoJobQueryListQueries
				rJobsValPrestoJob["queryList"] = rJobsValPrestoJobQueryList
			}
			rJobsObject["prestoJob"] = rJobsValPrestoJob
		}
		if rJobsVal.PysparkJob != nil && rJobsVal.PysparkJob != dclService.EmptyWorkflowTemplateJobsPysparkJob {
			rJobsValPysparkJob := make(map[string]interface{})
			var rJobsValPysparkJobArchiveUris []interface{}
			for _, rJobsValPysparkJobArchiveUrisVal := range rJobsVal.PysparkJob.ArchiveUris {
				rJobsValPysparkJobArchiveUris = append(rJobsValPysparkJobArchiveUris, rJobsValPysparkJobArchiveUrisVal)
			}
			rJobsValPysparkJob["archiveUris"] = rJobsValPysparkJobArchiveUris
			var rJobsValPysparkJobArgs []interface{}
			for _, rJobsValPysparkJobArgsVal := range rJobsVal.PysparkJob.Args {
				rJobsValPysparkJobArgs = append(rJobsValPysparkJobArgs, rJobsValPysparkJobArgsVal)
			}
			rJobsValPysparkJob["args"] = rJobsValPysparkJobArgs
			var rJobsValPysparkJobFileUris []interface{}
			for _, rJobsValPysparkJobFileUrisVal := range rJobsVal.PysparkJob.FileUris {
				rJobsValPysparkJobFileUris = append(rJobsValPysparkJobFileUris, rJobsValPysparkJobFileUrisVal)
			}
			rJobsValPysparkJob["fileUris"] = rJobsValPysparkJobFileUris
			var rJobsValPysparkJobJarFileUris []interface{}
			for _, rJobsValPysparkJobJarFileUrisVal := range rJobsVal.PysparkJob.JarFileUris {
				rJobsValPysparkJobJarFileUris = append(rJobsValPysparkJobJarFileUris, rJobsValPysparkJobJarFileUrisVal)
			}
			rJobsValPysparkJob["jarFileUris"] = rJobsValPysparkJobJarFileUris
			if rJobsVal.PysparkJob.LoggingConfig != nil && rJobsVal.PysparkJob.LoggingConfig != dclService.EmptyWorkflowTemplateJobsPysparkJobLoggingConfig {
				rJobsValPysparkJobLoggingConfig := make(map[string]interface{})
				if rJobsVal.PysparkJob.LoggingConfig.DriverLogLevels != nil {
					rJobsValPysparkJobLoggingConfigDriverLogLevels := make(map[string]interface{})
					for k, v := range rJobsVal.PysparkJob.LoggingConfig.DriverLogLevels {
						rJobsValPysparkJobLoggingConfigDriverLogLevels[k] = v
					}
					rJobsValPysparkJobLoggingConfig["driverLogLevels"] = rJobsValPysparkJobLoggingConfigDriverLogLevels
				}
				rJobsValPysparkJob["loggingConfig"] = rJobsValPysparkJobLoggingConfig
			}
			if rJobsVal.PysparkJob.MainPythonFileUri != nil {
				rJobsValPysparkJob["mainPythonFileUri"] = *rJobsVal.PysparkJob.MainPythonFileUri
			}
			if rJobsVal.PysparkJob.Properties != nil {
				rJobsValPysparkJobProperties := make(map[string]interface{})
				for k, v := range rJobsVal.PysparkJob.Properties {
					rJobsValPysparkJobProperties[k] = v
				}
				rJobsValPysparkJob["properties"] = rJobsValPysparkJobProperties
			}
			var rJobsValPysparkJobPythonFileUris []interface{}
			for _, rJobsValPysparkJobPythonFileUrisVal := range rJobsVal.PysparkJob.PythonFileUris {
				rJobsValPysparkJobPythonFileUris = append(rJobsValPysparkJobPythonFileUris, rJobsValPysparkJobPythonFileUrisVal)
			}
			rJobsValPysparkJob["pythonFileUris"] = rJobsValPysparkJobPythonFileUris
			rJobsObject["pysparkJob"] = rJobsValPysparkJob
		}
		if rJobsVal.Scheduling != nil && rJobsVal.Scheduling != dclService.EmptyWorkflowTemplateJobsScheduling {
			rJobsValScheduling := make(map[string]interface{})
			if rJobsVal.Scheduling.MaxFailuresPerHour != nil {
				rJobsValScheduling["maxFailuresPerHour"] = *rJobsVal.Scheduling.MaxFailuresPerHour
			}
			if rJobsVal.Scheduling.MaxFailuresTotal != nil {
				rJobsValScheduling["maxFailuresTotal"] = *rJobsVal.Scheduling.MaxFailuresTotal
			}
			rJobsObject["scheduling"] = rJobsValScheduling
		}
		if rJobsVal.SparkJob != nil && rJobsVal.SparkJob != dclService.EmptyWorkflowTemplateJobsSparkJob {
			rJobsValSparkJob := make(map[string]interface{})
			var rJobsValSparkJobArchiveUris []interface{}
			for _, rJobsValSparkJobArchiveUrisVal := range rJobsVal.SparkJob.ArchiveUris {
				rJobsValSparkJobArchiveUris = append(rJobsValSparkJobArchiveUris, rJobsValSparkJobArchiveUrisVal)
			}
			rJobsValSparkJob["archiveUris"] = rJobsValSparkJobArchiveUris
			var rJobsValSparkJobArgs []interface{}
			for _, rJobsValSparkJobArgsVal := range rJobsVal.SparkJob.Args {
				rJobsValSparkJobArgs = append(rJobsValSparkJobArgs, rJobsValSparkJobArgsVal)
			}
			rJobsValSparkJob["args"] = rJobsValSparkJobArgs
			var rJobsValSparkJobFileUris []interface{}
			for _, rJobsValSparkJobFileUrisVal := range rJobsVal.SparkJob.FileUris {
				rJobsValSparkJobFileUris = append(rJobsValSparkJobFileUris, rJobsValSparkJobFileUrisVal)
			}
			rJobsValSparkJob["fileUris"] = rJobsValSparkJobFileUris
			var rJobsValSparkJobJarFileUris []interface{}
			for _, rJobsValSparkJobJarFileUrisVal := range rJobsVal.SparkJob.JarFileUris {
				rJobsValSparkJobJarFileUris = append(rJobsValSparkJobJarFileUris, rJobsValSparkJobJarFileUrisVal)
			}
			rJobsValSparkJob["jarFileUris"] = rJobsValSparkJobJarFileUris
			if rJobsVal.SparkJob.LoggingConfig != nil && rJobsVal.SparkJob.LoggingConfig != dclService.EmptyWorkflowTemplateJobsSparkJobLoggingConfig {
				rJobsValSparkJobLoggingConfig := make(map[string]interface{})
				if rJobsVal.SparkJob.LoggingConfig.DriverLogLevels != nil {
					rJobsValSparkJobLoggingConfigDriverLogLevels := make(map[string]interface{})
					for k, v := range rJobsVal.SparkJob.LoggingConfig.DriverLogLevels {
						rJobsValSparkJobLoggingConfigDriverLogLevels[k] = v
					}
					rJobsValSparkJobLoggingConfig["driverLogLevels"] = rJobsValSparkJobLoggingConfigDriverLogLevels
				}
				rJobsValSparkJob["loggingConfig"] = rJobsValSparkJobLoggingConfig
			}
			if rJobsVal.SparkJob.MainClass != nil {
				rJobsValSparkJob["mainClass"] = *rJobsVal.SparkJob.MainClass
			}
			if rJobsVal.SparkJob.MainJarFileUri != nil {
				rJobsValSparkJob["mainJarFileUri"] = *rJobsVal.SparkJob.MainJarFileUri
			}
			if rJobsVal.SparkJob.Properties != nil {
				rJobsValSparkJobProperties := make(map[string]interface{})
				for k, v := range rJobsVal.SparkJob.Properties {
					rJobsValSparkJobProperties[k] = v
				}
				rJobsValSparkJob["properties"] = rJobsValSparkJobProperties
			}
			rJobsObject["sparkJob"] = rJobsValSparkJob
		}
		if rJobsVal.SparkRJob != nil && rJobsVal.SparkRJob != dclService.EmptyWorkflowTemplateJobsSparkRJob {
			rJobsValSparkRJob := make(map[string]interface{})
			var rJobsValSparkRJobArchiveUris []interface{}
			for _, rJobsValSparkRJobArchiveUrisVal := range rJobsVal.SparkRJob.ArchiveUris {
				rJobsValSparkRJobArchiveUris = append(rJobsValSparkRJobArchiveUris, rJobsValSparkRJobArchiveUrisVal)
			}
			rJobsValSparkRJob["archiveUris"] = rJobsValSparkRJobArchiveUris
			var rJobsValSparkRJobArgs []interface{}
			for _, rJobsValSparkRJobArgsVal := range rJobsVal.SparkRJob.Args {
				rJobsValSparkRJobArgs = append(rJobsValSparkRJobArgs, rJobsValSparkRJobArgsVal)
			}
			rJobsValSparkRJob["args"] = rJobsValSparkRJobArgs
			var rJobsValSparkRJobFileUris []interface{}
			for _, rJobsValSparkRJobFileUrisVal := range rJobsVal.SparkRJob.FileUris {
				rJobsValSparkRJobFileUris = append(rJobsValSparkRJobFileUris, rJobsValSparkRJobFileUrisVal)
			}
			rJobsValSparkRJob["fileUris"] = rJobsValSparkRJobFileUris
			if rJobsVal.SparkRJob.LoggingConfig != nil && rJobsVal.SparkRJob.LoggingConfig != dclService.EmptyWorkflowTemplateJobsSparkRJobLoggingConfig {
				rJobsValSparkRJobLoggingConfig := make(map[string]interface{})
				if rJobsVal.SparkRJob.LoggingConfig.DriverLogLevels != nil {
					rJobsValSparkRJobLoggingConfigDriverLogLevels := make(map[string]interface{})
					for k, v := range rJobsVal.SparkRJob.LoggingConfig.DriverLogLevels {
						rJobsValSparkRJobLoggingConfigDriverLogLevels[k] = v
					}
					rJobsValSparkRJobLoggingConfig["driverLogLevels"] = rJobsValSparkRJobLoggingConfigDriverLogLevels
				}
				rJobsValSparkRJob["loggingConfig"] = rJobsValSparkRJobLoggingConfig
			}
			if rJobsVal.SparkRJob.MainRFileUri != nil {
				rJobsValSparkRJob["mainRFileUri"] = *rJobsVal.SparkRJob.MainRFileUri
			}
			if rJobsVal.SparkRJob.Properties != nil {
				rJobsValSparkRJobProperties := make(map[string]interface{})
				for k, v := range rJobsVal.SparkRJob.Properties {
					rJobsValSparkRJobProperties[k] = v
				}
				rJobsValSparkRJob["properties"] = rJobsValSparkRJobProperties
			}
			rJobsObject["sparkRJob"] = rJobsValSparkRJob
		}
		if rJobsVal.SparkSqlJob != nil && rJobsVal.SparkSqlJob != dclService.EmptyWorkflowTemplateJobsSparkSqlJob {
			rJobsValSparkSqlJob := make(map[string]interface{})
			var rJobsValSparkSqlJobJarFileUris []interface{}
			for _, rJobsValSparkSqlJobJarFileUrisVal := range rJobsVal.SparkSqlJob.JarFileUris {
				rJobsValSparkSqlJobJarFileUris = append(rJobsValSparkSqlJobJarFileUris, rJobsValSparkSqlJobJarFileUrisVal)
			}
			rJobsValSparkSqlJob["jarFileUris"] = rJobsValSparkSqlJobJarFileUris
			if rJobsVal.SparkSqlJob.LoggingConfig != nil && rJobsVal.SparkSqlJob.LoggingConfig != dclService.EmptyWorkflowTemplateJobsSparkSqlJobLoggingConfig {
				rJobsValSparkSqlJobLoggingConfig := make(map[string]interface{})
				if rJobsVal.SparkSqlJob.LoggingConfig.DriverLogLevels != nil {
					rJobsValSparkSqlJobLoggingConfigDriverLogLevels := make(map[string]interface{})
					for k, v := range rJobsVal.SparkSqlJob.LoggingConfig.DriverLogLevels {
						rJobsValSparkSqlJobLoggingConfigDriverLogLevels[k] = v
					}
					rJobsValSparkSqlJobLoggingConfig["driverLogLevels"] = rJobsValSparkSqlJobLoggingConfigDriverLogLevels
				}
				rJobsValSparkSqlJob["loggingConfig"] = rJobsValSparkSqlJobLoggingConfig
			}
			if rJobsVal.SparkSqlJob.Properties != nil {
				rJobsValSparkSqlJobProperties := make(map[string]interface{})
				for k, v := range rJobsVal.SparkSqlJob.Properties {
					rJobsValSparkSqlJobProperties[k] = v
				}
				rJobsValSparkSqlJob["properties"] = rJobsValSparkSqlJobProperties
			}
			if rJobsVal.SparkSqlJob.QueryFileUri != nil {
				rJobsValSparkSqlJob["queryFileUri"] = *rJobsVal.SparkSqlJob.QueryFileUri
			}
			if rJobsVal.SparkSqlJob.QueryList != nil && rJobsVal.SparkSqlJob.QueryList != dclService.EmptyWorkflowTemplateJobsSparkSqlJobQueryList {
				rJobsValSparkSqlJobQueryList := make(map[string]interface{})
				var rJobsValSparkSqlJobQueryListQueries []interface{}
				for _, rJobsValSparkSqlJobQueryListQueriesVal := range rJobsVal.SparkSqlJob.QueryList.Queries {
					rJobsValSparkSqlJobQueryListQueries = append(rJobsValSparkSqlJobQueryListQueries, rJobsValSparkSqlJobQueryListQueriesVal)
				}
				rJobsValSparkSqlJobQueryList["queries"] = rJobsValSparkSqlJobQueryListQueries
				rJobsValSparkSqlJob["queryList"] = rJobsValSparkSqlJobQueryList
			}
			if rJobsVal.SparkSqlJob.ScriptVariables != nil {
				rJobsValSparkSqlJobScriptVariables := make(map[string]interface{})
				for k, v := range rJobsVal.SparkSqlJob.ScriptVariables {
					rJobsValSparkSqlJobScriptVariables[k] = v
				}
				rJobsValSparkSqlJob["scriptVariables"] = rJobsValSparkSqlJobScriptVariables
			}
			rJobsObject["sparkSqlJob"] = rJobsValSparkSqlJob
		}
		if rJobsVal.StepId != nil {
			rJobsObject["stepId"] = *rJobsVal.StepId
		}
		rJobs = append(rJobs, rJobsObject)
	}
	u.Object["jobs"] = rJobs
	if r.Labels != nil {
		rLabels := make(map[string]interface{})
		for k, v := range r.Labels {
			rLabels[k] = v
		}
		u.Object["labels"] = rLabels
	}
	if r.Location != nil {
		u.Object["location"] = *r.Location
	}
	if r.Name != nil {
		u.Object["name"] = *r.Name
	}
	var rParameters []interface{}
	for _, rParametersVal := range r.Parameters {
		rParametersObject := make(map[string]interface{})
		if rParametersVal.Description != nil {
			rParametersObject["description"] = *rParametersVal.Description
		}
		var rParametersValFields []interface{}
		for _, rParametersValFieldsVal := range rParametersVal.Fields {
			rParametersValFields = append(rParametersValFields, rParametersValFieldsVal)
		}
		rParametersObject["fields"] = rParametersValFields
		if rParametersVal.Name != nil {
			rParametersObject["name"] = *rParametersVal.Name
		}
		if rParametersVal.Validation != nil && rParametersVal.Validation != dclService.EmptyWorkflowTemplateParametersValidation {
			rParametersValValidation := make(map[string]interface{})
			if rParametersVal.Validation.Regex != nil && rParametersVal.Validation.Regex != dclService.EmptyWorkflowTemplateParametersValidationRegex {
				rParametersValValidationRegex := make(map[string]interface{})
				var rParametersValValidationRegexRegexes []interface{}
				for _, rParametersValValidationRegexRegexesVal := range rParametersVal.Validation.Regex.Regexes {
					rParametersValValidationRegexRegexes = append(rParametersValValidationRegexRegexes, rParametersValValidationRegexRegexesVal)
				}
				rParametersValValidationRegex["regexes"] = rParametersValValidationRegexRegexes
				rParametersValValidation["regex"] = rParametersValValidationRegex
			}
			if rParametersVal.Validation.Values != nil && rParametersVal.Validation.Values != dclService.EmptyWorkflowTemplateParametersValidationValues {
				rParametersValValidationValues := make(map[string]interface{})
				var rParametersValValidationValuesValues []interface{}
				for _, rParametersValValidationValuesValuesVal := range rParametersVal.Validation.Values.Values {
					rParametersValValidationValuesValues = append(rParametersValValidationValuesValues, rParametersValValidationValuesValuesVal)
				}
				rParametersValValidationValues["values"] = rParametersValValidationValuesValues
				rParametersValValidation["values"] = rParametersValValidationValues
			}
			rParametersObject["validation"] = rParametersValValidation
		}
		rParameters = append(rParameters, rParametersObject)
	}
	u.Object["parameters"] = rParameters
	if r.Placement != nil && r.Placement != dclService.EmptyWorkflowTemplatePlacement {
		rPlacement := make(map[string]interface{})
		if r.Placement.ClusterSelector != nil && r.Placement.ClusterSelector != dclService.EmptyWorkflowTemplatePlacementClusterSelector {
			rPlacementClusterSelector := make(map[string]interface{})
			if r.Placement.ClusterSelector.ClusterLabels != nil {
				rPlacementClusterSelectorClusterLabels := make(map[string]interface{})
				for k, v := range r.Placement.ClusterSelector.ClusterLabels {
					rPlacementClusterSelectorClusterLabels[k] = v
				}
				rPlacementClusterSelector["clusterLabels"] = rPlacementClusterSelectorClusterLabels
			}
			if r.Placement.ClusterSelector.Zone != nil {
				rPlacementClusterSelector["zone"] = *r.Placement.ClusterSelector.Zone
			}
			rPlacement["clusterSelector"] = rPlacementClusterSelector
		}
		if r.Placement.ManagedCluster != nil && r.Placement.ManagedCluster != dclService.EmptyWorkflowTemplatePlacementManagedCluster {
			rPlacementManagedCluster := make(map[string]interface{})
			if r.Placement.ManagedCluster.ClusterName != nil {
				rPlacementManagedCluster["clusterName"] = *r.Placement.ManagedCluster.ClusterName
			}
			if r.Placement.ManagedCluster.Config != nil && r.Placement.ManagedCluster.Config != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfig {
				rPlacementManagedClusterConfig := make(map[string]interface{})
				if r.Placement.ManagedCluster.Config.AutoscalingConfig != nil && r.Placement.ManagedCluster.Config.AutoscalingConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig {
					rPlacementManagedClusterConfigAutoscalingConfig := make(map[string]interface{})
					if r.Placement.ManagedCluster.Config.AutoscalingConfig.Policy != nil {
						rPlacementManagedClusterConfigAutoscalingConfig["policy"] = *r.Placement.ManagedCluster.Config.AutoscalingConfig.Policy
					}
					rPlacementManagedClusterConfig["autoscalingConfig"] = rPlacementManagedClusterConfigAutoscalingConfig
				}
				if r.Placement.ManagedCluster.Config.EncryptionConfig != nil && r.Placement.ManagedCluster.Config.EncryptionConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig {
					rPlacementManagedClusterConfigEncryptionConfig := make(map[string]interface{})
					if r.Placement.ManagedCluster.Config.EncryptionConfig.GcePdKmsKeyName != nil {
						rPlacementManagedClusterConfigEncryptionConfig["gcePdKmsKeyName"] = *r.Placement.ManagedCluster.Config.EncryptionConfig.GcePdKmsKeyName
					}
					rPlacementManagedClusterConfig["encryptionConfig"] = rPlacementManagedClusterConfigEncryptionConfig
				}
				if r.Placement.ManagedCluster.Config.EndpointConfig != nil && r.Placement.ManagedCluster.Config.EndpointConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigEndpointConfig {
					rPlacementManagedClusterConfigEndpointConfig := make(map[string]interface{})
					if r.Placement.ManagedCluster.Config.EndpointConfig.EnableHttpPortAccess != nil {
						rPlacementManagedClusterConfigEndpointConfig["enableHttpPortAccess"] = *r.Placement.ManagedCluster.Config.EndpointConfig.EnableHttpPortAccess
					}
					if r.Placement.ManagedCluster.Config.EndpointConfig.HttpPorts != nil {
						rPlacementManagedClusterConfigEndpointConfigHttpPorts := make(map[string]interface{})
						for k, v := range r.Placement.ManagedCluster.Config.EndpointConfig.HttpPorts {
							rPlacementManagedClusterConfigEndpointConfigHttpPorts[k] = v
						}
						rPlacementManagedClusterConfigEndpointConfig["httpPorts"] = rPlacementManagedClusterConfigEndpointConfigHttpPorts
					}
					rPlacementManagedClusterConfig["endpointConfig"] = rPlacementManagedClusterConfigEndpointConfig
				}
				if r.Placement.ManagedCluster.Config.GceClusterConfig != nil && r.Placement.ManagedCluster.Config.GceClusterConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig {
					rPlacementManagedClusterConfigGceClusterConfig := make(map[string]interface{})
					if r.Placement.ManagedCluster.Config.GceClusterConfig.InternalIPOnly != nil {
						rPlacementManagedClusterConfigGceClusterConfig["internalIPOnly"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.InternalIPOnly
					}
					if r.Placement.ManagedCluster.Config.GceClusterConfig.Metadata != nil {
						rPlacementManagedClusterConfigGceClusterConfigMetadata := make(map[string]interface{})
						for k, v := range r.Placement.ManagedCluster.Config.GceClusterConfig.Metadata {
							rPlacementManagedClusterConfigGceClusterConfigMetadata[k] = v
						}
						rPlacementManagedClusterConfigGceClusterConfig["metadata"] = rPlacementManagedClusterConfigGceClusterConfigMetadata
					}
					if r.Placement.ManagedCluster.Config.GceClusterConfig.Network != nil {
						rPlacementManagedClusterConfigGceClusterConfig["network"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.Network
					}
					if r.Placement.ManagedCluster.Config.GceClusterConfig.NodeGroupAffinity != nil && r.Placement.ManagedCluster.Config.GceClusterConfig.NodeGroupAffinity != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity {
						rPlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity := make(map[string]interface{})
						if r.Placement.ManagedCluster.Config.GceClusterConfig.NodeGroupAffinity.NodeGroup != nil {
							rPlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity["nodeGroup"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.NodeGroupAffinity.NodeGroup
						}
						rPlacementManagedClusterConfigGceClusterConfig["nodeGroupAffinity"] = rPlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity
					}
					if r.Placement.ManagedCluster.Config.GceClusterConfig.PrivateIPv6GoogleAccess != nil {
						rPlacementManagedClusterConfigGceClusterConfig["privateIPv6GoogleAccess"] = string(*r.Placement.ManagedCluster.Config.GceClusterConfig.PrivateIPv6GoogleAccess)
					}
					if r.Placement.ManagedCluster.Config.GceClusterConfig.ReservationAffinity != nil && r.Placement.ManagedCluster.Config.GceClusterConfig.ReservationAffinity != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity {
						rPlacementManagedClusterConfigGceClusterConfigReservationAffinity := make(map[string]interface{})
						if r.Placement.ManagedCluster.Config.GceClusterConfig.ReservationAffinity.ConsumeReservationType != nil {
							rPlacementManagedClusterConfigGceClusterConfigReservationAffinity["consumeReservationType"] = string(*r.Placement.ManagedCluster.Config.GceClusterConfig.ReservationAffinity.ConsumeReservationType)
						}
						if r.Placement.ManagedCluster.Config.GceClusterConfig.ReservationAffinity.Key != nil {
							rPlacementManagedClusterConfigGceClusterConfigReservationAffinity["key"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.ReservationAffinity.Key
						}
						var rPlacementManagedClusterConfigGceClusterConfigReservationAffinityValues []interface{}
						for _, rPlacementManagedClusterConfigGceClusterConfigReservationAffinityValuesVal := range r.Placement.ManagedCluster.Config.GceClusterConfig.ReservationAffinity.Values {
							rPlacementManagedClusterConfigGceClusterConfigReservationAffinityValues = append(rPlacementManagedClusterConfigGceClusterConfigReservationAffinityValues, rPlacementManagedClusterConfigGceClusterConfigReservationAffinityValuesVal)
						}
						rPlacementManagedClusterConfigGceClusterConfigReservationAffinity["values"] = rPlacementManagedClusterConfigGceClusterConfigReservationAffinityValues
						rPlacementManagedClusterConfigGceClusterConfig["reservationAffinity"] = rPlacementManagedClusterConfigGceClusterConfigReservationAffinity
					}
					if r.Placement.ManagedCluster.Config.GceClusterConfig.ServiceAccount != nil {
						rPlacementManagedClusterConfigGceClusterConfig["serviceAccount"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.ServiceAccount
					}
					var rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopes []interface{}
					for _, rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopesVal := range r.Placement.ManagedCluster.Config.GceClusterConfig.ServiceAccountScopes {
						rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopes = append(rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopes, rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopesVal)
					}
					rPlacementManagedClusterConfigGceClusterConfig["serviceAccountScopes"] = rPlacementManagedClusterConfigGceClusterConfigServiceAccountScopes
					if r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig != nil && r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig {
						rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig := make(map[string]interface{})
						if r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableIntegrityMonitoring != nil {
							rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableIntegrityMonitoring"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableIntegrityMonitoring
						}
						if r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableSecureBoot != nil {
							rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableSecureBoot"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableSecureBoot
						}
						if r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableVtpm != nil {
							rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig["enableVtpm"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.ShieldedInstanceConfig.EnableVtpm
						}
						rPlacementManagedClusterConfigGceClusterConfig["shieldedInstanceConfig"] = rPlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig
					}
					if r.Placement.ManagedCluster.Config.GceClusterConfig.Subnetwork != nil {
						rPlacementManagedClusterConfigGceClusterConfig["subnetwork"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.Subnetwork
					}
					var rPlacementManagedClusterConfigGceClusterConfigTags []interface{}
					for _, rPlacementManagedClusterConfigGceClusterConfigTagsVal := range r.Placement.ManagedCluster.Config.GceClusterConfig.Tags {
						rPlacementManagedClusterConfigGceClusterConfigTags = append(rPlacementManagedClusterConfigGceClusterConfigTags, rPlacementManagedClusterConfigGceClusterConfigTagsVal)
					}
					rPlacementManagedClusterConfigGceClusterConfig["tags"] = rPlacementManagedClusterConfigGceClusterConfigTags
					if r.Placement.ManagedCluster.Config.GceClusterConfig.Zone != nil {
						rPlacementManagedClusterConfigGceClusterConfig["zone"] = *r.Placement.ManagedCluster.Config.GceClusterConfig.Zone
					}
					rPlacementManagedClusterConfig["gceClusterConfig"] = rPlacementManagedClusterConfigGceClusterConfig
				}
				var rPlacementManagedClusterConfigInitializationActions []interface{}
				for _, rPlacementManagedClusterConfigInitializationActionsVal := range r.Placement.ManagedCluster.Config.InitializationActions {
					rPlacementManagedClusterConfigInitializationActionsObject := make(map[string]interface{})
					if rPlacementManagedClusterConfigInitializationActionsVal.ExecutableFile != nil {
						rPlacementManagedClusterConfigInitializationActionsObject["executableFile"] = *rPlacementManagedClusterConfigInitializationActionsVal.ExecutableFile
					}
					if rPlacementManagedClusterConfigInitializationActionsVal.ExecutionTimeout != nil {
						rPlacementManagedClusterConfigInitializationActionsObject["executionTimeout"] = *rPlacementManagedClusterConfigInitializationActionsVal.ExecutionTimeout
					}
					rPlacementManagedClusterConfigInitializationActions = append(rPlacementManagedClusterConfigInitializationActions, rPlacementManagedClusterConfigInitializationActionsObject)
				}
				rPlacementManagedClusterConfig["initializationActions"] = rPlacementManagedClusterConfigInitializationActions
				if r.Placement.ManagedCluster.Config.LifecycleConfig != nil && r.Placement.ManagedCluster.Config.LifecycleConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig {
					rPlacementManagedClusterConfigLifecycleConfig := make(map[string]interface{})
					if r.Placement.ManagedCluster.Config.LifecycleConfig.AutoDeleteTime != nil {
						rPlacementManagedClusterConfigLifecycleConfig["autoDeleteTime"] = *r.Placement.ManagedCluster.Config.LifecycleConfig.AutoDeleteTime
					}
					if r.Placement.ManagedCluster.Config.LifecycleConfig.AutoDeleteTtl != nil {
						rPlacementManagedClusterConfigLifecycleConfig["autoDeleteTtl"] = *r.Placement.ManagedCluster.Config.LifecycleConfig.AutoDeleteTtl
					}
					if r.Placement.ManagedCluster.Config.LifecycleConfig.IdleDeleteTtl != nil {
						rPlacementManagedClusterConfigLifecycleConfig["idleDeleteTtl"] = *r.Placement.ManagedCluster.Config.LifecycleConfig.IdleDeleteTtl
					}
					if r.Placement.ManagedCluster.Config.LifecycleConfig.IdleStartTime != nil {
						rPlacementManagedClusterConfigLifecycleConfig["idleStartTime"] = *r.Placement.ManagedCluster.Config.LifecycleConfig.IdleStartTime
					}
					rPlacementManagedClusterConfig["lifecycleConfig"] = rPlacementManagedClusterConfigLifecycleConfig
				}
				if r.Placement.ManagedCluster.Config.MasterConfig != nil && r.Placement.ManagedCluster.Config.MasterConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfig {
					rPlacementManagedClusterConfigMasterConfig := make(map[string]interface{})
					var rPlacementManagedClusterConfigMasterConfigAccelerators []interface{}
					for _, rPlacementManagedClusterConfigMasterConfigAcceleratorsVal := range r.Placement.ManagedCluster.Config.MasterConfig.Accelerators {
						rPlacementManagedClusterConfigMasterConfigAcceleratorsObject := make(map[string]interface{})
						if rPlacementManagedClusterConfigMasterConfigAcceleratorsVal.AcceleratorCount != nil {
							rPlacementManagedClusterConfigMasterConfigAcceleratorsObject["acceleratorCount"] = *rPlacementManagedClusterConfigMasterConfigAcceleratorsVal.AcceleratorCount
						}
						if rPlacementManagedClusterConfigMasterConfigAcceleratorsVal.AcceleratorType != nil {
							rPlacementManagedClusterConfigMasterConfigAcceleratorsObject["acceleratorType"] = *rPlacementManagedClusterConfigMasterConfigAcceleratorsVal.AcceleratorType
						}
						rPlacementManagedClusterConfigMasterConfigAccelerators = append(rPlacementManagedClusterConfigMasterConfigAccelerators, rPlacementManagedClusterConfigMasterConfigAcceleratorsObject)
					}
					rPlacementManagedClusterConfigMasterConfig["accelerators"] = rPlacementManagedClusterConfigMasterConfigAccelerators
					if r.Placement.ManagedCluster.Config.MasterConfig.DiskConfig != nil && r.Placement.ManagedCluster.Config.MasterConfig.DiskConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig {
						rPlacementManagedClusterConfigMasterConfigDiskConfig := make(map[string]interface{})
						if r.Placement.ManagedCluster.Config.MasterConfig.DiskConfig.BootDiskSizeGb != nil {
							rPlacementManagedClusterConfigMasterConfigDiskConfig["bootDiskSizeGb"] = *r.Placement.ManagedCluster.Config.MasterConfig.DiskConfig.BootDiskSizeGb
						}
						if r.Placement.ManagedCluster.Config.MasterConfig.DiskConfig.BootDiskType != nil {
							rPlacementManagedClusterConfigMasterConfigDiskConfig["bootDiskType"] = *r.Placement.ManagedCluster.Config.MasterConfig.DiskConfig.BootDiskType
						}
						if r.Placement.ManagedCluster.Config.MasterConfig.DiskConfig.NumLocalSsds != nil {
							rPlacementManagedClusterConfigMasterConfigDiskConfig["numLocalSsds"] = *r.Placement.ManagedCluster.Config.MasterConfig.DiskConfig.NumLocalSsds
						}
						rPlacementManagedClusterConfigMasterConfig["diskConfig"] = rPlacementManagedClusterConfigMasterConfigDiskConfig
					}
					if r.Placement.ManagedCluster.Config.MasterConfig.Image != nil {
						rPlacementManagedClusterConfigMasterConfig["image"] = *r.Placement.ManagedCluster.Config.MasterConfig.Image
					}
					var rPlacementManagedClusterConfigMasterConfigInstanceNames []interface{}
					for _, rPlacementManagedClusterConfigMasterConfigInstanceNamesVal := range r.Placement.ManagedCluster.Config.MasterConfig.InstanceNames {
						rPlacementManagedClusterConfigMasterConfigInstanceNames = append(rPlacementManagedClusterConfigMasterConfigInstanceNames, rPlacementManagedClusterConfigMasterConfigInstanceNamesVal)
					}
					rPlacementManagedClusterConfigMasterConfig["instanceNames"] = rPlacementManagedClusterConfigMasterConfigInstanceNames
					if r.Placement.ManagedCluster.Config.MasterConfig.IsPreemptible != nil {
						rPlacementManagedClusterConfigMasterConfig["isPreemptible"] = *r.Placement.ManagedCluster.Config.MasterConfig.IsPreemptible
					}
					if r.Placement.ManagedCluster.Config.MasterConfig.MachineType != nil {
						rPlacementManagedClusterConfigMasterConfig["machineType"] = *r.Placement.ManagedCluster.Config.MasterConfig.MachineType
					}
					if r.Placement.ManagedCluster.Config.MasterConfig.ManagedGroupConfig != nil && r.Placement.ManagedCluster.Config.MasterConfig.ManagedGroupConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig {
						rPlacementManagedClusterConfigMasterConfigManagedGroupConfig := make(map[string]interface{})
						if r.Placement.ManagedCluster.Config.MasterConfig.ManagedGroupConfig.InstanceGroupManagerName != nil {
							rPlacementManagedClusterConfigMasterConfigManagedGroupConfig["instanceGroupManagerName"] = *r.Placement.ManagedCluster.Config.MasterConfig.ManagedGroupConfig.InstanceGroupManagerName
						}
						if r.Placement.ManagedCluster.Config.MasterConfig.ManagedGroupConfig.InstanceTemplateName != nil {
							rPlacementManagedClusterConfigMasterConfigManagedGroupConfig["instanceTemplateName"] = *r.Placement.ManagedCluster.Config.MasterConfig.ManagedGroupConfig.InstanceTemplateName
						}
						rPlacementManagedClusterConfigMasterConfig["managedGroupConfig"] = rPlacementManagedClusterConfigMasterConfigManagedGroupConfig
					}
					if r.Placement.ManagedCluster.Config.MasterConfig.MinCpuPlatform != nil {
						rPlacementManagedClusterConfigMasterConfig["minCpuPlatform"] = *r.Placement.ManagedCluster.Config.MasterConfig.MinCpuPlatform
					}
					if r.Placement.ManagedCluster.Config.MasterConfig.NumInstances != nil {
						rPlacementManagedClusterConfigMasterConfig["numInstances"] = *r.Placement.ManagedCluster.Config.MasterConfig.NumInstances
					}
					if r.Placement.ManagedCluster.Config.MasterConfig.Preemptibility != nil {
						rPlacementManagedClusterConfigMasterConfig["preemptibility"] = string(*r.Placement.ManagedCluster.Config.MasterConfig.Preemptibility)
					}
					rPlacementManagedClusterConfig["masterConfig"] = rPlacementManagedClusterConfigMasterConfig
				}
				if r.Placement.ManagedCluster.Config.SecondaryWorkerConfig != nil && r.Placement.ManagedCluster.Config.SecondaryWorkerConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig {
					rPlacementManagedClusterConfigSecondaryWorkerConfig := make(map[string]interface{})
					var rPlacementManagedClusterConfigSecondaryWorkerConfigAccelerators []interface{}
					for _, rPlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsVal := range r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.Accelerators {
						rPlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsObject := make(map[string]interface{})
						if rPlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsVal.AcceleratorCount != nil {
							rPlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsObject["acceleratorCount"] = *rPlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsVal.AcceleratorCount
						}
						if rPlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsVal.AcceleratorType != nil {
							rPlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsObject["acceleratorType"] = *rPlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsVal.AcceleratorType
						}
						rPlacementManagedClusterConfigSecondaryWorkerConfigAccelerators = append(rPlacementManagedClusterConfigSecondaryWorkerConfigAccelerators, rPlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsObject)
					}
					rPlacementManagedClusterConfigSecondaryWorkerConfig["accelerators"] = rPlacementManagedClusterConfigSecondaryWorkerConfigAccelerators
					if r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.DiskConfig != nil && r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.DiskConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig {
						rPlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig := make(map[string]interface{})
						if r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.DiskConfig.BootDiskSizeGb != nil {
							rPlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig["bootDiskSizeGb"] = *r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.DiskConfig.BootDiskSizeGb
						}
						if r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.DiskConfig.BootDiskType != nil {
							rPlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig["bootDiskType"] = *r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.DiskConfig.BootDiskType
						}
						if r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.DiskConfig.NumLocalSsds != nil {
							rPlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig["numLocalSsds"] = *r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.DiskConfig.NumLocalSsds
						}
						rPlacementManagedClusterConfigSecondaryWorkerConfig["diskConfig"] = rPlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig
					}
					if r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.Image != nil {
						rPlacementManagedClusterConfigSecondaryWorkerConfig["image"] = *r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.Image
					}
					var rPlacementManagedClusterConfigSecondaryWorkerConfigInstanceNames []interface{}
					for _, rPlacementManagedClusterConfigSecondaryWorkerConfigInstanceNamesVal := range r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.InstanceNames {
						rPlacementManagedClusterConfigSecondaryWorkerConfigInstanceNames = append(rPlacementManagedClusterConfigSecondaryWorkerConfigInstanceNames, rPlacementManagedClusterConfigSecondaryWorkerConfigInstanceNamesVal)
					}
					rPlacementManagedClusterConfigSecondaryWorkerConfig["instanceNames"] = rPlacementManagedClusterConfigSecondaryWorkerConfigInstanceNames
					if r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.IsPreemptible != nil {
						rPlacementManagedClusterConfigSecondaryWorkerConfig["isPreemptible"] = *r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.IsPreemptible
					}
					if r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.MachineType != nil {
						rPlacementManagedClusterConfigSecondaryWorkerConfig["machineType"] = *r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.MachineType
					}
					if r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.ManagedGroupConfig != nil && r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.ManagedGroupConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig {
						rPlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig := make(map[string]interface{})
						if r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.ManagedGroupConfig.InstanceGroupManagerName != nil {
							rPlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig["instanceGroupManagerName"] = *r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.ManagedGroupConfig.InstanceGroupManagerName
						}
						if r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.ManagedGroupConfig.InstanceTemplateName != nil {
							rPlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig["instanceTemplateName"] = *r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.ManagedGroupConfig.InstanceTemplateName
						}
						rPlacementManagedClusterConfigSecondaryWorkerConfig["managedGroupConfig"] = rPlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig
					}
					if r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.MinCpuPlatform != nil {
						rPlacementManagedClusterConfigSecondaryWorkerConfig["minCpuPlatform"] = *r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.MinCpuPlatform
					}
					if r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.NumInstances != nil {
						rPlacementManagedClusterConfigSecondaryWorkerConfig["numInstances"] = *r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.NumInstances
					}
					if r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.Preemptibility != nil {
						rPlacementManagedClusterConfigSecondaryWorkerConfig["preemptibility"] = string(*r.Placement.ManagedCluster.Config.SecondaryWorkerConfig.Preemptibility)
					}
					rPlacementManagedClusterConfig["secondaryWorkerConfig"] = rPlacementManagedClusterConfigSecondaryWorkerConfig
				}
				if r.Placement.ManagedCluster.Config.SecurityConfig != nil && r.Placement.ManagedCluster.Config.SecurityConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigSecurityConfig {
					rPlacementManagedClusterConfigSecurityConfig := make(map[string]interface{})
					if r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig != nil && r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig {
						rPlacementManagedClusterConfigSecurityConfigKerberosConfig := make(map[string]interface{})
						if r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.CrossRealmTrustAdminServer != nil {
							rPlacementManagedClusterConfigSecurityConfigKerberosConfig["crossRealmTrustAdminServer"] = *r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.CrossRealmTrustAdminServer
						}
						if r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.CrossRealmTrustKdc != nil {
							rPlacementManagedClusterConfigSecurityConfigKerberosConfig["crossRealmTrustKdc"] = *r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.CrossRealmTrustKdc
						}
						if r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.CrossRealmTrustRealm != nil {
							rPlacementManagedClusterConfigSecurityConfigKerberosConfig["crossRealmTrustRealm"] = *r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.CrossRealmTrustRealm
						}
						if r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.CrossRealmTrustSharedPassword != nil {
							rPlacementManagedClusterConfigSecurityConfigKerberosConfig["crossRealmTrustSharedPassword"] = *r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.CrossRealmTrustSharedPassword
						}
						if r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.EnableKerberos != nil {
							rPlacementManagedClusterConfigSecurityConfigKerberosConfig["enableKerberos"] = *r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.EnableKerberos
						}
						if r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.KdcDbKey != nil {
							rPlacementManagedClusterConfigSecurityConfigKerberosConfig["kdcDbKey"] = *r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.KdcDbKey
						}
						if r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.KeyPassword != nil {
							rPlacementManagedClusterConfigSecurityConfigKerberosConfig["keyPassword"] = *r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.KeyPassword
						}
						if r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.Keystore != nil {
							rPlacementManagedClusterConfigSecurityConfigKerberosConfig["keystore"] = *r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.Keystore
						}
						if r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.KeystorePassword != nil {
							rPlacementManagedClusterConfigSecurityConfigKerberosConfig["keystorePassword"] = *r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.KeystorePassword
						}
						if r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.KmsKey != nil {
							rPlacementManagedClusterConfigSecurityConfigKerberosConfig["kmsKey"] = *r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.KmsKey
						}
						if r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.Realm != nil {
							rPlacementManagedClusterConfigSecurityConfigKerberosConfig["realm"] = *r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.Realm
						}
						if r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.RootPrincipalPassword != nil {
							rPlacementManagedClusterConfigSecurityConfigKerberosConfig["rootPrincipalPassword"] = *r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.RootPrincipalPassword
						}
						if r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.TgtLifetimeHours != nil {
							rPlacementManagedClusterConfigSecurityConfigKerberosConfig["tgtLifetimeHours"] = *r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.TgtLifetimeHours
						}
						if r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.Truststore != nil {
							rPlacementManagedClusterConfigSecurityConfigKerberosConfig["truststore"] = *r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.Truststore
						}
						if r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.TruststorePassword != nil {
							rPlacementManagedClusterConfigSecurityConfigKerberosConfig["truststorePassword"] = *r.Placement.ManagedCluster.Config.SecurityConfig.KerberosConfig.TruststorePassword
						}
						rPlacementManagedClusterConfigSecurityConfig["kerberosConfig"] = rPlacementManagedClusterConfigSecurityConfigKerberosConfig
					}
					rPlacementManagedClusterConfig["securityConfig"] = rPlacementManagedClusterConfigSecurityConfig
				}
				if r.Placement.ManagedCluster.Config.SoftwareConfig != nil && r.Placement.ManagedCluster.Config.SoftwareConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig {
					rPlacementManagedClusterConfigSoftwareConfig := make(map[string]interface{})
					if r.Placement.ManagedCluster.Config.SoftwareConfig.ImageVersion != nil {
						rPlacementManagedClusterConfigSoftwareConfig["imageVersion"] = *r.Placement.ManagedCluster.Config.SoftwareConfig.ImageVersion
					}
					var rPlacementManagedClusterConfigSoftwareConfigOptionalComponents []interface{}
					for _, rPlacementManagedClusterConfigSoftwareConfigOptionalComponentsVal := range r.Placement.ManagedCluster.Config.SoftwareConfig.OptionalComponents {
						rPlacementManagedClusterConfigSoftwareConfigOptionalComponents = append(rPlacementManagedClusterConfigSoftwareConfigOptionalComponents, string(rPlacementManagedClusterConfigSoftwareConfigOptionalComponentsVal))
					}
					rPlacementManagedClusterConfigSoftwareConfig["optionalComponents"] = rPlacementManagedClusterConfigSoftwareConfigOptionalComponents
					if r.Placement.ManagedCluster.Config.SoftwareConfig.Properties != nil {
						rPlacementManagedClusterConfigSoftwareConfigProperties := make(map[string]interface{})
						for k, v := range r.Placement.ManagedCluster.Config.SoftwareConfig.Properties {
							rPlacementManagedClusterConfigSoftwareConfigProperties[k] = v
						}
						rPlacementManagedClusterConfigSoftwareConfig["properties"] = rPlacementManagedClusterConfigSoftwareConfigProperties
					}
					rPlacementManagedClusterConfig["softwareConfig"] = rPlacementManagedClusterConfigSoftwareConfig
				}
				if r.Placement.ManagedCluster.Config.StagingBucket != nil {
					rPlacementManagedClusterConfig["stagingBucket"] = *r.Placement.ManagedCluster.Config.StagingBucket
				}
				if r.Placement.ManagedCluster.Config.TempBucket != nil {
					rPlacementManagedClusterConfig["tempBucket"] = *r.Placement.ManagedCluster.Config.TempBucket
				}
				if r.Placement.ManagedCluster.Config.WorkerConfig != nil && r.Placement.ManagedCluster.Config.WorkerConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfig {
					rPlacementManagedClusterConfigWorkerConfig := make(map[string]interface{})
					var rPlacementManagedClusterConfigWorkerConfigAccelerators []interface{}
					for _, rPlacementManagedClusterConfigWorkerConfigAcceleratorsVal := range r.Placement.ManagedCluster.Config.WorkerConfig.Accelerators {
						rPlacementManagedClusterConfigWorkerConfigAcceleratorsObject := make(map[string]interface{})
						if rPlacementManagedClusterConfigWorkerConfigAcceleratorsVal.AcceleratorCount != nil {
							rPlacementManagedClusterConfigWorkerConfigAcceleratorsObject["acceleratorCount"] = *rPlacementManagedClusterConfigWorkerConfigAcceleratorsVal.AcceleratorCount
						}
						if rPlacementManagedClusterConfigWorkerConfigAcceleratorsVal.AcceleratorType != nil {
							rPlacementManagedClusterConfigWorkerConfigAcceleratorsObject["acceleratorType"] = *rPlacementManagedClusterConfigWorkerConfigAcceleratorsVal.AcceleratorType
						}
						rPlacementManagedClusterConfigWorkerConfigAccelerators = append(rPlacementManagedClusterConfigWorkerConfigAccelerators, rPlacementManagedClusterConfigWorkerConfigAcceleratorsObject)
					}
					rPlacementManagedClusterConfigWorkerConfig["accelerators"] = rPlacementManagedClusterConfigWorkerConfigAccelerators
					if r.Placement.ManagedCluster.Config.WorkerConfig.DiskConfig != nil && r.Placement.ManagedCluster.Config.WorkerConfig.DiskConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig {
						rPlacementManagedClusterConfigWorkerConfigDiskConfig := make(map[string]interface{})
						if r.Placement.ManagedCluster.Config.WorkerConfig.DiskConfig.BootDiskSizeGb != nil {
							rPlacementManagedClusterConfigWorkerConfigDiskConfig["bootDiskSizeGb"] = *r.Placement.ManagedCluster.Config.WorkerConfig.DiskConfig.BootDiskSizeGb
						}
						if r.Placement.ManagedCluster.Config.WorkerConfig.DiskConfig.BootDiskType != nil {
							rPlacementManagedClusterConfigWorkerConfigDiskConfig["bootDiskType"] = *r.Placement.ManagedCluster.Config.WorkerConfig.DiskConfig.BootDiskType
						}
						if r.Placement.ManagedCluster.Config.WorkerConfig.DiskConfig.NumLocalSsds != nil {
							rPlacementManagedClusterConfigWorkerConfigDiskConfig["numLocalSsds"] = *r.Placement.ManagedCluster.Config.WorkerConfig.DiskConfig.NumLocalSsds
						}
						rPlacementManagedClusterConfigWorkerConfig["diskConfig"] = rPlacementManagedClusterConfigWorkerConfigDiskConfig
					}
					if r.Placement.ManagedCluster.Config.WorkerConfig.Image != nil {
						rPlacementManagedClusterConfigWorkerConfig["image"] = *r.Placement.ManagedCluster.Config.WorkerConfig.Image
					}
					var rPlacementManagedClusterConfigWorkerConfigInstanceNames []interface{}
					for _, rPlacementManagedClusterConfigWorkerConfigInstanceNamesVal := range r.Placement.ManagedCluster.Config.WorkerConfig.InstanceNames {
						rPlacementManagedClusterConfigWorkerConfigInstanceNames = append(rPlacementManagedClusterConfigWorkerConfigInstanceNames, rPlacementManagedClusterConfigWorkerConfigInstanceNamesVal)
					}
					rPlacementManagedClusterConfigWorkerConfig["instanceNames"] = rPlacementManagedClusterConfigWorkerConfigInstanceNames
					if r.Placement.ManagedCluster.Config.WorkerConfig.IsPreemptible != nil {
						rPlacementManagedClusterConfigWorkerConfig["isPreemptible"] = *r.Placement.ManagedCluster.Config.WorkerConfig.IsPreemptible
					}
					if r.Placement.ManagedCluster.Config.WorkerConfig.MachineType != nil {
						rPlacementManagedClusterConfigWorkerConfig["machineType"] = *r.Placement.ManagedCluster.Config.WorkerConfig.MachineType
					}
					if r.Placement.ManagedCluster.Config.WorkerConfig.ManagedGroupConfig != nil && r.Placement.ManagedCluster.Config.WorkerConfig.ManagedGroupConfig != dclService.EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig {
						rPlacementManagedClusterConfigWorkerConfigManagedGroupConfig := make(map[string]interface{})
						if r.Placement.ManagedCluster.Config.WorkerConfig.ManagedGroupConfig.InstanceGroupManagerName != nil {
							rPlacementManagedClusterConfigWorkerConfigManagedGroupConfig["instanceGroupManagerName"] = *r.Placement.ManagedCluster.Config.WorkerConfig.ManagedGroupConfig.InstanceGroupManagerName
						}
						if r.Placement.ManagedCluster.Config.WorkerConfig.ManagedGroupConfig.InstanceTemplateName != nil {
							rPlacementManagedClusterConfigWorkerConfigManagedGroupConfig["instanceTemplateName"] = *r.Placement.ManagedCluster.Config.WorkerConfig.ManagedGroupConfig.InstanceTemplateName
						}
						rPlacementManagedClusterConfigWorkerConfig["managedGroupConfig"] = rPlacementManagedClusterConfigWorkerConfigManagedGroupConfig
					}
					if r.Placement.ManagedCluster.Config.WorkerConfig.MinCpuPlatform != nil {
						rPlacementManagedClusterConfigWorkerConfig["minCpuPlatform"] = *r.Placement.ManagedCluster.Config.WorkerConfig.MinCpuPlatform
					}
					if r.Placement.ManagedCluster.Config.WorkerConfig.NumInstances != nil {
						rPlacementManagedClusterConfigWorkerConfig["numInstances"] = *r.Placement.ManagedCluster.Config.WorkerConfig.NumInstances
					}
					if r.Placement.ManagedCluster.Config.WorkerConfig.Preemptibility != nil {
						rPlacementManagedClusterConfigWorkerConfig["preemptibility"] = string(*r.Placement.ManagedCluster.Config.WorkerConfig.Preemptibility)
					}
					rPlacementManagedClusterConfig["workerConfig"] = rPlacementManagedClusterConfigWorkerConfig
				}
				rPlacementManagedCluster["config"] = rPlacementManagedClusterConfig
			}
			if r.Placement.ManagedCluster.Labels != nil {
				rPlacementManagedClusterLabels := make(map[string]interface{})
				for k, v := range r.Placement.ManagedCluster.Labels {
					rPlacementManagedClusterLabels[k] = v
				}
				rPlacementManagedCluster["labels"] = rPlacementManagedClusterLabels
			}
			rPlacement["managedCluster"] = rPlacementManagedCluster
		}
		u.Object["placement"] = rPlacement
	}
	if r.Project != nil {
		u.Object["project"] = *r.Project
	}
	if r.UpdateTime != nil {
		u.Object["updateTime"] = *r.UpdateTime
	}
	if r.Version != nil {
		u.Object["version"] = *r.Version
	}
	return u
}