diff --git a/mmv1/third_party/terraform/services/dataproc/resource_dataproc_workflow_template.go.tmpl b/mmv1/third_party/terraform/services/dataproc/resource_dataproc_workflow_template.go.tmpl index 96e354b52f58..f7c9fe0ac038 100644 --- a/mmv1/third_party/terraform/services/dataproc/resource_dataproc_workflow_template.go.tmpl +++ b/mmv1/third_party/terraform/services/dataproc/resource_dataproc_workflow_template.go.tmpl @@ -8,6 +8,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/v2/helper/customdiff" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" dcl "github.com/hashicorp/terraform-provider-google/google/tpgdclresource" "github.com/hashicorp/terraform-provider-google/google/tpgresource" transport_tpg "github.com/hashicorp/terraform-provider-google/google/transport" @@ -1544,6 +1545,16 @@ func DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigSchema() * Description: "Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups.", Elem: DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigSchema(), }, + + "instance_flexibility_policy": { + Type: schema.TypeList, + Computed: true, + Optional: true, + ForceNew: true, + Description: "Optional. Instance flexibility Policy allowing a mixture of VM shapes.", + MaxItems: 1, + Elem: DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicySchema(), + }, }, } } @@ -1573,6 +1584,7 @@ func DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig Schema: map[string]*schema.Schema{ "boot_disk_size_gb": { Type: schema.TypeInt, + Computed: true, Optional: true, ForceNew: true, Description: "Optional. Size in GB of the boot disk (default is 500GB).", @@ -1580,6 +1592,7 @@ func DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig "boot_disk_type": { Type: schema.TypeString, + Computed: true, Optional: true, ForceNew: true, Description: "Optional. Type of the boot disk (default is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent Disk Solid State Drive), or \"pd-standard\" (Persistent Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).", @@ -1596,6 +1609,88 @@ func DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig } } +func DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicySchema() *schema.Resource { + return &schema.Resource{ + Schema: map[string]*schema.Schema{ + "instance_machine_types": { + Type: schema.TypeMap, + Computed: true, + Description: "Output only. A map of instance names to their machine type.", + Elem: &schema.Schema{Type: schema.TypeString}, + }, + + "instance_selection_list": { + Type: schema.TypeList, + Computed: true, + Optional: true, + ForceNew: true, + AtLeastOneOf: []string{ + "placement.0.managed_cluster.0.config.0.master_config.0.instance_flexibility_policy.0.instance_selection_list", + }, + Description: "Optional. List of instance selection options that the group will use when creating new VMs.", + Elem: DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionSchema(), + }, + + "instance_selection_results": { + Type: schema.TypeList, + Computed: true, + Description: "Output only. A list of instance selection results that were successfully allocated.", + Elem: DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResultSchema(), + }, + }, + } +} + +func DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionSchema() *schema.Resource { + return &schema.Resource{ + Schema: map[string]*schema.Schema{ + "disk_config": { + Type: schema.TypeList, + Optional: true, + ForceNew: true, + Description: "Optional. Disk configuration to apply to the instances in this instance selection.", + MaxItems: 1, + Elem: DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigSchema(), + }, + + "machine_types": { + Type: schema.TypeList, + Computed: true, + Optional: true, + ForceNew: true, + Elem: &schema.Schema{Type: schema.TypeString}, + Description: "Optional. Full machine-type names, e.g. \"n1-standard-16\".", + }, + + "rank": { + Type: schema.TypeInt, + Computed: true, + Optional: true, + ForceNew: true, + Description: "Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference.", + }, + }, + } +} + +func DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResultSchema() *schema.Resource { + return &schema.Resource{ + Schema: map[string]*schema.Schema{ + "machine_type": { + Type: schema.TypeString, + Computed: true, + Description: "Output only. Full machine-type names, e.g. \"n1-standard-16\".", + }, + + "vm_count": { + Type: schema.TypeInt, + Computed: true, + Description: "Output only. Number of VM provisioned with the corresponding machine_type.", + }, + }, + } +} + func DataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigSchema() *schema.Resource { return &schema.Resource{ Schema: map[string]*schema.Schema{ @@ -1708,6 +1803,16 @@ func DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigS Description: "Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups.", Elem: DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfigSchema(), }, + + "instance_flexibility_policy": { + Type: schema.TypeList, + Computed: true, + Optional: true, + ForceNew: true, + Description: "Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models.", + MaxItems: 1, + Elem: DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicySchema(), + }, }, } } @@ -1737,6 +1842,7 @@ func DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigD Schema: map[string]*schema.Schema{ "boot_disk_size_gb": { Type: schema.TypeInt, + Computed: true, Optional: true, ForceNew: true, Description: "Optional. Size in GB of the boot disk (default is 500GB).", @@ -1744,6 +1850,7 @@ func DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigD "boot_disk_type": { Type: schema.TypeString, + Computed: true, Optional: true, ForceNew: true, Description: "Optional. Type of the boot disk (default is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent Disk Solid State Drive), or \"pd-standard\" (Persistent Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).", @@ -1778,6 +1885,127 @@ func DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigM } } +func DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicySchema() *schema.Resource { + return &schema.Resource{ + Schema: map[string]*schema.Schema{ + "instance_machine_types": { + Type: schema.TypeMap, + Computed: true, + Description: "Output only. A map of instance names to their machine type.", + Elem: &schema.Schema{Type: schema.TypeString}, + }, + + "instance_selection_list": { + Type: schema.TypeList, + Computed: true, + Optional: true, + ForceNew: true, + AtLeastOneOf: []string{ + "placement.0.managed_cluster.0.config.0.secondary_worker_config.0.instance_flexibility_policy.0.instance_selection_list", + "placement.0.managed_cluster.0.config.0.secondary_worker_config.0.instance_flexibility_policy.0.provisioning_model_mix", + }, + Description: "Optional. List of instance selection options that the group will use when creating new VMs.", + Elem: DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSchema(), + }, + + "instance_selection_results": { + Type: schema.TypeList, + Computed: true, + Description: "Output only. A list of instance selection results that were successfully allocated.", + Elem: DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultSchema(), + }, + + "provisioning_model_mix": { + Type: schema.TypeList, + Computed: true, + Optional: true, + ForceNew: true, + AtLeastOneOf: []string{ + "placement.0.managed_cluster.0.config.0.secondary_worker_config.0.instance_flexibility_policy.0.instance_selection_list", + "placement.0.managed_cluster.0.config.0.secondary_worker_config.0.instance_flexibility_policy.0.provisioning_model_mix", + }, + Description: "Optional. Strategy for provisioning model mix for secondary worker instances.", + MaxItems: 1, + Elem: DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMixSchema(), + }, + }, + } +} + +func DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSchema() *schema.Resource { + return &schema.Resource{ + Schema: map[string]*schema.Schema{ + "disk_config": { + Type: schema.TypeList, + Optional: true, + ForceNew: true, + Description: "Optional. Disk configuration to apply to the instances in this instance selection.", + MaxItems: 1, + Elem: DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfigSchema(), + }, + + "machine_types": { + Type: schema.TypeList, + Computed: true, + Optional: true, + ForceNew: true, + Elem: &schema.Schema{Type: schema.TypeString}, + Description: "Optional. Full machine-type names, e.g. \"n1-standard-16\".", + }, + + "rank": { + Type: schema.TypeInt, + Computed: true, + Optional: true, + ForceNew: true, + Description: "Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference.", + }, + }, + } +} + +func DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultSchema() *schema.Resource { + return &schema.Resource{ + Schema: map[string]*schema.Schema{ + "machine_type": { + Type: schema.TypeString, + Computed: true, + Description: "Output only. Full machine-type names, e.g. \"n1-standard-16\".", + }, + + "vm_count": { + Type: schema.TypeInt, + Computed: true, + Description: "Output only. Number of VM provisioned with the corresponding machine_type.", + }, + }, + } +} + +func DataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMixSchema() *schema.Resource { + return &schema.Resource{ + Schema: map[string]*schema.Schema{ + "standard_capacity_base": { + Type: schema.TypeInt, + Computed: true, + Optional: true, + ForceNew: true, + Description: "Optional. The base capacity that will always use Standard VMs to avoid risk of premature allocation.", + ValidateFunc: validation.IntAtLeast(0), + }, + + "standard_capacity_percent_above_base": { + Type: schema.TypeInt, + Computed: true, + Optional: true, + ForceNew: true, + Description: "Optional. The percentage of target capacity that will use Standard VMs above standardCapacityBase.", + ValidateFunc: validation.IntBetween(0, 100), + }, + }, + } +} + func DataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfigSchema() *schema.Resource { return &schema.Resource{ Schema: map[string]*schema.Schema{ @@ -2012,6 +2240,16 @@ func DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigSchema() * Description: "Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups.", Elem: DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfigSchema(), }, + + "instance_flexibility_policy": { + Type: schema.TypeList, + Computed: true, + Optional: true, + ForceNew: true, + Description: "Optional. Instance flexibility Policy allowing a mixture of VM shapes.", + MaxItems: 1, + Elem: DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicySchema(), + }, }, } } @@ -2041,6 +2279,7 @@ func DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig Schema: map[string]*schema.Schema{ "boot_disk_size_gb": { Type: schema.TypeInt, + Computed: true, Optional: true, ForceNew: true, Description: "Optional. Size in GB of the boot disk (default is 500GB).", @@ -2048,6 +2287,7 @@ func DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig "boot_disk_type": { Type: schema.TypeString, + Computed: true, Optional: true, ForceNew: true, Description: "Optional. Type of the boot disk (default is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent Disk Solid State Drive), or \"pd-standard\" (Persistent Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).", @@ -2082,6 +2322,88 @@ func DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGro } } +func DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicySchema() *schema.Resource { + return &schema.Resource{ + Schema: map[string]*schema.Schema{ + "instance_machine_types": { + Type: schema.TypeMap, + Computed: true, + Description: "Output only. A map of instance names to their machine type.", + Elem: &schema.Schema{Type: schema.TypeString}, + }, + + "instance_selection_list": { + Type: schema.TypeList, + Computed: true, + Optional: true, + ForceNew: true, + AtLeastOneOf: []string{ + "placement.0.managed_cluster.0.config.0.worker_config.0.instance_flexibility_policy.0.instance_selection_list", + }, + Description: "Optional. List of instance selection options that the group will use when creating new VMs.", + Elem: DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSchema(), + }, + + "instance_selection_results": { + Type: schema.TypeList, + Computed: true, + Description: "Output only. A list of instance selection results that were successfully allocated.", + Elem: DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultSchema(), + }, + }, + } +} + +func DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSchema() *schema.Resource { + return &schema.Resource{ + Schema: map[string]*schema.Schema{ + "disk_config": { + Type: schema.TypeList, + Optional: true, + ForceNew: true, + Description: "Optional. Disk configuration to apply to the instances in this instance selection.", + MaxItems: 1, + Elem: DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfigSchema(), + }, + + "machine_types": { + Type: schema.TypeList, + Computed: true, + Optional: true, + ForceNew: true, + Elem: &schema.Schema{Type: schema.TypeString}, + Description: "Optional. Full machine-type names, e.g. \"n1-standard-16\".", + }, + + "rank": { + Type: schema.TypeInt, + Computed: true, + Optional: true, + ForceNew: true, + Description: "Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference.", + }, + }, + } +} + +func DataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultSchema() *schema.Resource { + return &schema.Resource{ + Schema: map[string]*schema.Schema{ + "machine_type": { + Type: schema.TypeString, + Computed: true, + Description: "Output only. Full machine-type names, e.g. \"n1-standard-16\".", + }, + + "vm_count": { + Type: schema.TypeInt, + Computed: true, + Description: "Output only. Number of VM provisioned with the corresponding machine_type.", + }, + }, + } +} + func DataprocWorkflowTemplateEncryptionConfigSchema() *schema.Resource { return &schema.Resource{ Schema: map[string]*schema.Schema{ @@ -3624,13 +3946,14 @@ func expandDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig(o i } obj := objArr[0].(map[string]interface{}) return &WorkflowTemplatePlacementManagedClusterConfigMasterConfig{ - Accelerators: expandDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsArray(obj["accelerators"]), - DiskConfig: expandDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(obj["disk_config"]), - Image: dcl.String(obj["image"].(string)), - MachineType: dcl.String(obj["machine_type"].(string)), - MinCpuPlatform: dcl.StringOrNil(obj["min_cpu_platform"].(string)), - NumInstances: dcl.Int64(int64(obj["num_instances"].(int))), - Preemptibility: WorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnumRef(obj["preemptibility"].(string)), + Accelerators: expandDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsArray(obj["accelerators"]), + DiskConfig: expandDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(obj["disk_config"]), + Image: dcl.String(obj["image"].(string)), + MachineType: dcl.String(obj["machine_type"].(string)), + MinCpuPlatform: dcl.StringOrNil(obj["min_cpu_platform"].(string)), + NumInstances: dcl.Int64(int64(obj["num_instances"].(int))), + Preemptibility: WorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnumRef(obj["preemptibility"].(string)), + InstanceFlexibilityPolicy: expandDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy(obj["instance_flexibility_policy"]), } } @@ -3639,16 +3962,17 @@ func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfig(ob return nil } transformed := map[string]interface{}{ - "accelerators": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsArray(obj.Accelerators), - "disk_config": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(obj.DiskConfig), - "image": obj.Image, - "machine_type": obj.MachineType, - "min_cpu_platform": obj.MinCpuPlatform, - "num_instances": obj.NumInstances, - "preemptibility": obj.Preemptibility, - "instance_names": obj.InstanceNames, - "is_preemptible": obj.IsPreemptible, - "managed_group_config": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(obj.ManagedGroupConfig), + "accelerators": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsArray(obj.Accelerators), + "disk_config": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(obj.DiskConfig), + "image": obj.Image, + "machine_type": obj.MachineType, + "min_cpu_platform": obj.MinCpuPlatform, + "num_instances": obj.NumInstances, + "preemptibility": obj.Preemptibility, + "instance_names": obj.InstanceNames, + "is_preemptible": obj.IsPreemptible, + "managed_group_config": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(obj.ManagedGroupConfig), + "instance_flexibility_policy": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy(obj.InstanceFlexibilityPolicy), } return []interface{}{transformed} @@ -3722,8 +4046,8 @@ func expandDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDisk } obj := objArr[0].(map[string]interface{}) return &WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig{ - BootDiskSizeGb: dcl.Int64(int64(obj["boot_disk_size_gb"].(int))), - BootDiskType: dcl.String(obj["boot_disk_type"].(string)), + BootDiskSizeGb: dcl.Int64OrNil(int64(obj["boot_disk_size_gb"].(int))), + BootDiskType: dcl.StringOrNil(obj["boot_disk_type"].(string)), NumLocalSsds: dcl.Int64OrNil(int64(obj["num_local_ssds"].(int))), } } @@ -3742,6 +4066,137 @@ func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDis } +func expandDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy(o interface{}) *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy { + if o == nil { + return nil + } + objArr := o.([]interface{}) + if len(objArr) == 0 || objArr[0] == nil { + return nil + } + obj := objArr[0].(map[string]interface{}) + isl := expandDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionArray(obj["instance_selection_list"]) + if len(isl) == 0 { + return nil + } + return &WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy{ + InstanceSelectionList: isl, + } +} + +func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy(obj *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy) interface{} { + if obj == nil || obj.Empty() { + return nil + } + transformed := map[string]interface{}{ + "instance_machine_types": obj.InstanceMachineTypes, + "instance_selection_list": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionArray(obj.InstanceSelectionList), + "instance_selection_results": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResultArray(obj.InstanceSelectionResults), + } + + return []interface{}{transformed} + +} +func expandDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionArray(o interface{}) []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection { + if o == nil { + return nil + } + + objs := o.([]interface{}) + if len(objs) == 0 || objs[0] == nil { + return nil + } + + items := make([]WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection, 0, len(objs)) + for _, item := range objs { + i := expandDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection(item) + if i != nil { + items = append(items, *i) + } + } + + return items +} + +func expandDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection(o interface{}) *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection { + if o == nil { + return nil + } + obj := o.(map[string]interface{}) + m := &WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection{} + if v, ok := obj["machine_types"].([]interface{}); ok { + for _, item := range v { + if s, ok := item.(string); ok && s != "" { + m.MachineTypes = append(m.MachineTypes, s) + } + } + } + if v, ok := obj["rank"].(int); ok { + m.Rank = dcl.Int64(int64(v)) + } + if v, ok := obj["disk_config"]; ok { + m.DiskConfig = expandDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(v) + } + return m +} + +func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionArray(objs []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection) []interface{} { + if objs == nil { + return nil + } + + items := []interface{}{} + for _, item := range objs { + i := flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection(&item) + if i != nil { + items = append(items, i) + } + } + + return items +} + +func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection(obj *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection) interface{} { + if obj == nil || obj.Empty() { + return nil + } + transformed := map[string]interface{}{ + "disk_config": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(obj.DiskConfig), + "machine_types": obj.MachineTypes, + "rank": obj.Rank, + } + + return transformed +} + +func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResultArray(objs []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult) []interface{} { + if objs == nil { + return nil + } + + items := []interface{}{} + for _, item := range objs { + i := flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult(&item) + if i != nil { + items = append(items, i) + } + } + + return items +} + +func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult(obj *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult) interface{} { + if obj == nil || obj.Empty() { + return nil + } + transformed := map[string]interface{}{ + "machine_type": obj.MachineType, + "vm_count": obj.VMCount, + } + + return transformed +} + func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(obj *WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig) interface{} { if obj == nil || obj.Empty() { return nil @@ -3793,13 +4248,14 @@ func expandDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerC } obj := objArr[0].(map[string]interface{}) return &WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig{ - Accelerators: expandDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsArray(obj["accelerators"]), - DiskConfig: expandDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig(obj["disk_config"]), - Image: dcl.String(obj["image"].(string)), - MachineType: dcl.String(obj["machine_type"].(string)), - MinCpuPlatform: dcl.StringOrNil(obj["min_cpu_platform"].(string)), - NumInstances: dcl.Int64(int64(obj["num_instances"].(int))), - Preemptibility: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnumRef(obj["preemptibility"].(string)), + Accelerators: expandDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsArray(obj["accelerators"]), + DiskConfig: expandDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig(obj["disk_config"]), + Image: dcl.String(obj["image"].(string)), + MachineType: dcl.String(obj["machine_type"].(string)), + MinCpuPlatform: dcl.StringOrNil(obj["min_cpu_platform"].(string)), + NumInstances: dcl.Int64(int64(obj["num_instances"].(int))), + Preemptibility: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnumRef(obj["preemptibility"].(string)), + InstanceFlexibilityPolicy: expandDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy(obj["instance_flexibility_policy"]), } } @@ -3808,16 +4264,17 @@ func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorker return nil } transformed := map[string]interface{}{ - "accelerators": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsArray(obj.Accelerators), - "disk_config": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig(obj.DiskConfig), - "image": obj.Image, - "machine_type": obj.MachineType, - "min_cpu_platform": obj.MinCpuPlatform, - "num_instances": obj.NumInstances, - "preemptibility": obj.Preemptibility, - "instance_names": obj.InstanceNames, - "is_preemptible": obj.IsPreemptible, - "managed_group_config": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig(obj.ManagedGroupConfig), + "accelerators": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsArray(obj.Accelerators), + "disk_config": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig(obj.DiskConfig), + "image": obj.Image, + "machine_type": obj.MachineType, + "min_cpu_platform": obj.MinCpuPlatform, + "num_instances": obj.NumInstances, + "preemptibility": obj.Preemptibility, + "instance_names": obj.InstanceNames, + "is_preemptible": obj.IsPreemptible, + "managed_group_config": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig(obj.ManagedGroupConfig), + "instance_flexibility_policy": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy(obj.InstanceFlexibilityPolicy), } return []interface{}{transformed} @@ -3891,8 +4348,8 @@ func expandDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerC } obj := objArr[0].(map[string]interface{}) return &WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig{ - BootDiskSizeGb: dcl.Int64(int64(obj["boot_disk_size_gb"].(int))), - BootDiskType: dcl.String(obj["boot_disk_type"].(string)), + BootDiskSizeGb: dcl.Int64OrNil(int64(obj["boot_disk_size_gb"].(int))), + BootDiskType: dcl.StringOrNil(obj["boot_disk_type"].(string)), NumLocalSsds: dcl.Int64OrNil(int64(obj["num_local_ssds"].(int))), } } @@ -3924,6 +4381,167 @@ func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorker } +func expandDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy(o interface{}) *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy { + if o == nil { + return nil + } + objArr := o.([]interface{}) + if len(objArr) == 0 || objArr[0] == nil { + return nil + } + obj := objArr[0].(map[string]interface{}) + isl := expandDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionArray(obj["instance_selection_list"]) + pmm := expandDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix(obj["provisioning_model_mix"]) + if len(isl) == 0 && pmm == nil { + return nil + } + return &WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy{ + InstanceSelectionList: isl, + ProvisioningModelMix: pmm, + } +} + +func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy(obj *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy) interface{} { + if obj == nil || obj.Empty() { + return nil + } + transformed := map[string]interface{}{ + "instance_machine_types": obj.InstanceMachineTypes, + "instance_selection_list": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionArray(obj.InstanceSelectionList), + "instance_selection_results": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultArray(obj.InstanceSelectionResults), + "provisioning_model_mix": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix(obj.ProvisioningModelMix), + } + + return []interface{}{transformed} +} + +func expandDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionArray(o interface{}) []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection { + if o == nil { + return nil + } + + objs := o.([]interface{}) + if len(objs) == 0 || objs[0] == nil { + return nil + } + + items := make([]WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection, 0, len(objs)) + for _, item := range objs { + i := expandDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection(item) + if i != nil { + items = append(items, *i) + } + } + + return items +} + +func expandDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection(o interface{}) *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection { + if o == nil { + return nil + } + obj := o.(map[string]interface{}) + m := &WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection{} + if v, ok := obj["machine_types"].([]interface{}); ok { + for _, item := range v { + if s, ok := item.(string); ok && s != "" { + m.MachineTypes = append(m.MachineTypes, s) + } + } + } + if v, ok := obj["rank"].(int); ok { + m.Rank = dcl.Int64(int64(v)) + } + if v, ok := obj["disk_config"]; ok { + m.DiskConfig = expandDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig(v) + } + return m +} + +func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionArray(objs []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection) []interface{} { + if objs == nil { + return nil + } + + items := []interface{}{} + for _, item := range objs { + i := flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection(&item) + if i != nil { + items = append(items, i) + } + } + + return items +} + +func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection(obj *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection) interface{} { + if obj == nil || obj.Empty() { + return nil + } + transformed := map[string]interface{}{ + "disk_config": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig(obj.DiskConfig), + "machine_types": obj.MachineTypes, + "rank": obj.Rank, + } + + return transformed +} + +func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultArray(objs []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) []interface{} { + if objs == nil { + return nil + } + + items := []interface{}{} + for _, item := range objs { + i := flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult(&item) + if i != nil { + items = append(items, i) + } + } + + return items +} + +func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult(obj *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) interface{} { + if obj == nil || obj.Empty() { + return nil + } + transformed := map[string]interface{}{ + "machine_type": obj.MachineType, + "vm_count": obj.VMCount, + } + + return transformed +} + +func expandDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix(o interface{}) *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix { + if o == nil { + return nil + } + objArr := o.([]interface{}) + if len(objArr) == 0 || objArr[0] == nil { + return nil + } + obj := objArr[0].(map[string]interface{}) + return &WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix{ + StandardCapacityBase: dcl.Int64(int64(obj["standard_capacity_base"].(int))), + StandardCapacityPercentAboveBase: dcl.Int64(int64(obj["standard_capacity_percent_above_base"].(int))), + } +} + +func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix(obj *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix) interface{} { + if obj == nil || obj.Empty() { + return nil + } + transformed := map[string]interface{}{ + "standard_capacity_base": obj.StandardCapacityBase, + "standard_capacity_percent_above_base": obj.StandardCapacityPercentAboveBase, + } + + return []interface{}{transformed} +} + func expandDataprocWorkflowTemplatePlacementManagedClusterConfigSecurityConfig(o interface{}) *WorkflowTemplatePlacementManagedClusterConfigSecurityConfig { if o == nil { return EmptyWorkflowTemplatePlacementManagedClusterConfigSecurityConfig @@ -4044,13 +4662,14 @@ func expandDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(o i } obj := objArr[0].(map[string]interface{}) return &WorkflowTemplatePlacementManagedClusterConfigWorkerConfig{ - Accelerators: expandDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAcceleratorsArray(obj["accelerators"]), - DiskConfig: expandDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig(obj["disk_config"]), - Image: dcl.String(obj["image"].(string)), - MachineType: dcl.String(obj["machine_type"].(string)), - MinCpuPlatform: dcl.StringOrNil(obj["min_cpu_platform"].(string)), - NumInstances: dcl.Int64(int64(obj["num_instances"].(int))), - Preemptibility: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnumRef(obj["preemptibility"].(string)), + Accelerators: expandDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAcceleratorsArray(obj["accelerators"]), + DiskConfig: expandDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig(obj["disk_config"]), + Image: dcl.String(obj["image"].(string)), + MachineType: dcl.String(obj["machine_type"].(string)), + MinCpuPlatform: dcl.StringOrNil(obj["min_cpu_platform"].(string)), + NumInstances: dcl.Int64(int64(obj["num_instances"].(int))), + Preemptibility: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnumRef(obj["preemptibility"].(string)), + InstanceFlexibilityPolicy: expandDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy(obj["instance_flexibility_policy"]), } } @@ -4059,16 +4678,17 @@ func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(ob return nil } transformed := map[string]interface{}{ - "accelerators": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAcceleratorsArray(obj.Accelerators), - "disk_config": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig(obj.DiskConfig), - "image": obj.Image, - "machine_type": obj.MachineType, - "min_cpu_platform": obj.MinCpuPlatform, - "num_instances": obj.NumInstances, - "preemptibility": obj.Preemptibility, - "instance_names": obj.InstanceNames, - "is_preemptible": obj.IsPreemptible, - "managed_group_config": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig(obj.ManagedGroupConfig), + "accelerators": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAcceleratorsArray(obj.Accelerators), + "disk_config": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig(obj.DiskConfig), + "image": obj.Image, + "machine_type": obj.MachineType, + "min_cpu_platform": obj.MinCpuPlatform, + "num_instances": obj.NumInstances, + "preemptibility": obj.Preemptibility, + "instance_names": obj.InstanceNames, + "is_preemptible": obj.IsPreemptible, + "managed_group_config": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig(obj.ManagedGroupConfig), + "instance_flexibility_policy": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy(obj.InstanceFlexibilityPolicy), } return []interface{}{transformed} @@ -4142,8 +4762,8 @@ func expandDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDisk } obj := objArr[0].(map[string]interface{}) return &WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig{ - BootDiskSizeGb: dcl.Int64(int64(obj["boot_disk_size_gb"].(int))), - BootDiskType: dcl.String(obj["boot_disk_type"].(string)), + BootDiskSizeGb: dcl.Int64OrNil(int64(obj["boot_disk_size_gb"].(int))), + BootDiskType: dcl.StringOrNil(obj["boot_disk_type"].(string)), NumLocalSsds: dcl.Int64OrNil(int64(obj["num_local_ssds"].(int))), } } @@ -4175,6 +4795,137 @@ func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigMan } +func expandDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy(o interface{}) *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy { + if o == nil { + return nil + } + objArr := o.([]interface{}) + if len(objArr) == 0 || objArr[0] == nil { + return nil + } + obj := objArr[0].(map[string]interface{}) + isl := expandDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionArray(obj["instance_selection_list"]) + if len(isl) == 0 { + return nil + } + return &WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy{ + InstanceSelectionList: isl, + } +} + +func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy(obj *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy) interface{} { + if obj == nil || obj.Empty() { + return nil + } + transformed := map[string]interface{}{ + "instance_machine_types": obj.InstanceMachineTypes, + "instance_selection_list": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionArray(obj.InstanceSelectionList), + "instance_selection_results": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultArray(obj.InstanceSelectionResults), + } + + return []interface{}{transformed} +} + +func expandDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionArray(o interface{}) []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection { + if o == nil { + return nil + } + + objs := o.([]interface{}) + if len(objs) == 0 || objs[0] == nil { + return nil + } + + items := make([]WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection, 0, len(objs)) + for _, item := range objs { + i := expandDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection(item) + if i != nil { + items = append(items, *i) + } + } + + return items +} + +func expandDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection(o interface{}) *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection { + if o == nil { + return nil + } + obj := o.(map[string]interface{}) + m := &WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection{} + if v, ok := obj["machine_types"].([]interface{}); ok { + for _, item := range v { + if s, ok := item.(string); ok && s != "" { + m.MachineTypes = append(m.MachineTypes, s) + } + } + } + if v, ok := obj["rank"].(int); ok { + m.Rank = dcl.Int64(int64(v)) + } + if v, ok := obj["disk_config"]; ok { + m.DiskConfig = expandDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig(v) + } + return m +} + +func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionArray(objs []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection) []interface{} { + if objs == nil { + return nil + } + + items := []interface{}{} + for _, item := range objs { + i := flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection(&item) + if i != nil { + items = append(items, i) + } + } + + return items +} + +func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection(obj *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection) interface{} { + if obj == nil || obj.Empty() { + return nil + } + transformed := map[string]interface{}{ + "disk_config": flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig(obj.DiskConfig), + "machine_types": obj.MachineTypes, + "rank": obj.Rank, + } + + return transformed +} + +func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultArray(objs []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) []interface{} { + if objs == nil { + return nil + } + + items := []interface{}{} + for _, item := range objs { + i := flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult(&item) + if i != nil { + items = append(items, i) + } + } + + return items +} + +func flattenDataprocWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult(obj *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) interface{} { + if obj == nil || obj.Empty() { + return nil + } + transformed := map[string]interface{}{ + "machine_type": obj.MachineType, + "vm_count": obj.VMCount, + } + + return transformed +} + func expandDataprocWorkflowTemplateEncryptionConfig(o interface{}) *WorkflowTemplateEncryptionConfig { if o == nil { return EmptyWorkflowTemplateEncryptionConfig diff --git a/mmv1/third_party/terraform/services/dataproc/resource_dataproc_workflow_template_meta.yaml.tmpl b/mmv1/third_party/terraform/services/dataproc/resource_dataproc_workflow_template_meta.yaml.tmpl index d5f866670807..8830b9f63474 100644 --- a/mmv1/third_party/terraform/services/dataproc/resource_dataproc_workflow_template_meta.yaml.tmpl +++ b/mmv1/third_party/terraform/services/dataproc/resource_dataproc_workflow_template_meta.yaml.tmpl @@ -125,6 +125,14 @@ fields: - api_field: 'placement.managedCluster.config.masterConfig.instanceNames' - api_field: 'placement.managedCluster.config.masterConfig.isPreemptible' - field: 'placement.managed_cluster.config.master_config.machine_type' + - api_field: 'placement.managedCluster.config.masterConfig.instanceFlexibilityPolicy.instanceMachineTypes' + - api_field: 'placement.managedCluster.config.masterConfig.instanceFlexibilityPolicy.instanceSelectionList.diskConfig.bootDiskSizeGb' + - api_field: 'placement.managedCluster.config.masterConfig.instanceFlexibilityPolicy.instanceSelectionList.diskConfig.bootDiskType' + - api_field: 'placement.managedCluster.config.masterConfig.instanceFlexibilityPolicy.instanceSelectionList.diskConfig.numLocalSsds' + - api_field: 'placement.managedCluster.config.masterConfig.instanceFlexibilityPolicy.instanceSelectionList.machineTypes' + - api_field: 'placement.managedCluster.config.masterConfig.instanceFlexibilityPolicy.instanceSelectionList.rank' + - api_field: 'placement.managedCluster.config.masterConfig.instanceFlexibilityPolicy.instanceSelectionResults.machineType' + - api_field: 'placement.managedCluster.config.masterConfig.instanceFlexibilityPolicy.instanceSelectionResults.vmCount' - api_field: 'placement.managedCluster.config.masterConfig.managedGroupConfig.instanceGroupManagerName' - api_field: 'placement.managedCluster.config.masterConfig.managedGroupConfig.instanceTemplateName' - api_field: 'placement.managedCluster.config.masterConfig.minCpuPlatform' @@ -142,6 +150,16 @@ fields: - api_field: 'placement.managedCluster.config.secondaryWorkerConfig.instanceNames' - api_field: 'placement.managedCluster.config.secondaryWorkerConfig.isPreemptible' - field: 'placement.managed_cluster.config.secondary_worker_config.machine_type' + - api_field: 'placement.managedCluster.config.secondaryWorkerConfig.instanceFlexibilityPolicy.instanceMachineTypes' + - api_field: 'placement.managedCluster.config.secondaryWorkerConfig.instanceFlexibilityPolicy.instanceSelectionList.diskConfig.bootDiskSizeGb' + - api_field: 'placement.managedCluster.config.secondaryWorkerConfig.instanceFlexibilityPolicy.instanceSelectionList.diskConfig.bootDiskType' + - api_field: 'placement.managedCluster.config.secondaryWorkerConfig.instanceFlexibilityPolicy.instanceSelectionList.diskConfig.numLocalSsds' + - api_field: 'placement.managedCluster.config.secondaryWorkerConfig.instanceFlexibilityPolicy.instanceSelectionList.machineTypes' + - api_field: 'placement.managedCluster.config.secondaryWorkerConfig.instanceFlexibilityPolicy.instanceSelectionList.rank' + - api_field: 'placement.managedCluster.config.secondaryWorkerConfig.instanceFlexibilityPolicy.instanceSelectionResults.machineType' + - api_field: 'placement.managedCluster.config.secondaryWorkerConfig.instanceFlexibilityPolicy.instanceSelectionResults.vmCount' + - api_field: 'placement.managedCluster.config.secondaryWorkerConfig.instanceFlexibilityPolicy.provisioningModelMix.standardCapacityBase' + - api_field: 'placement.managedCluster.config.secondaryWorkerConfig.instanceFlexibilityPolicy.provisioningModelMix.standardCapacityPercentAboveBase' - api_field: 'placement.managedCluster.config.secondaryWorkerConfig.managedGroupConfig.instanceGroupManagerName' - api_field: 'placement.managedCluster.config.secondaryWorkerConfig.managedGroupConfig.instanceTemplateName' - api_field: 'placement.managedCluster.config.secondaryWorkerConfig.minCpuPlatform' @@ -176,6 +194,14 @@ fields: - api_field: 'placement.managedCluster.config.workerConfig.instanceNames' - api_field: 'placement.managedCluster.config.workerConfig.isPreemptible' - field: 'placement.managed_cluster.config.worker_config.machine_type' + - api_field: 'placement.managedCluster.config.workerConfig.instanceFlexibilityPolicy.instanceMachineTypes' + - api_field: 'placement.managedCluster.config.workerConfig.instanceFlexibilityPolicy.instanceSelectionList.diskConfig.bootDiskSizeGb' + - api_field: 'placement.managedCluster.config.workerConfig.instanceFlexibilityPolicy.instanceSelectionList.diskConfig.bootDiskType' + - api_field: 'placement.managedCluster.config.workerConfig.instanceFlexibilityPolicy.instanceSelectionList.diskConfig.numLocalSsds' + - api_field: 'placement.managedCluster.config.workerConfig.instanceFlexibilityPolicy.instanceSelectionList.machineTypes' + - api_field: 'placement.managedCluster.config.workerConfig.instanceFlexibilityPolicy.instanceSelectionList.rank' + - api_field: 'placement.managedCluster.config.workerConfig.instanceFlexibilityPolicy.instanceSelectionResults.machineType' + - api_field: 'placement.managedCluster.config.workerConfig.instanceFlexibilityPolicy.instanceSelectionResults.vmCount' - api_field: 'placement.managedCluster.config.workerConfig.managedGroupConfig.instanceGroupManagerName' - api_field: 'placement.managedCluster.config.workerConfig.managedGroupConfig.instanceTemplateName' - api_field: 'placement.managedCluster.config.workerConfig.minCpuPlatform' diff --git a/mmv1/third_party/terraform/services/dataproc/resource_dataproc_workflow_template_test.go.tmpl b/mmv1/third_party/terraform/services/dataproc/resource_dataproc_workflow_template_test.go.tmpl index 3f7f380c8807..34135ca741be 100644 --- a/mmv1/third_party/terraform/services/dataproc/resource_dataproc_workflow_template_test.go.tmpl +++ b/mmv1/third_party/terraform/services/dataproc/resource_dataproc_workflow_template_test.go.tmpl @@ -130,6 +130,7 @@ resource "google_dataproc_workflow_template" "template" { num_instances = 3 machine_type = "n1-standard-2" disk_config { + boot_disk_type = "pd-standard" boot_disk_size_gb = 10 num_local_ssds = 2 } @@ -137,6 +138,10 @@ resource "google_dataproc_workflow_template" "template" { secondary_worker_config { num_instances = 2 + disk_config { + boot_disk_type = "pd-standard" + boot_disk_size_gb = 15 + } } software_config { image_version = "%{version}" @@ -294,6 +299,140 @@ resource "google_kms_crypto_key_iam_member" "crypto_key" { `, context) } +func TestAccDataprocWorkflowTemplate_instanceFlexibilityPolicy(t *testing.T) { + t.Parallel() + + context := map[string]interface{}{ + "random_suffix": acctest.RandString(t, 10), + "project": envvar.GetTestProjectFromEnv(), + "version": "2.0.35-debian10", + } + + acctest.VcrTest(t, resource.TestCase{ + PreCheck: func() { acctest.AccTestPreCheck(t) }, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t), + CheckDestroy: funcAccTestDataprocWorkflowTemplateCheckDestroy(t), + ExternalProviders: map[string]resource.ExternalProvider{ + "random": {}, + }, + Steps: []resource.TestStep{ + { + Config: testAccDataprocWorkflowTemplate_instanceFlexibilityPolicy(context), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.master_config.0.instance_flexibility_policy.0.instance_selection_list.0.machine_types.0", "e2-standard-2"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.master_config.0.instance_flexibility_policy.0.instance_selection_list.0.rank", "0"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.master_config.0.instance_flexibility_policy.0.instance_selection_list.0.disk_config.0.boot_disk_type", "pd-ssd"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.master_config.0.instance_flexibility_policy.0.instance_selection_list.0.disk_config.0.boot_disk_size_gb", "35"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.master_config.0.instance_flexibility_policy.0.instance_selection_list.0.disk_config.0.num_local_ssds", "1"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.worker_config.0.instance_flexibility_policy.0.instance_selection_list.0.machine_types.0", "n2d-standard-2"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.worker_config.0.instance_flexibility_policy.0.instance_selection_list.0.rank", "1"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.worker_config.0.instance_flexibility_policy.0.instance_selection_list.0.disk_config.0.boot_disk_type", "pd-ssd"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.worker_config.0.instance_flexibility_policy.0.instance_selection_list.0.disk_config.0.boot_disk_size_gb", "35"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.worker_config.0.instance_flexibility_policy.0.instance_selection_list.0.disk_config.0.num_local_ssds", "1"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.worker_config.0.instance_flexibility_policy.0.instance_selection_list.1.machine_types.0", "e2-standard-2"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.worker_config.0.instance_flexibility_policy.0.instance_selection_list.1.rank", "2"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.worker_config.0.instance_flexibility_policy.0.instance_selection_list.1.disk_config.0.boot_disk_type", "pd-standard"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.worker_config.0.instance_flexibility_policy.0.instance_selection_list.1.disk_config.0.boot_disk_size_gb", "35"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.secondary_worker_config.0.instance_flexibility_policy.0.instance_selection_list.0.machine_types.0", "n1-standard-2"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.secondary_worker_config.0.instance_flexibility_policy.0.instance_selection_list.0.machine_types.1", "n2-standard-2"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.secondary_worker_config.0.instance_flexibility_policy.0.instance_selection_list.0.rank", "1"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.secondary_worker_config.0.instance_flexibility_policy.0.instance_selection_list.0.disk_config.0.boot_disk_type", "pd-ssd"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.secondary_worker_config.0.instance_flexibility_policy.0.instance_selection_list.0.disk_config.0.boot_disk_size_gb", "35"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.secondary_worker_config.0.instance_flexibility_policy.0.instance_selection_list.0.disk_config.0.num_local_ssds", "1"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.secondary_worker_config.0.instance_flexibility_policy.0.provisioning_model_mix.0.standard_capacity_base", "0"), + resource.TestCheckResourceAttr("google_dataproc_workflow_template.template", "placement.0.managed_cluster.0.config.0.secondary_worker_config.0.instance_flexibility_policy.0.provisioning_model_mix.0.standard_capacity_percent_above_base", "50"), + ), + }, + { + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"labels", "terraform_labels"}, + ResourceName: "google_dataproc_workflow_template.template", + }, + }, + }) +} + +func testAccDataprocWorkflowTemplate_instanceFlexibilityPolicy(context map[string]interface{}) string { + return acctest.Nprintf(` +resource "google_dataproc_workflow_template" "template" { + name = "tf-test-workflow-%{random_suffix}" + location = "us-central1" + placement { + managed_cluster { + cluster_name = "tf-test-cluster-%{random_suffix}" + config { + software_config { + image_version = "%{version}" + } + master_config { + num_instances = 1 + instance_flexibility_policy { + instance_selection_list { + machine_types = ["e2-standard-2"] + rank = 0 + disk_config { + boot_disk_type = "pd-ssd" + boot_disk_size_gb = 35 + num_local_ssds = 1 + } + } + } + } + worker_config { + num_instances = 2 + instance_flexibility_policy { + instance_selection_list { + machine_types = ["n2d-standard-2"] + rank = 1 + disk_config { + boot_disk_type = "pd-ssd" + boot_disk_size_gb = 35 + num_local_ssds = 1 + } + } + instance_selection_list { + machine_types = ["e2-standard-2"] + rank = 2 + disk_config { + boot_disk_type = "pd-standard" + boot_disk_size_gb = 35 + } + } + } + } + secondary_worker_config { + num_instances = 2 + instance_flexibility_policy { + instance_selection_list { + machine_types = ["n1-standard-2", "n2-standard-2"] + rank = 1 + disk_config { + boot_disk_type = "pd-ssd" + boot_disk_size_gb = 35 + num_local_ssds = 1 + } + } + provisioning_model_mix { + standard_capacity_base = 0 + standard_capacity_percent_above_base = 50 + } + } + } + } + } + } + + jobs { + step_id = "someJob" + spark_job { + main_class = "SomeClass" + } + } +} +`, context) +} + func funcAccTestDataprocWorkflowTemplateCheckDestroy(t *testing.T) func(s *terraform.State) error { return func(s *terraform.State) error { for name, rs := range s.RootModule().Resources { diff --git a/mmv1/third_party/terraform/services/dataproc/workflow_template.go.tmpl b/mmv1/third_party/terraform/services/dataproc/workflow_template.go.tmpl index d15930a266a4..053f2970b6a8 100644 --- a/mmv1/third_party/terraform/services/dataproc/workflow_template.go.tmpl +++ b/mmv1/third_party/terraform/services/dataproc/workflow_template.go.tmpl @@ -673,6 +673,7 @@ type WorkflowTemplatePlacementManagedClusterConfigMasterConfig struct { ManagedGroupConfig *WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig `json:"managedGroupConfig"` Accelerators []WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators `json:"accelerators"` MinCpuPlatform *string `json:"minCpuPlatform"` + InstanceFlexibilityPolicy *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy `json:"instanceFlexibilityPolicy"` } type jsonWorkflowTemplatePlacementManagedClusterConfigMasterConfig WorkflowTemplatePlacementManagedClusterConfigMasterConfig @@ -710,6 +711,8 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfig) UnmarshalJSO r.MinCpuPlatform = res.MinCpuPlatform + r.InstanceFlexibilityPolicy = res.InstanceFlexibilityPolicy + } return nil } @@ -884,6 +887,159 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators) return fmt.Sprintf("%x", hash) } +type WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy struct { + empty bool `json:"-"` + InstanceMachineTypes map[string]string `json:"instanceMachineTypes"` + InstanceSelectionList []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection `json:"instanceSelectionList"` + InstanceSelectionResults []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult `json:"instanceSelectionResults"` +} + +type jsonWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy + +func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy) UnmarshalJSON(data []byte) error { + var res jsonWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy + if err := json.Unmarshal(data, &res); err != nil { + return err + } + + var m map[string]interface{} + json.Unmarshal(data, &m) + + if len(m) == 0 { + *r = *EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy + } else { + + r.InstanceMachineTypes = res.InstanceMachineTypes + + r.InstanceSelectionList = res.InstanceSelectionList + + r.InstanceSelectionResults = res.InstanceSelectionResults + + } + return nil +} + +// This object is used to assert a desired state where this WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy is +// empty. Go lacks global const objects, but this object should be treated +// as one. Modifying this object will have undesirable results. +var EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy = &WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy{empty: true} + +func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy) Empty() bool { + return r.empty +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy) String() string { + return dcl.SprintResource(r) +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy) HashCode() string { + // Placeholder for a more complex hash method that handles ordering, etc + // Hash resource body for easy comparison later + hash := sha256.Sum256([]byte(r.String())) + return fmt.Sprintf("%x", hash) +} + +type WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection struct { + empty bool `json:"-"` + MachineTypes []string `json:"machineTypes"` + Rank *int64 `json:"rank"` + DiskConfig *WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig `json:"diskConfig"` +} + +type jsonWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection + +func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection) UnmarshalJSON(data []byte) error { + var res jsonWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection + if err := json.Unmarshal(data, &res); err != nil { + return err + } + + var m map[string]interface{} + json.Unmarshal(data, &m) + + if len(m) == 0 { + *r = *EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection + } else { + + r.MachineTypes = res.MachineTypes + + r.Rank = res.Rank + + r.DiskConfig = res.DiskConfig + + } + return nil +} + +// This object is used to assert a desired state where this WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection is +// empty. Go lacks global const objects, but this object should be treated +// as one. Modifying this object will have undesirable results. +var EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection = &WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection{empty: true} + +func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection) Empty() bool { + return r.empty +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection) String() string { + return dcl.SprintResource(r) +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection) HashCode() string { + // Placeholder for a more complex hash method that handles ordering, etc + // Hash resource body for easy comparison later + hash := sha256.Sum256([]byte(r.String())) + return fmt.Sprintf("%x", hash) +} + +type WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult struct { + empty bool `json:"-"` + MachineType *string `json:"machineType"` + VMCount *int64 `json:"vmCount"` +} + +type jsonWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult + +func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult) UnmarshalJSON(data []byte) error { + var res jsonWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult + if err := json.Unmarshal(data, &res); err != nil { + return err + } + + var m map[string]interface{} + json.Unmarshal(data, &m) + + if len(m) == 0 { + *r = *EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult + } else { + + r.MachineType = res.MachineType + + r.VMCount = res.VMCount + + } + return nil +} + +// This object is used to assert a desired state where this WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult is +// empty. Go lacks global const objects, but this object should be treated +// as one. Modifying this object will have undesirable results. +var EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult = &WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult{empty: true} + +func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult) Empty() bool { + return r.empty +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult) String() string { + return dcl.SprintResource(r) +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult) HashCode() string { + // Placeholder for a more complex hash method that handles ordering, etc + // Hash resource body for easy comparison later + hash := sha256.Sum256([]byte(r.String())) + return fmt.Sprintf("%x", hash) +} + type WorkflowTemplatePlacementManagedClusterConfigWorkerConfig struct { empty bool `json:"-"` NumInstances *int64 `json:"numInstances"` @@ -895,7 +1051,8 @@ type WorkflowTemplatePlacementManagedClusterConfigWorkerConfig struct { Preemptibility *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum `json:"preemptibility"` ManagedGroupConfig *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig `json:"managedGroupConfig"` Accelerators []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators `json:"accelerators"` - MinCpuPlatform *string `json:"minCpuPlatform"` + MinCpuPlatform *string `json:"minCpuPlatform"` + InstanceFlexibilityPolicy *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy `json:"instanceFlexibilityPolicy"` } type jsonWorkflowTemplatePlacementManagedClusterConfigWorkerConfig WorkflowTemplatePlacementManagedClusterConfigWorkerConfig @@ -933,6 +1090,8 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfig) UnmarshalJSO r.MinCpuPlatform = res.MinCpuPlatform + r.InstanceFlexibilityPolicy = res.InstanceFlexibilityPolicy + } return nil } @@ -1107,6 +1266,159 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators) return fmt.Sprintf("%x", hash) } +type WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy struct { + empty bool `json:"-"` + InstanceMachineTypes map[string]string `json:"instanceMachineTypes"` + InstanceSelectionList []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection `json:"instanceSelectionList"` + InstanceSelectionResults []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult `json:"instanceSelectionResults"` +} + +type jsonWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy + +func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy) UnmarshalJSON(data []byte) error { + var res jsonWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy + if err := json.Unmarshal(data, &res); err != nil { + return err + } + + var m map[string]interface{} + json.Unmarshal(data, &m) + + if len(m) == 0 { + *r = *EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy + } else { + + r.InstanceMachineTypes = res.InstanceMachineTypes + + r.InstanceSelectionList = res.InstanceSelectionList + + r.InstanceSelectionResults = res.InstanceSelectionResults + + } + return nil +} + +// This object is used to assert a desired state where this WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy is +// empty. Go lacks global const objects, but this object should be treated +// as one. Modifying this object will have undesirable results. +var EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy = &WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy{empty: true} + +func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy) Empty() bool { + return r.empty +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy) String() string { + return dcl.SprintResource(r) +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy) HashCode() string { + // Placeholder for a more complex hash method that handles ordering, etc + // Hash resource body for easy comparison later + hash := sha256.Sum256([]byte(r.String())) + return fmt.Sprintf("%x", hash) +} + +type WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection struct { + empty bool `json:"-"` + MachineTypes []string `json:"machineTypes"` + Rank *int64 `json:"rank"` + DiskConfig *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig `json:"diskConfig"` +} + +type jsonWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection + +func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection) UnmarshalJSON(data []byte) error { + var res jsonWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection + if err := json.Unmarshal(data, &res); err != nil { + return err + } + + var m map[string]interface{} + json.Unmarshal(data, &m) + + if len(m) == 0 { + *r = *EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection + } else { + + r.MachineTypes = res.MachineTypes + + r.Rank = res.Rank + + r.DiskConfig = res.DiskConfig + + } + return nil +} + +// This object is used to assert a desired state where this WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection is +// empty. Go lacks global const objects, but this object should be treated +// as one. Modifying this object will have undesirable results. +var EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection = &WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection{empty: true} + +func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection) Empty() bool { + return r.empty +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection) String() string { + return dcl.SprintResource(r) +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection) HashCode() string { + // Placeholder for a more complex hash method that handles ordering, etc + // Hash resource body for easy comparison later + hash := sha256.Sum256([]byte(r.String())) + return fmt.Sprintf("%x", hash) +} + +type WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult struct { + empty bool `json:"-"` + MachineType *string `json:"machineType"` + VMCount *int64 `json:"vmCount"` +} + +type jsonWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult + +func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) UnmarshalJSON(data []byte) error { + var res jsonWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult + if err := json.Unmarshal(data, &res); err != nil { + return err + } + + var m map[string]interface{} + json.Unmarshal(data, &m) + + if len(m) == 0 { + *r = *EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult + } else { + + r.MachineType = res.MachineType + + r.VMCount = res.VMCount + + } + return nil +} + +// This object is used to assert a desired state where this WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult is +// empty. Go lacks global const objects, but this object should be treated +// as one. Modifying this object will have undesirable results. +var EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult = &WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult{empty: true} + +func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) Empty() bool { + return r.empty +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) String() string { + return dcl.SprintResource(r) +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) HashCode() string { + // Placeholder for a more complex hash method that handles ordering, etc + // Hash resource body for easy comparison later + hash := sha256.Sum256([]byte(r.String())) + return fmt.Sprintf("%x", hash) +} + type WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig struct { empty bool `json:"-"` NumInstances *int64 `json:"numInstances"` @@ -1118,7 +1430,8 @@ type WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig struct { Preemptibility *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnum `json:"preemptibility"` ManagedGroupConfig *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig `json:"managedGroupConfig"` Accelerators []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators `json:"accelerators"` - MinCpuPlatform *string `json:"minCpuPlatform"` + MinCpuPlatform *string `json:"minCpuPlatform"` + InstanceFlexibilityPolicy *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy `json:"instanceFlexibilityPolicy"` } type jsonWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig @@ -1156,6 +1469,8 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig) Unm r.MinCpuPlatform = res.MinCpuPlatform + r.InstanceFlexibilityPolicy = res.InstanceFlexibilityPolicy + } return nil } @@ -1330,6 +1645,211 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccel return fmt.Sprintf("%x", hash) } +type WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy struct { + empty bool `json:"-"` + InstanceMachineTypes map[string]string `json:"instanceMachineTypes"` + InstanceSelectionList []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection `json:"instanceSelectionList"` + InstanceSelectionResults []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult `json:"instanceSelectionResults"` + ProvisioningModelMix *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix `json:"provisioningModelMix"` +} + +type jsonWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy + +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy) UnmarshalJSON(data []byte) error { + var res jsonWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy + if err := json.Unmarshal(data, &res); err != nil { + return err + } + + var m map[string]interface{} + json.Unmarshal(data, &m) + + if len(m) == 0 { + *r = *EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy + } else { + + r.InstanceMachineTypes = res.InstanceMachineTypes + + r.InstanceSelectionList = res.InstanceSelectionList + + r.InstanceSelectionResults = res.InstanceSelectionResults + + r.ProvisioningModelMix = res.ProvisioningModelMix + + } + return nil +} + +// This object is used to assert a desired state where this WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy is +// empty. Go lacks global const objects, but this object should be treated +// as one. Modifying this object will have undesirable results. +var EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy = &WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy{empty: true} + +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy) Empty() bool { + return r.empty +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy) String() string { + return dcl.SprintResource(r) +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy) HashCode() string { + // Placeholder for a more complex hash method that handles ordering, etc + // Hash resource body for easy comparison later + hash := sha256.Sum256([]byte(r.String())) + return fmt.Sprintf("%x", hash) +} + +type WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection struct { + empty bool `json:"-"` + MachineTypes []string `json:"machineTypes"` + Rank *int64 `json:"rank"` + DiskConfig *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig `json:"diskConfig"` +} + +type jsonWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection + +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection) UnmarshalJSON(data []byte) error { + var res jsonWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection + if err := json.Unmarshal(data, &res); err != nil { + return err + } + + var m map[string]interface{} + json.Unmarshal(data, &m) + + if len(m) == 0 { + *r = *EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection + } else { + + r.MachineTypes = res.MachineTypes + + r.Rank = res.Rank + + r.DiskConfig = res.DiskConfig + + } + return nil +} + +// This object is used to assert a desired state where this WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection is +// empty. Go lacks global const objects, but this object should be treated +// as one. Modifying this object will have undesirable results. +var EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection = &WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection{empty: true} + +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection) Empty() bool { + return r.empty +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection) String() string { + return dcl.SprintResource(r) +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection) HashCode() string { + // Placeholder for a more complex hash method that handles ordering, etc + // Hash resource body for easy comparison later + hash := sha256.Sum256([]byte(r.String())) + return fmt.Sprintf("%x", hash) +} + +type WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult struct { + empty bool `json:"-"` + MachineType *string `json:"machineType"` + VMCount *int64 `json:"vmCount"` +} + +type jsonWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult + +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) UnmarshalJSON(data []byte) error { + var res jsonWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult + if err := json.Unmarshal(data, &res); err != nil { + return err + } + + var m map[string]interface{} + json.Unmarshal(data, &m) + + if len(m) == 0 { + *r = *EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult + } else { + + r.MachineType = res.MachineType + + r.VMCount = res.VMCount + + } + return nil +} + +// This object is used to assert a desired state where this WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult is +// empty. Go lacks global const objects, but this object should be treated +// as one. Modifying this object will have undesirable results. +var EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult = &WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult{empty: true} + +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) Empty() bool { + return r.empty +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) String() string { + return dcl.SprintResource(r) +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) HashCode() string { + // Placeholder for a more complex hash method that handles ordering, etc + // Hash resource body for easy comparison later + hash := sha256.Sum256([]byte(r.String())) + return fmt.Sprintf("%x", hash) +} + +type WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix struct { + empty bool `json:"-"` + StandardCapacityBase *int64 `json:"standardCapacityBase"` + StandardCapacityPercentAboveBase *int64 `json:"standardCapacityPercentAboveBase"` +} + +type jsonWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix + +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix) UnmarshalJSON(data []byte) error { + var res jsonWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix + if err := json.Unmarshal(data, &res); err != nil { + return err + } + + var m map[string]interface{} + json.Unmarshal(data, &m) + + if len(m) == 0 { + *r = *EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix + } else { + + r.StandardCapacityBase = res.StandardCapacityBase + + r.StandardCapacityPercentAboveBase = res.StandardCapacityPercentAboveBase + + } + return nil +} + +// This object is used to assert a desired state where this WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix is +// empty. Go lacks global const objects, but this object should be treated +// as one. Modifying this object will have undesirable results. +var EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix = &WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix{empty: true} + +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix) Empty() bool { + return r.empty +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix) String() string { + return dcl.SprintResource(r) +} + +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix) HashCode() string { + // Placeholder for a more complex hash method that handles ordering, etc + // Hash resource body for easy comparison later + hash := sha256.Sum256([]byte(r.String())) + return fmt.Sprintf("%x", hash) +} + type WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig struct { empty bool `json:"-"` ImageVersion *string `json:"imageVersion"` diff --git a/mmv1/third_party/terraform/services/dataproc/workflow_template_internal.go.tmpl b/mmv1/third_party/terraform/services/dataproc/workflow_template_internal.go.tmpl index 661a68dd3e34..120b1bff6f64 100644 --- a/mmv1/third_party/terraform/services/dataproc/workflow_template_internal.go.tmpl +++ b/mmv1/third_party/terraform/services/dataproc/workflow_template_internal.go.tmpl @@ -176,6 +176,11 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfig) validate() e return err } } + if !dcl.IsEmptyValueIndirect(r.InstanceFlexibilityPolicy) { + if err := r.InstanceFlexibilityPolicy.validate(); err != nil { + return err + } + } return nil } func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig) validate() error { @@ -187,6 +192,15 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupCo func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators) validate() error { return nil } +func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy) validate() error { + return nil +} +func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection) validate() error { + return nil +} +func (r *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult) validate() error { + return nil +} func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfig) validate() error { if !dcl.IsEmptyValueIndirect(r.DiskConfig) { if err := r.DiskConfig.validate(); err != nil { @@ -198,6 +212,11 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfig) validate() e return err } } + if !dcl.IsEmptyValueIndirect(r.InstanceFlexibilityPolicy) { + if err := r.InstanceFlexibilityPolicy.validate(); err != nil { + return err + } + } return nil } func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig) validate() error { @@ -209,6 +228,15 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupCo func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators) validate() error { return nil } +func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy) validate() error { + return nil +} +func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection) validate() error { + return nil +} +func (r *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) validate() error { + return nil +} func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig) validate() error { if !dcl.IsEmptyValueIndirect(r.DiskConfig) { if err := r.DiskConfig.validate(); err != nil { @@ -220,6 +248,11 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig) val return err } } + if !dcl.IsEmptyValueIndirect(r.InstanceFlexibilityPolicy) { + if err := r.InstanceFlexibilityPolicy.validate(); err != nil { + return err + } + } return nil } func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig) validate() error { @@ -231,6 +264,23 @@ func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManag func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators) validate() error { return nil } +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy) validate() error { + if !dcl.IsEmptyValueIndirect(r.ProvisioningModelMix) { + if err := r.ProvisioningModelMix.validate(); err != nil { + return err + } + } + return nil +} +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection) validate() error { + return nil +} +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) validate() error { + return nil +} +func (r *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix) validate() error { + return nil +} func (r *WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig) validate() error { return nil } @@ -2034,6 +2084,7 @@ func canonicalizeWorkflowTemplatePlacementManagedClusterConfigMasterConfig(des, } else { cDes.MinCpuPlatform = des.MinCpuPlatform } + cDes.InstanceFlexibilityPolicy = canonicalizeWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy(des.InstanceFlexibilityPolicy, initial.InstanceFlexibilityPolicy, opts...) return cDes } @@ -2095,6 +2146,7 @@ func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c if dcl.StringCanonicalize(des.MinCpuPlatform, nw.MinCpuPlatform) { nw.MinCpuPlatform = des.MinCpuPlatform } + nw.InstanceFlexibilityPolicy = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy(c, des.InstanceFlexibilityPolicy, nw.InstanceFlexibilityPolicy) return nw } @@ -2514,6 +2566,140 @@ func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcc return items } +func canonicalizeWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy(des, initial *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy, opts ...dcl.ApplyOption) *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy { + if des == nil { + return initial + } + if des.empty { + return des + } + + if initial == nil { + return des + } + + cDes := &WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy{} + + cDes.InstanceSelectionList = canonicalizeWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionSlice(des.InstanceSelectionList, initial.InstanceSelectionList, opts...) + + return cDes +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy(c *DclClient, des, nw *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy) *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy { + if des == nil { + return nw + } + + if nw == nil { + if dcl.IsEmptyValueIndirect(des) { + c.Config.Logger.Info("Found explicitly empty value for WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy while comparing non-nil desired to nil actual. Returning desired object.") + return des + } + return nil + } + + nw.InstanceSelectionList = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c, des.InstanceSelectionList, nw.InstanceSelectionList) + + return nw +} + +func canonicalizeWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection(des, initial *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection, opts ...dcl.ApplyOption) *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection { + if des == nil { + return initial + } + if des.empty { + return des + } + + if initial == nil { + return des + } + + cDes := &WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection{} + + if dcl.StringArrayCanonicalize(des.MachineTypes, initial.MachineTypes) { + cDes.MachineTypes = initial.MachineTypes + } else { + cDes.MachineTypes = des.MachineTypes + } + if dcl.IsZeroValue(des.Rank) || (dcl.IsEmptyValueIndirect(des.Rank) && dcl.IsEmptyValueIndirect(initial.Rank)) { + cDes.Rank = initial.Rank + } else { + cDes.Rank = des.Rank + } + cDes.DiskConfig = canonicalizeWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(des.DiskConfig, initial.DiskConfig, opts...) + + return cDes +} + +func canonicalizeWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionSlice(des, initial []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection, opts ...dcl.ApplyOption) []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection { + if dcl.IsEmptyValueIndirect(des) { + return initial + } + + if len(des) != len(initial) { + items := make([]WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection, 0, len(des)) + for _, d := range des { + cd := canonicalizeWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection(&d, nil, opts...) + if cd != nil { + items = append(items, *cd) + } + } + return items + } + + items := make([]WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection, 0, len(des)) + for i, d := range des { + cd := canonicalizeWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection(&d, &initial[i], opts...) + if cd != nil { + items = append(items, *cd) + } + } + return items +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection(c *DclClient, des, nw *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection) *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection { + if des == nil { + return nw + } + + if nw == nil { + if dcl.IsEmptyValueIndirect(des) { + c.Config.Logger.Info("Found explicitly empty value for WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection while comparing non-nil desired to nil actual. Returning desired object.") + return des + } + return nil + } + + if dcl.StringArrayCanonicalize(des.MachineTypes, nw.MachineTypes) { + nw.MachineTypes = des.MachineTypes + } + nw.DiskConfig = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c, des.DiskConfig, nw.DiskConfig) + + return nw +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c *DclClient, des, nw []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection) []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection { + if des == nil { + return nw + } + + // Lengths are unequal. A diff will occur later, so we shouldn't canonicalize. + // Return the original array. + if len(des) != len(nw) { + return nw + } + + var items []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection + for i, d := range des { + n := nw[i] + items = append(items, *canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection(c, &d, &n)) + } + + return items +} + + func canonicalizeWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(des, initial *WorkflowTemplatePlacementManagedClusterConfigWorkerConfig, opts ...dcl.ApplyOption) *WorkflowTemplatePlacementManagedClusterConfigWorkerConfig { if des == nil { return initial @@ -2558,6 +2744,7 @@ func canonicalizeWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(des, } else { cDes.MinCpuPlatform = des.MinCpuPlatform } + cDes.InstanceFlexibilityPolicy = canonicalizeWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy(des.InstanceFlexibilityPolicy, initial.InstanceFlexibilityPolicy, opts...) return cDes } @@ -2619,10 +2806,148 @@ func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c if dcl.StringCanonicalize(des.MinCpuPlatform, nw.MinCpuPlatform) { nw.MinCpuPlatform = des.MinCpuPlatform } + nw.InstanceFlexibilityPolicy = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy(c, des.InstanceFlexibilityPolicy, nw.InstanceFlexibilityPolicy) + + return nw +} + +func canonicalizeWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy(des, initial *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy, opts ...dcl.ApplyOption) *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy { + if des == nil { + return initial + } + if des.empty { + return des + } + + if initial == nil { + return des + } + + cDes := &WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy{} + + cDes.InstanceSelectionList = canonicalizeWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSlice(des.InstanceSelectionList, initial.InstanceSelectionList, opts...) + + return cDes +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy(c *DclClient, des, nw *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy) *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy { + if des == nil { + return nw + } + + if nw == nil { + if dcl.IsEmptyValueIndirect(des) { + c.Config.Logger.Info("Found explicitly empty value for WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy while comparing non-nil desired to nil actual. Returning desired object.") + return des + } + return nil + } + + nw.InstanceSelectionList = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c, des.InstanceSelectionList, nw.InstanceSelectionList) + + return nw +} + +func canonicalizeWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection(des, initial *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection, opts ...dcl.ApplyOption) *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection { + if des == nil { + return initial + } + if des.empty { + return des + } + + if initial == nil { + return des + } + + cDes := &WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection{} + + if dcl.StringArrayCanonicalize(des.MachineTypes, initial.MachineTypes) { + cDes.MachineTypes = initial.MachineTypes + } else { + cDes.MachineTypes = des.MachineTypes + } + if dcl.IsZeroValue(des.Rank) || (dcl.IsEmptyValueIndirect(des.Rank) && dcl.IsEmptyValueIndirect(initial.Rank)) { + cDes.Rank = initial.Rank + } else { + cDes.Rank = des.Rank + } + cDes.DiskConfig = canonicalizeWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig(des.DiskConfig, initial.DiskConfig, opts...) + + return cDes +} + +func canonicalizeWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSlice(des, initial []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection, opts ...dcl.ApplyOption) []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection { + if dcl.IsEmptyValueIndirect(des) { + return initial + } + + if len(des) != len(initial) { + items := make([]WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection, 0, len(des)) + for _, d := range des { + cd := canonicalizeWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection(&d, nil, opts...) + if cd != nil { + items = append(items, *cd) + } + } + return items + } + + items := make([]WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection, 0, len(des)) + for i, d := range des { + cd := canonicalizeWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection(&d, &initial[i], opts...) + if cd != nil { + items = append(items, *cd) + } + } + return items +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection(c *DclClient, des, nw *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection) *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection { + if des == nil { + return nw + } + + if nw == nil { + if dcl.IsEmptyValueIndirect(des) { + c.Config.Logger.Info("Found explicitly empty value for WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection while comparing non-nil desired to nil actual. Returning desired object.") + return des + } + return nil + } + + if dcl.StringArrayCanonicalize(des.MachineTypes, nw.MachineTypes) { + nw.MachineTypes = des.MachineTypes + } + nw.DiskConfig = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig(c, des.DiskConfig, nw.DiskConfig) return nw } +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c *DclClient, des, nw []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection) []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection { + if des == nil { + return nw + } + + if nw == nil { + if dcl.IsEmptyValueIndirect(des) { + c.Config.Logger.Info("Found explicitly empty value for WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection while comparing non-nil desired to nil actual. Returning desired object.") + return des + } + return nil + } + + var items []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection + for i, d := range des { + n := nw[i] + items = append(items, *canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection(c, &d, &n)) + } + + return items +} + + + func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigWorkerConfigSet(c *DclClient, des, nw []WorkflowTemplatePlacementManagedClusterConfigWorkerConfig) []WorkflowTemplatePlacementManagedClusterConfigWorkerConfig { if des == nil { return nw @@ -3082,6 +3407,7 @@ func canonicalizeWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerCon } else { cDes.MinCpuPlatform = des.MinCpuPlatform } + cDes.InstanceFlexibilityPolicy = canonicalizeWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy(des.InstanceFlexibilityPolicy, initial.InstanceFlexibilityPolicy, opts...) return cDes } @@ -3143,13 +3469,195 @@ func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigSecondaryWorker if dcl.StringCanonicalize(des.MinCpuPlatform, nw.MinCpuPlatform) { nw.MinCpuPlatform = des.MinCpuPlatform } + nw.InstanceFlexibilityPolicy = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy(c, des.InstanceFlexibilityPolicy, nw.InstanceFlexibilityPolicy) return nw } -func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigSet(c *DclClient, des, nw []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig) []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig { +func canonicalizeWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy(des, initial *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy, opts ...dcl.ApplyOption) *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy { if des == nil { - return nw + return initial + } + if des.empty { + return des + } + + if initial == nil { + return des + } + + cDes := &WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy{} + + cDes.InstanceSelectionList = canonicalizeWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSlice(des.InstanceSelectionList, initial.InstanceSelectionList, opts...) + cDes.ProvisioningModelMix = canonicalizeWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix(des.ProvisioningModelMix, initial.ProvisioningModelMix, opts...) + + return cDes +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy(c *DclClient, des, nw *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy) *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy { + if des == nil { + return nw + } + + if nw == nil { + if dcl.IsEmptyValueIndirect(des) { + c.Config.Logger.Info("Found explicitly empty value for WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy while comparing non-nil desired to nil actual. Returning desired object.") + return des + } + return nil + } + + nw.InstanceSelectionList = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c, des.InstanceSelectionList, nw.InstanceSelectionList) + nw.ProvisioningModelMix = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix(c, des.ProvisioningModelMix, nw.ProvisioningModelMix) + + return nw +} + +func canonicalizeWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection(des, initial *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection, opts ...dcl.ApplyOption) *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection { + if des == nil { + return initial + } + if des.empty { + return des + } + + if initial == nil { + return des + } + + cDes := &WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection{} + + if dcl.StringArrayCanonicalize(des.MachineTypes, initial.MachineTypes) { + cDes.MachineTypes = initial.MachineTypes + } else { + cDes.MachineTypes = des.MachineTypes + } + if dcl.IsZeroValue(des.Rank) || (dcl.IsEmptyValueIndirect(des.Rank) && dcl.IsEmptyValueIndirect(initial.Rank)) { + cDes.Rank = initial.Rank + } else { + cDes.Rank = des.Rank + } + cDes.DiskConfig = canonicalizeWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig(des.DiskConfig, initial.DiskConfig, opts...) + + return cDes +} + +func canonicalizeWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSlice(des, initial []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection, opts ...dcl.ApplyOption) []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection { + if dcl.IsEmptyValueIndirect(des) { + return initial + } + + if len(des) != len(initial) { + items := make([]WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection, 0, len(des)) + for _, d := range des { + cd := canonicalizeWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection(&d, nil, opts...) + if cd != nil { + items = append(items, *cd) + } + } + return items + } + + items := make([]WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection, 0, len(des)) + for i, d := range des { + cd := canonicalizeWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection(&d, &initial[i], opts...) + if cd != nil { + items = append(items, *cd) + } + } + return items +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection(c *DclClient, des, nw *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection) *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection { + if des == nil { + return nw + } + + if nw == nil { + if dcl.IsEmptyValueIndirect(des) { + c.Config.Logger.Info("Found explicitly empty value for WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection while comparing non-nil desired to nil actual. Returning desired object.") + return des + } + return nil + } + + if dcl.StringArrayCanonicalize(des.MachineTypes, nw.MachineTypes) { + nw.MachineTypes = des.MachineTypes + } + nw.DiskConfig = canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig(c, des.DiskConfig, nw.DiskConfig) + + return nw +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c *DclClient, des, nw []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection) []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection { + if des == nil { + return nw + } + + if nw == nil { + if dcl.IsEmptyValueIndirect(des) { + c.Config.Logger.Info("Found explicitly empty value for WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection while comparing non-nil desired to nil actual. Returning desired object.") + return des + } + return nil + } + + var items []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection + for i, d := range des { + n := nw[i] + items = append(items, *canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection(c, &d, &n)) + } + + return items +} + +func canonicalizeWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix(des, initial *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix, opts ...dcl.ApplyOption) *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix { + if des == nil { + return initial + } + if des.empty { + return des + } + + if initial == nil { + return des + } + + cDes := &WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix{} + + if dcl.IsZeroValue(des.StandardCapacityBase) || (dcl.IsEmptyValueIndirect(des.StandardCapacityBase) && dcl.IsEmptyValueIndirect(initial.StandardCapacityBase)) { + cDes.StandardCapacityBase = initial.StandardCapacityBase + } else { + cDes.StandardCapacityBase = des.StandardCapacityBase + } + if dcl.IsZeroValue(des.StandardCapacityPercentAboveBase) || (dcl.IsEmptyValueIndirect(des.StandardCapacityPercentAboveBase) && dcl.IsEmptyValueIndirect(initial.StandardCapacityPercentAboveBase)) { + cDes.StandardCapacityPercentAboveBase = initial.StandardCapacityPercentAboveBase + } else { + cDes.StandardCapacityPercentAboveBase = des.StandardCapacityPercentAboveBase + } + + return cDes +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix(c *DclClient, des, nw *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix) *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix { + if des == nil { + return nw + } + + if nw == nil { + if dcl.IsEmptyValueIndirect(des) { + c.Config.Logger.Info("Found explicitly empty value for WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix while comparing non-nil desired to nil actual. Returning desired object.") + return des + } + return nil + } + + return nw +} + +func canonicalizeNewWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigSet(c *DclClient, des, nw []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig) []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig { + if des == nil { + return nw } // Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw. @@ -9041,6 +9549,13 @@ func compareWorkflowTemplatePlacementManagedClusterConfigMasterConfigNewStyle(d, } diffs = append(diffs, ds...) } + + if ds, err := dcl.Diff(desired.InstanceFlexibilityPolicy, actual.InstanceFlexibilityPolicy, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceFlexibilityPolicy")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } return diffs, nil } @@ -9159,297 +9674,222 @@ func compareWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerator return diffs, nil } -func compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfig) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfig) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfig or *WorkflowTemplatePlacementManagedClusterConfigWorkerConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy or *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfig) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy) if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfig) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.NumInstances, actual.NumInstances, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("NumInstances")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.InstanceMachineTypes, actual.InstanceMachineTypes, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceMachineTypes")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.InstanceNames, actual.InstanceNames, dcl.DiffInfo{OutputOnly: true, ServerDefault: true, Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceNames")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.InstanceSelectionList, actual.InstanceSelectionList, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceSelectionList")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Image, actual.Image, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ImageUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.InstanceSelectionResults, actual.InstanceSelectionResults, dcl.DiffInfo{OutputOnly: true, ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResultNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceSelectionResults")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.MachineType, actual.MachineType, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MachineTypeUri")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } + return diffs, nil +} - if ds, err := dcl.Diff(desired.DiskConfig, actual.DiskConfig, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfigNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DiskConfig")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } +func compareWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff - if ds, err := dcl.Diff(desired.IsPreemptible, actual.IsPreemptible, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("IsPreemptible")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection or *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection", d) } - diffs = append(diffs, ds...) + desired = &desiredNotPointer } - - if ds, err := dcl.Diff(desired.Preemptibility, actual.Preemptibility, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Preemptibility")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection", a) } - diffs = append(diffs, ds...) + actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.ManagedGroupConfig, actual.ManagedGroupConfig, dcl.DiffInfo{OutputOnly: true, ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfigNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ManagedGroupConfig")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.MachineTypes, actual.MachineTypes, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MachineTypes")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Accelerators, actual.Accelerators, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAcceleratorsNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Accelerators")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Rank, actual.Rank, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Rank")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.MinCpuPlatform, actual.MinCpuPlatform, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MinCpuPlatform")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.DiskConfig, actual.DiskConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DiskConfig")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } + return diffs, nil } -func compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResultNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig or *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult or *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult) if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.BootDiskType, actual.BootDiskType, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("BootDiskType")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.MachineType, actual.MachineType, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MachineType")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.BootDiskSizeGb, actual.BootDiskSizeGb, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("BootDiskSizeGb")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.VMCount, actual.VMCount, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("VmCount")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.NumLocalSsds, actual.NumLocalSsds, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("NumLocalSsds")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } return diffs, nil } -func compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfig) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig or *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfig or *WorkflowTemplatePlacementManagedClusterConfigWorkerConfig", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfig) if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfig", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.InstanceTemplateName, actual.InstanceTemplateName, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceTemplateName")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.NumInstances, actual.NumInstances, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("NumInstances")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.InstanceGroupManagerName, actual.InstanceGroupManagerName, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceGroupManagerName")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.InstanceNames, actual.InstanceNames, dcl.DiffInfo{OutputOnly: true, ServerDefault: true, Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceNames")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - return diffs, nil -} - -func compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAcceleratorsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { - var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators) - if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators or *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators", d) + if ds, err := dcl.Diff(desired.Image, actual.Image, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ImageUri")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err } - desired = &desiredNotPointer + diffs = append(diffs, ds...) } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators) - if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators", a) + + if ds, err := dcl.Diff(desired.MachineType, actual.MachineType, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MachineTypeUri")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err } - actual = &actualNotPointer + diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.AcceleratorType, actual.AcceleratorType, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("AcceleratorTypeUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.DiskConfig, actual.DiskConfig, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfigNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DiskConfig")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.AcceleratorCount, actual.AcceleratorCount, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("AcceleratorCount")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.IsPreemptible, actual.IsPreemptible, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("IsPreemptible")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - return diffs, nil -} -func compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { - var diffs []*dcl.FieldDiff - - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig) - if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig or *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig", d) - } - desired = &desiredNotPointer - } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig) - if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig", a) - } - actual = &actualNotPointer - } - - if ds, err := dcl.Diff(desired.NumInstances, actual.NumInstances, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("NumInstances")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - - if ds, err := dcl.Diff(desired.InstanceNames, actual.InstanceNames, dcl.DiffInfo{OutputOnly: true, ServerDefault: true, Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceNames")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - - if ds, err := dcl.Diff(desired.Image, actual.Image, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ImageUri")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - - if ds, err := dcl.Diff(desired.MachineType, actual.MachineType, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MachineTypeUri")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - - if ds, err := dcl.Diff(desired.DiskConfig, actual.DiskConfig, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfigNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DiskConfig")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - - if ds, err := dcl.Diff(desired.IsPreemptible, actual.IsPreemptible, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("IsPreemptible")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Preemptibility, actual.Preemptibility, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Preemptibility")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Preemptibility, actual.Preemptibility, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Preemptibility")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.ManagedGroupConfig, actual.ManagedGroupConfig, dcl.DiffInfo{OutputOnly: true, ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfigNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ManagedGroupConfig")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.ManagedGroupConfig, actual.ManagedGroupConfig, dcl.DiffInfo{OutputOnly: true, ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfigNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ManagedGroupConfig")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Accelerators, actual.Accelerators, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAcceleratorsNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Accelerators")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Accelerators, actual.Accelerators, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Accelerators")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.MinCpuPlatform, actual.MinCpuPlatform, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MinCpuPlatform")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.MinCpuPlatform, actual.MinCpuPlatform, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MinCpuPlatform")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.InstanceFlexibilityPolicy, actual.InstanceFlexibilityPolicy, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceFlexibilityPolicy")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -9458,156 +9898,170 @@ func compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigNe return diffs, nil } -func compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig or *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy or *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy) if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.BootDiskType, actual.BootDiskType, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("BootDiskType")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.InstanceMachineTypes, actual.InstanceMachineTypes, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceMachineTypes")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.BootDiskSizeGb, actual.BootDiskSizeGb, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("BootDiskSizeGb")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.InstanceSelectionList, actual.InstanceSelectionList, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceSelectionList")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.NumLocalSsds, actual.NumLocalSsds, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("NumLocalSsds")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.InstanceSelectionResults, actual.InstanceSelectionResults, dcl.DiffInfo{OutputOnly: true, ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceSelectionResults")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } + + + return diffs, nil } -func compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig or *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection or *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection) if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.InstanceTemplateName, actual.InstanceTemplateName, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceTemplateName")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.MachineTypes, actual.MachineTypes, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MachineTypes")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.InstanceGroupManagerName, actual.InstanceGroupManagerName, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceGroupManagerName")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Rank, actual.Rank, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Rank")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.DiskConfig, actual.DiskConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfigNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DiskConfig")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } + return diffs, nil } -func compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators or *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult or *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.AcceleratorType, actual.AcceleratorType, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("AcceleratorTypeUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.MachineType, actual.MachineType, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MachineType")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.AcceleratorCount, actual.AcceleratorCount, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("AcceleratorCount")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.VMCount, actual.VMCount, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("VmCount")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } + return diffs, nil } -func compareWorkflowTemplatePlacementManagedClusterConfigSoftwareConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + + +func compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig or *WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig or *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig) if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.ImageVersion, actual.ImageVersion, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ImageVersion")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.BootDiskType, actual.BootDiskType, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("BootDiskType")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Properties, actual.Properties, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Properties")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.BootDiskSizeGb, actual.BootDiskSizeGb, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("BootDiskSizeGb")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.OptionalComponents, actual.OptionalComponents, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("OptionalComponents")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.NumLocalSsds, actual.NumLocalSsds, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("NumLocalSsds")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -9616,34 +10070,34 @@ func compareWorkflowTemplatePlacementManagedClusterConfigSoftwareConfigNewStyle( return diffs, nil } -func compareWorkflowTemplatePlacementManagedClusterConfigInitializationActionsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigInitializationActions) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigInitializationActions) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigInitializationActions or *WorkflowTemplatePlacementManagedClusterConfigInitializationActions", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig or *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigInitializationActions) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig) if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigInitializationActions) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigInitializationActions", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.ExecutableFile, actual.ExecutableFile, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ExecutableFile")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.InstanceTemplateName, actual.InstanceTemplateName, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceTemplateName")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.ExecutionTimeout, actual.ExecutionTimeout, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ExecutionTimeout")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.InstanceGroupManagerName, actual.InstanceGroupManagerName, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceGroupManagerName")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -9652,56 +10106,34 @@ func compareWorkflowTemplatePlacementManagedClusterConfigInitializationActionsNe return diffs, nil } -func compareWorkflowTemplatePlacementManagedClusterConfigEncryptionConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAcceleratorsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig or *WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators or *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators) if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.GcePdKmsKeyName, actual.GcePdKmsKeyName, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("GcePdKmsKeyName")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.AcceleratorType, actual.AcceleratorType, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("AcceleratorTypeUri")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - return diffs, nil -} - -func compareWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { - var diffs []*dcl.FieldDiff - - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig) - if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig or *WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig", d) - } - desired = &desiredNotPointer - } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig) - if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig", a) - } - actual = &actualNotPointer - } - if ds, err := dcl.Diff(desired.Policy, actual.Policy, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PolicyUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.AcceleratorCount, actual.AcceleratorCount, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("AcceleratorCount")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -9710,306 +10142,309 @@ func compareWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfigNewSty return diffs, nil } -func compareWorkflowTemplatePlacementManagedClusterConfigSecurityConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSecurityConfig) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSecurityConfig) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecurityConfig or *WorkflowTemplatePlacementManagedClusterConfigSecurityConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig or *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSecurityConfig) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig) if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSecurityConfig) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecurityConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.KerberosConfig, actual.KerberosConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfigNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("KerberosConfig")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.NumInstances, actual.NumInstances, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("NumInstances")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - return diffs, nil -} -func compareWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { - var diffs []*dcl.FieldDiff - - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig) - if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig or *WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig", d) - } - desired = &desiredNotPointer - } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig) - if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig", a) + if ds, err := dcl.Diff(desired.InstanceNames, actual.InstanceNames, dcl.DiffInfo{OutputOnly: true, ServerDefault: true, Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceNames")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err } - actual = &actualNotPointer + diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.EnableKerberos, actual.EnableKerberos, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("EnableKerberos")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Image, actual.Image, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ImageUri")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.RootPrincipalPassword, actual.RootPrincipalPassword, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("RootPrincipalPasswordUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.MachineType, actual.MachineType, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MachineTypeUri")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.KmsKey, actual.KmsKey, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("KmsKeyUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.DiskConfig, actual.DiskConfig, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfigNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DiskConfig")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Keystore, actual.Keystore, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("KeystoreUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.IsPreemptible, actual.IsPreemptible, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("IsPreemptible")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Truststore, actual.Truststore, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("TruststoreUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Preemptibility, actual.Preemptibility, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Preemptibility")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.KeystorePassword, actual.KeystorePassword, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("KeystorePasswordUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.ManagedGroupConfig, actual.ManagedGroupConfig, dcl.DiffInfo{OutputOnly: true, ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfigNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ManagedGroupConfig")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.KeyPassword, actual.KeyPassword, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("KeyPasswordUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Accelerators, actual.Accelerators, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Accelerators")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.TruststorePassword, actual.TruststorePassword, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("TruststorePasswordUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.MinCpuPlatform, actual.MinCpuPlatform, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MinCpuPlatform")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.CrossRealmTrustRealm, actual.CrossRealmTrustRealm, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CrossRealmTrustRealm")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.InstanceFlexibilityPolicy, actual.InstanceFlexibilityPolicy, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceFlexibilityPolicy")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } + return diffs, nil +} + +func compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy or *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy", d) + } + desired = &desiredNotPointer + } + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy", a) + } + actual = &actualNotPointer + } - if ds, err := dcl.Diff(desired.CrossRealmTrustKdc, actual.CrossRealmTrustKdc, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CrossRealmTrustKdc")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.InstanceMachineTypes, actual.InstanceMachineTypes, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceMachineTypes")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.CrossRealmTrustAdminServer, actual.CrossRealmTrustAdminServer, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CrossRealmTrustAdminServer")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.InstanceSelectionList, actual.InstanceSelectionList, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceSelectionList")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.CrossRealmTrustSharedPassword, actual.CrossRealmTrustSharedPassword, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CrossRealmTrustSharedPasswordUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.InstanceSelectionResults, actual.InstanceSelectionResults, dcl.DiffInfo{OutputOnly: true, ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceSelectionResults")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.KdcDbKey, actual.KdcDbKey, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("KdcDbKeyUri")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - - if ds, err := dcl.Diff(desired.TgtLifetimeHours, actual.TgtLifetimeHours, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("TgtLifetimeHours")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.ProvisioningModelMix, actual.ProvisioningModelMix, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMixNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ProvisioningModelMix")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Realm, actual.Realm, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Realm")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } return diffs, nil } -func compareWorkflowTemplatePlacementManagedClusterConfigLifecycleConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig or *WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection or *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection) if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.IdleDeleteTtl, actual.IdleDeleteTtl, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("IdleDeleteTtl")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.MachineTypes, actual.MachineTypes, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MachineTypes")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.AutoDeleteTime, actual.AutoDeleteTime, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("AutoDeleteTime")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Rank, actual.Rank, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Rank")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.AutoDeleteTtl, actual.AutoDeleteTtl, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("AutoDeleteTtl")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.DiskConfig, actual.DiskConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfigNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DiskConfig")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.IdleStartTime, actual.IdleStartTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("IdleStartTime")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } return diffs, nil } -func compareWorkflowTemplatePlacementManagedClusterConfigEndpointConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigEndpointConfig) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigEndpointConfig) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigEndpointConfig or *WorkflowTemplatePlacementManagedClusterConfigEndpointConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult or *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigEndpointConfig) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigEndpointConfig) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigEndpointConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.HttpPorts, actual.HttpPorts, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("HttpPorts")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.MachineType, actual.MachineType, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MachineType")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.EnableHttpPortAccess, actual.EnableHttpPortAccess, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("EnableHttpPortAccess")); len(ds) != 0 || err != nil { -{{- if ne $.TargetVersionName "ga" }} + if ds, err := dcl.Diff(desired.VMCount, actual.VMCount, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("VmCount")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } + return diffs, nil } -func compareWorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMixNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig or *WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix or *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix) if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.NamespacedGkeDeploymentTarget, actual.NamespacedGkeDeploymentTarget, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTargetNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("NamespacedGkeDeploymentTarget")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.StandardCapacityBase, actual.StandardCapacityBase, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("StandardCapacityBase")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.StandardCapacityPercentAboveBase, actual.StandardCapacityPercentAboveBase, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("StandardCapacityPercentAboveBase")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } + return diffs, nil } -func compareWorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTargetNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget or *WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig or *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig) if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.TargetGkeCluster, actual.TargetGkeCluster, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("TargetGkeCluster")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.BootDiskType, actual.BootDiskType, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("BootDiskType")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.ClusterNamespace, actual.ClusterNamespace, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ClusterNamespace")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.BootDiskSizeGb, actual.BootDiskSizeGb, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("BootDiskSizeGb")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.NumLocalSsds, actual.NumLocalSsds, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("NumLocalSsds")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -10018,28 +10453,34 @@ func compareWorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespa return diffs, nil } -func compareWorkflowTemplatePlacementManagedClusterConfigMetastoreConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig or *WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig or *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig) if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.DataprocMetastoreService, actual.DataprocMetastoreService, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DataprocMetastoreService")); len(ds) != 0 || err != nil { -{{- end }} + if ds, err := dcl.Diff(desired.InstanceTemplateName, actual.InstanceTemplateName, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceTemplateName")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.InstanceGroupManagerName, actual.InstanceGroupManagerName, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstanceGroupManagerName")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -10048,34 +10489,34 @@ func compareWorkflowTemplatePlacementManagedClusterConfigMetastoreConfigNewStyle return diffs, nil } -func compareWorkflowTemplatePlacementClusterSelectorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplatePlacementClusterSelector) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplatePlacementClusterSelector) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementClusterSelector or *WorkflowTemplatePlacementClusterSelector", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators or *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplatePlacementClusterSelector) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators) if !ok { - actualNotPointer, ok := a.(WorkflowTemplatePlacementClusterSelector) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementClusterSelector", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.Zone, actual.Zone, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Zone")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.AcceleratorType, actual.AcceleratorType, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("AcceleratorTypeUri")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.ClusterLabels, actual.ClusterLabels, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ClusterLabels")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.AcceleratorCount, actual.AcceleratorCount, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("AcceleratorCount")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -10084,104 +10525,106 @@ func compareWorkflowTemplatePlacementClusterSelectorNewStyle(d, a interface{}, f return diffs, nil } -func compareWorkflowTemplateJobsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigSoftwareConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobs) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobs) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobs or *WorkflowTemplateJobs", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig or *WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateJobs) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobs) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobs", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.StepId, actual.StepId, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("StepId")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.ImageVersion, actual.ImageVersion, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ImageVersion")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.HadoopJob, actual.HadoopJob, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsHadoopJobNewStyle, EmptyObject: EmptyWorkflowTemplateJobsHadoopJob, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("HadoopJob")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Properties, actual.Properties, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Properties")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.SparkJob, actual.SparkJob, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsSparkJobNewStyle, EmptyObject: EmptyWorkflowTemplateJobsSparkJob, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("SparkJob")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.OptionalComponents, actual.OptionalComponents, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("OptionalComponents")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } + return diffs, nil +} - if ds, err := dcl.Diff(desired.PysparkJob, actual.PysparkJob, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsPysparkJobNewStyle, EmptyObject: EmptyWorkflowTemplateJobsPysparkJob, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PysparkJob")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } +func compareWorkflowTemplatePlacementManagedClusterConfigInitializationActionsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff - if ds, err := dcl.Diff(desired.HiveJob, actual.HiveJob, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsHiveJobNewStyle, EmptyObject: EmptyWorkflowTemplateJobsHiveJob, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("HiveJob")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigInitializationActions) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigInitializationActions) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigInitializationActions or *WorkflowTemplatePlacementManagedClusterConfigInitializationActions", d) } - diffs = append(diffs, ds...) + desired = &desiredNotPointer } - - if ds, err := dcl.Diff(desired.PigJob, actual.PigJob, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsPigJobNewStyle, EmptyObject: EmptyWorkflowTemplateJobsPigJob, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PigJob")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigInitializationActions) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigInitializationActions) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigInitializationActions", a) } - diffs = append(diffs, ds...) + actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.SparkRJob, actual.SparkRJob, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsSparkRJobNewStyle, EmptyObject: EmptyWorkflowTemplateJobsSparkRJob, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("SparkRJob")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.ExecutableFile, actual.ExecutableFile, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ExecutableFile")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.SparkSqlJob, actual.SparkSqlJob, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsSparkSqlJobNewStyle, EmptyObject: EmptyWorkflowTemplateJobsSparkSqlJob, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("SparkSqlJob")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.ExecutionTimeout, actual.ExecutionTimeout, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ExecutionTimeout")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } + return diffs, nil +} - if ds, err := dcl.Diff(desired.PrestoJob, actual.PrestoJob, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsPrestoJobNewStyle, EmptyObject: EmptyWorkflowTemplateJobsPrestoJob, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PrestoJob")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } +func compareWorkflowTemplatePlacementManagedClusterConfigEncryptionConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff - if ds, err := dcl.Diff(desired.Labels, actual.Labels, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Labels")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig or *WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig", d) } - diffs = append(diffs, ds...) + desired = &desiredNotPointer } - - if ds, err := dcl.Diff(desired.Scheduling, actual.Scheduling, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsSchedulingNewStyle, EmptyObject: EmptyWorkflowTemplateJobsScheduling, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Scheduling")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig", a) } - diffs = append(diffs, ds...) + actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.PrerequisiteStepIds, actual.PrerequisiteStepIds, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PrerequisiteStepIds")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.GcePdKmsKeyName, actual.GcePdKmsKeyName, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("GcePdKmsKeyName")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -10190,76 +10633,56 @@ func compareWorkflowTemplateJobsNewStyle(d, a interface{}, fn dcl.FieldName) ([] return diffs, nil } -func compareWorkflowTemplateJobsHadoopJobNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsHadoopJob) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsHadoopJob) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsHadoopJob or *WorkflowTemplateJobsHadoopJob", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig or *WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateJobsHadoopJob) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsHadoopJob) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsHadoopJob", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.MainJarFileUri, actual.MainJarFileUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MainJarFileUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Policy, actual.Policy, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PolicyUri")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } + return diffs, nil +} - if ds, err := dcl.Diff(desired.MainClass, actual.MainClass, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MainClass")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err +func compareWorkflowTemplatePlacementManagedClusterConfigSecurityConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSecurityConfig) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSecurityConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecurityConfig or *WorkflowTemplatePlacementManagedClusterConfigSecurityConfig", d) } - diffs = append(diffs, ds...) + desired = &desiredNotPointer } - - if ds, err := dcl.Diff(desired.Args, actual.Args, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Args")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSecurityConfig) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSecurityConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecurityConfig", a) } - diffs = append(diffs, ds...) + actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.JarFileUris, actual.JarFileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("JarFileUris")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - - if ds, err := dcl.Diff(desired.FileUris, actual.FileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("FileUris")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - - if ds, err := dcl.Diff(desired.ArchiveUris, actual.ArchiveUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ArchiveUris")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - - if ds, err := dcl.Diff(desired.Properties, actual.Properties, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Properties")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - - if ds, err := dcl.Diff(desired.LoggingConfig, actual.LoggingConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsHadoopJobLoggingConfigNewStyle, EmptyObject: EmptyWorkflowTemplateJobsHadoopJobLoggingConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LoggingConfig")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.KerberosConfig, actual.KerberosConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfigNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("KerberosConfig")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -10268,134 +10691,125 @@ func compareWorkflowTemplateJobsHadoopJobNewStyle(d, a interface{}, fn dcl.Field return diffs, nil } -func compareWorkflowTemplateJobsHadoopJobLoggingConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsHadoopJobLoggingConfig) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsHadoopJobLoggingConfig) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsHadoopJobLoggingConfig or *WorkflowTemplateJobsHadoopJobLoggingConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig or *WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateJobsHadoopJobLoggingConfig) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsHadoopJobLoggingConfig) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsHadoopJobLoggingConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.DriverLogLevels, actual.DriverLogLevels, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DriverLogLevels")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.EnableKerberos, actual.EnableKerberos, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("EnableKerberos")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - return diffs, nil -} - -func compareWorkflowTemplateJobsSparkJobNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { - var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsSparkJob) - if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsSparkJob) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkJob or *WorkflowTemplateJobsSparkJob", d) + if ds, err := dcl.Diff(desired.RootPrincipalPassword, actual.RootPrincipalPassword, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("RootPrincipalPasswordUri")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err } - desired = &desiredNotPointer + diffs = append(diffs, ds...) } - actual, ok := a.(*WorkflowTemplateJobsSparkJob) - if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsSparkJob) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkJob", a) + + if ds, err := dcl.Diff(desired.KmsKey, actual.KmsKey, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("KmsKeyUri")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err } - actual = &actualNotPointer + diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.MainJarFileUri, actual.MainJarFileUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MainJarFileUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Keystore, actual.Keystore, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("KeystoreUri")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.MainClass, actual.MainClass, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MainClass")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Truststore, actual.Truststore, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("TruststoreUri")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Args, actual.Args, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Args")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.KeystorePassword, actual.KeystorePassword, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("KeystorePasswordUri")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.JarFileUris, actual.JarFileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("JarFileUris")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.KeyPassword, actual.KeyPassword, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("KeyPasswordUri")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.FileUris, actual.FileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("FileUris")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.TruststorePassword, actual.TruststorePassword, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("TruststorePasswordUri")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.ArchiveUris, actual.ArchiveUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ArchiveUris")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.CrossRealmTrustRealm, actual.CrossRealmTrustRealm, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CrossRealmTrustRealm")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Properties, actual.Properties, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Properties")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.CrossRealmTrustKdc, actual.CrossRealmTrustKdc, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CrossRealmTrustKdc")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.LoggingConfig, actual.LoggingConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsSparkJobLoggingConfigNewStyle, EmptyObject: EmptyWorkflowTemplateJobsSparkJobLoggingConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LoggingConfig")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.CrossRealmTrustAdminServer, actual.CrossRealmTrustAdminServer, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CrossRealmTrustAdminServer")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - return diffs, nil -} -func compareWorkflowTemplateJobsSparkJobLoggingConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { - var diffs []*dcl.FieldDiff + if ds, err := dcl.Diff(desired.CrossRealmTrustSharedPassword, actual.CrossRealmTrustSharedPassword, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CrossRealmTrustSharedPasswordUri")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } - desired, ok := d.(*WorkflowTemplateJobsSparkJobLoggingConfig) - if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsSparkJobLoggingConfig) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkJobLoggingConfig or *WorkflowTemplateJobsSparkJobLoggingConfig", d) + if ds, err := dcl.Diff(desired.KdcDbKey, actual.KdcDbKey, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("KdcDbKeyUri")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err } - desired = &desiredNotPointer + diffs = append(diffs, ds...) } - actual, ok := a.(*WorkflowTemplateJobsSparkJobLoggingConfig) - if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsSparkJobLoggingConfig) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkJobLoggingConfig", a) + + if ds, err := dcl.Diff(desired.TgtLifetimeHours, actual.TgtLifetimeHours, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("TgtLifetimeHours")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err } - actual = &actualNotPointer + diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.DriverLogLevels, actual.DriverLogLevels, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DriverLogLevels")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Realm, actual.Realm, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Realm")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -10404,76 +10818,85 @@ func compareWorkflowTemplateJobsSparkJobLoggingConfigNewStyle(d, a interface{}, return diffs, nil } -func compareWorkflowTemplateJobsPysparkJobNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigLifecycleConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsPysparkJob) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsPysparkJob) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPysparkJob or *WorkflowTemplateJobsPysparkJob", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig or *WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateJobsPysparkJob) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsPysparkJob) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPysparkJob", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.MainPythonFileUri, actual.MainPythonFileUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MainPythonFileUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.IdleDeleteTtl, actual.IdleDeleteTtl, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("IdleDeleteTtl")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Args, actual.Args, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Args")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.AutoDeleteTime, actual.AutoDeleteTime, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("AutoDeleteTime")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.PythonFileUris, actual.PythonFileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PythonFileUris")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.AutoDeleteTtl, actual.AutoDeleteTtl, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("AutoDeleteTtl")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.JarFileUris, actual.JarFileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("JarFileUris")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.IdleStartTime, actual.IdleStartTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("IdleStartTime")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } + return diffs, nil +} - if ds, err := dcl.Diff(desired.FileUris, actual.FileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("FileUris")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err +func compareWorkflowTemplatePlacementManagedClusterConfigEndpointConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigEndpointConfig) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigEndpointConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigEndpointConfig or *WorkflowTemplatePlacementManagedClusterConfigEndpointConfig", d) } - diffs = append(diffs, ds...) + desired = &desiredNotPointer } - - if ds, err := dcl.Diff(desired.ArchiveUris, actual.ArchiveUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ArchiveUris")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigEndpointConfig) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigEndpointConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigEndpointConfig", a) } - diffs = append(diffs, ds...) + actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.Properties, actual.Properties, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Properties")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.HttpPorts, actual.HttpPorts, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("HttpPorts")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.LoggingConfig, actual.LoggingConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsPysparkJobLoggingConfigNewStyle, EmptyObject: EmptyWorkflowTemplateJobsPysparkJobLoggingConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LoggingConfig")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.EnableHttpPortAccess, actual.EnableHttpPortAccess, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("EnableHttpPortAccess")); len(ds) != 0 || err != nil { +{{- if ne $.TargetVersionName "ga" }} if err != nil { return nil, err } @@ -10482,27 +10905,27 @@ func compareWorkflowTemplateJobsPysparkJobNewStyle(d, a interface{}, fn dcl.Fiel return diffs, nil } -func compareWorkflowTemplateJobsPysparkJobLoggingConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsPysparkJobLoggingConfig) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsPysparkJobLoggingConfig) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPysparkJobLoggingConfig or *WorkflowTemplateJobsPysparkJobLoggingConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig or *WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateJobsPysparkJobLoggingConfig) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsPysparkJobLoggingConfig) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPysparkJobLoggingConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.DriverLogLevels, actual.DriverLogLevels, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DriverLogLevels")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.NamespacedGkeDeploymentTarget, actual.NamespacedGkeDeploymentTarget, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTargetNewStyle, EmptyObject: EmptyWorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("NamespacedGkeDeploymentTarget")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -10511,62 +10934,64 @@ func compareWorkflowTemplateJobsPysparkJobLoggingConfigNewStyle(d, a interface{} return diffs, nil } -func compareWorkflowTemplateJobsHiveJobNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTargetNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsHiveJob) + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsHiveJob) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsHiveJob or *WorkflowTemplateJobsHiveJob", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget or *WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateJobsHiveJob) + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsHiveJob) + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsHiveJob", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigGkeClusterConfigNamespacedGkeDeploymentTarget", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.QueryFileUri, actual.QueryFileUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("QueryFileUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.TargetGkeCluster, actual.TargetGkeCluster, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("TargetGkeCluster")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.QueryList, actual.QueryList, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsHiveJobQueryListNewStyle, EmptyObject: EmptyWorkflowTemplateJobsHiveJobQueryList, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("QueryList")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.ClusterNamespace, actual.ClusterNamespace, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ClusterNamespace")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } + return diffs, nil +} - if ds, err := dcl.Diff(desired.ContinueOnFailure, actual.ContinueOnFailure, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ContinueOnFailure")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } +func compareWorkflowTemplatePlacementManagedClusterConfigMetastoreConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff - if ds, err := dcl.Diff(desired.ScriptVariables, actual.ScriptVariables, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ScriptVariables")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err + desired, ok := d.(*WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig or *WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig", d) } - diffs = append(diffs, ds...) + desired = &desiredNotPointer } - - if ds, err := dcl.Diff(desired.Properties, actual.Properties, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Properties")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err + actual, ok := a.(*WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementManagedClusterConfigMetastoreConfig", a) } - diffs = append(diffs, ds...) + actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.JarFileUris, actual.JarFileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("JarFileUris")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.DataprocMetastoreService, actual.DataprocMetastoreService, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DataprocMetastoreService")); len(ds) != 0 || err != nil { +{{- end }} if err != nil { return nil, err } @@ -10575,156 +11000,140 @@ func compareWorkflowTemplateJobsHiveJobNewStyle(d, a interface{}, fn dcl.FieldNa return diffs, nil } -func compareWorkflowTemplateJobsHiveJobQueryListNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplatePlacementClusterSelectorNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsHiveJobQueryList) + desired, ok := d.(*WorkflowTemplatePlacementClusterSelector) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsHiveJobQueryList) + desiredNotPointer, ok := d.(WorkflowTemplatePlacementClusterSelector) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsHiveJobQueryList or *WorkflowTemplateJobsHiveJobQueryList", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementClusterSelector or *WorkflowTemplatePlacementClusterSelector", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateJobsHiveJobQueryList) + actual, ok := a.(*WorkflowTemplatePlacementClusterSelector) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsHiveJobQueryList) + actualNotPointer, ok := a.(WorkflowTemplatePlacementClusterSelector) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsHiveJobQueryList", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplatePlacementClusterSelector", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.Queries, actual.Queries, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Queries")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Zone, actual.Zone, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Zone")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - return diffs, nil + + if ds, err := dcl.Diff(desired.ClusterLabels, actual.ClusterLabels, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ClusterLabels")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + return diffs, nil } -func compareWorkflowTemplateJobsPigJobNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplateJobsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsPigJob) + desired, ok := d.(*WorkflowTemplateJobs) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsPigJob) + desiredNotPointer, ok := d.(WorkflowTemplateJobs) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPigJob or *WorkflowTemplateJobsPigJob", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobs or *WorkflowTemplateJobs", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateJobsPigJob) + actual, ok := a.(*WorkflowTemplateJobs) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsPigJob) + actualNotPointer, ok := a.(WorkflowTemplateJobs) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPigJob", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobs", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.QueryFileUri, actual.QueryFileUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("QueryFileUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.StepId, actual.StepId, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("StepId")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.QueryList, actual.QueryList, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsPigJobQueryListNewStyle, EmptyObject: EmptyWorkflowTemplateJobsPigJobQueryList, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("QueryList")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.HadoopJob, actual.HadoopJob, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsHadoopJobNewStyle, EmptyObject: EmptyWorkflowTemplateJobsHadoopJob, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("HadoopJob")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.ContinueOnFailure, actual.ContinueOnFailure, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ContinueOnFailure")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.SparkJob, actual.SparkJob, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsSparkJobNewStyle, EmptyObject: EmptyWorkflowTemplateJobsSparkJob, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("SparkJob")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.ScriptVariables, actual.ScriptVariables, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ScriptVariables")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.PysparkJob, actual.PysparkJob, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsPysparkJobNewStyle, EmptyObject: EmptyWorkflowTemplateJobsPysparkJob, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PysparkJob")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Properties, actual.Properties, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Properties")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.HiveJob, actual.HiveJob, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsHiveJobNewStyle, EmptyObject: EmptyWorkflowTemplateJobsHiveJob, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("HiveJob")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.JarFileUris, actual.JarFileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("JarFileUris")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.PigJob, actual.PigJob, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsPigJobNewStyle, EmptyObject: EmptyWorkflowTemplateJobsPigJob, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PigJob")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.LoggingConfig, actual.LoggingConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsPigJobLoggingConfigNewStyle, EmptyObject: EmptyWorkflowTemplateJobsPigJobLoggingConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LoggingConfig")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.SparkRJob, actual.SparkRJob, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsSparkRJobNewStyle, EmptyObject: EmptyWorkflowTemplateJobsSparkRJob, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("SparkRJob")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - return diffs, nil -} - -func compareWorkflowTemplateJobsPigJobQueryListNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { - var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsPigJobQueryList) - if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsPigJobQueryList) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPigJobQueryList or *WorkflowTemplateJobsPigJobQueryList", d) - } - desired = &desiredNotPointer - } - actual, ok := a.(*WorkflowTemplateJobsPigJobQueryList) - if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsPigJobQueryList) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPigJobQueryList", a) + if ds, err := dcl.Diff(desired.SparkSqlJob, actual.SparkSqlJob, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsSparkSqlJobNewStyle, EmptyObject: EmptyWorkflowTemplateJobsSparkSqlJob, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("SparkSqlJob")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err } - actual = &actualNotPointer + diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Queries, actual.Queries, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Queries")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.PrestoJob, actual.PrestoJob, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsPrestoJobNewStyle, EmptyObject: EmptyWorkflowTemplateJobsPrestoJob, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PrestoJob")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - return diffs, nil -} - -func compareWorkflowTemplateJobsPigJobLoggingConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { - var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsPigJobLoggingConfig) - if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsPigJobLoggingConfig) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPigJobLoggingConfig or *WorkflowTemplateJobsPigJobLoggingConfig", d) + if ds, err := dcl.Diff(desired.Labels, actual.Labels, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Labels")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err } - desired = &desiredNotPointer + diffs = append(diffs, ds...) } - actual, ok := a.(*WorkflowTemplateJobsPigJobLoggingConfig) - if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsPigJobLoggingConfig) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPigJobLoggingConfig", a) + + if ds, err := dcl.Diff(desired.Scheduling, actual.Scheduling, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsSchedulingNewStyle, EmptyObject: EmptyWorkflowTemplateJobsScheduling, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Scheduling")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err } - actual = &actualNotPointer + diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.DriverLogLevels, actual.DriverLogLevels, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DriverLogLevels")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.PrerequisiteStepIds, actual.PrerequisiteStepIds, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PrerequisiteStepIds")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -10733,27 +11142,34 @@ func compareWorkflowTemplateJobsPigJobLoggingConfigNewStyle(d, a interface{}, fn return diffs, nil } -func compareWorkflowTemplateJobsSparkRJobNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplateJobsHadoopJobNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsSparkRJob) + desired, ok := d.(*WorkflowTemplateJobsHadoopJob) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsSparkRJob) + desiredNotPointer, ok := d.(WorkflowTemplateJobsHadoopJob) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkRJob or *WorkflowTemplateJobsSparkRJob", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsHadoopJob or *WorkflowTemplateJobsHadoopJob", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateJobsSparkRJob) + actual, ok := a.(*WorkflowTemplateJobsHadoopJob) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsSparkRJob) + actualNotPointer, ok := a.(WorkflowTemplateJobsHadoopJob) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkRJob", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsHadoopJob", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.MainRFileUri, actual.MainRFileUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MainRFileUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.MainJarFileUri, actual.MainJarFileUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MainJarFileUri")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.MainClass, actual.MainClass, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MainClass")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -10767,6 +11183,13 @@ func compareWorkflowTemplateJobsSparkRJobNewStyle(d, a interface{}, fn dcl.Field diffs = append(diffs, ds...) } + if ds, err := dcl.Diff(desired.JarFileUris, actual.JarFileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("JarFileUris")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + if ds, err := dcl.Diff(desired.FileUris, actual.FileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("FileUris")); len(ds) != 0 || err != nil { if err != nil { return nil, err @@ -10788,7 +11211,7 @@ func compareWorkflowTemplateJobsSparkRJobNewStyle(d, a interface{}, fn dcl.Field diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.LoggingConfig, actual.LoggingConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsSparkRJobLoggingConfigNewStyle, EmptyObject: EmptyWorkflowTemplateJobsSparkRJobLoggingConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LoggingConfig")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.LoggingConfig, actual.LoggingConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsHadoopJobLoggingConfigNewStyle, EmptyObject: EmptyWorkflowTemplateJobsHadoopJobLoggingConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LoggingConfig")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -10797,22 +11220,22 @@ func compareWorkflowTemplateJobsSparkRJobNewStyle(d, a interface{}, fn dcl.Field return diffs, nil } -func compareWorkflowTemplateJobsSparkRJobLoggingConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplateJobsHadoopJobLoggingConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsSparkRJobLoggingConfig) + desired, ok := d.(*WorkflowTemplateJobsHadoopJobLoggingConfig) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsSparkRJobLoggingConfig) + desiredNotPointer, ok := d.(WorkflowTemplateJobsHadoopJobLoggingConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkRJobLoggingConfig or *WorkflowTemplateJobsSparkRJobLoggingConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsHadoopJobLoggingConfig or *WorkflowTemplateJobsHadoopJobLoggingConfig", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateJobsSparkRJobLoggingConfig) + actual, ok := a.(*WorkflowTemplateJobsHadoopJobLoggingConfig) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsSparkRJobLoggingConfig) + actualNotPointer, ok := a.(WorkflowTemplateJobsHadoopJobLoggingConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkRJobLoggingConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsHadoopJobLoggingConfig", a) } actual = &actualNotPointer } @@ -10826,91 +11249,76 @@ func compareWorkflowTemplateJobsSparkRJobLoggingConfigNewStyle(d, a interface{}, return diffs, nil } -func compareWorkflowTemplateJobsSparkSqlJobNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplateJobsSparkJobNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsSparkSqlJob) + desired, ok := d.(*WorkflowTemplateJobsSparkJob) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsSparkSqlJob) + desiredNotPointer, ok := d.(WorkflowTemplateJobsSparkJob) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkSqlJob or *WorkflowTemplateJobsSparkSqlJob", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkJob or *WorkflowTemplateJobsSparkJob", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateJobsSparkSqlJob) + actual, ok := a.(*WorkflowTemplateJobsSparkJob) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsSparkSqlJob) + actualNotPointer, ok := a.(WorkflowTemplateJobsSparkJob) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkSqlJob", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkJob", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.QueryFileUri, actual.QueryFileUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("QueryFileUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.MainJarFileUri, actual.MainJarFileUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MainJarFileUri")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.QueryList, actual.QueryList, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsSparkSqlJobQueryListNewStyle, EmptyObject: EmptyWorkflowTemplateJobsSparkSqlJobQueryList, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("QueryList")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.MainClass, actual.MainClass, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MainClass")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.ScriptVariables, actual.ScriptVariables, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ScriptVariables")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Args, actual.Args, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Args")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Properties, actual.Properties, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Properties")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.JarFileUris, actual.JarFileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("JarFileUris")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.JarFileUris, actual.JarFileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("JarFileUris")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.FileUris, actual.FileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("FileUris")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.LoggingConfig, actual.LoggingConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsSparkSqlJobLoggingConfigNewStyle, EmptyObject: EmptyWorkflowTemplateJobsSparkSqlJobLoggingConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LoggingConfig")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.ArchiveUris, actual.ArchiveUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ArchiveUris")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - return diffs, nil -} - -func compareWorkflowTemplateJobsSparkSqlJobQueryListNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { - var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsSparkSqlJobQueryList) - if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsSparkSqlJobQueryList) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkSqlJobQueryList or *WorkflowTemplateJobsSparkSqlJobQueryList", d) - } - desired = &desiredNotPointer - } - actual, ok := a.(*WorkflowTemplateJobsSparkSqlJobQueryList) - if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsSparkSqlJobQueryList) - if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkSqlJobQueryList", a) + if ds, err := dcl.Diff(desired.Properties, actual.Properties, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Properties")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err } - actual = &actualNotPointer + diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Queries, actual.Queries, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Queries")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.LoggingConfig, actual.LoggingConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsSparkJobLoggingConfigNewStyle, EmptyObject: EmptyWorkflowTemplateJobsSparkJobLoggingConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LoggingConfig")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -10919,22 +11327,22 @@ func compareWorkflowTemplateJobsSparkSqlJobQueryListNewStyle(d, a interface{}, f return diffs, nil } -func compareWorkflowTemplateJobsSparkSqlJobLoggingConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplateJobsSparkJobLoggingConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsSparkSqlJobLoggingConfig) + desired, ok := d.(*WorkflowTemplateJobsSparkJobLoggingConfig) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsSparkSqlJobLoggingConfig) + desiredNotPointer, ok := d.(WorkflowTemplateJobsSparkJobLoggingConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkSqlJobLoggingConfig or *WorkflowTemplateJobsSparkSqlJobLoggingConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkJobLoggingConfig or *WorkflowTemplateJobsSparkJobLoggingConfig", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateJobsSparkSqlJobLoggingConfig) + actual, ok := a.(*WorkflowTemplateJobsSparkJobLoggingConfig) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsSparkSqlJobLoggingConfig) + actualNotPointer, ok := a.(WorkflowTemplateJobsSparkJobLoggingConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkSqlJobLoggingConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkJobLoggingConfig", a) } actual = &actualNotPointer } @@ -10948,55 +11356,62 @@ func compareWorkflowTemplateJobsSparkSqlJobLoggingConfigNewStyle(d, a interface{ return diffs, nil } -func compareWorkflowTemplateJobsPrestoJobNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplateJobsPysparkJobNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsPrestoJob) + desired, ok := d.(*WorkflowTemplateJobsPysparkJob) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsPrestoJob) + desiredNotPointer, ok := d.(WorkflowTemplateJobsPysparkJob) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPrestoJob or *WorkflowTemplateJobsPrestoJob", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPysparkJob or *WorkflowTemplateJobsPysparkJob", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateJobsPrestoJob) + actual, ok := a.(*WorkflowTemplateJobsPysparkJob) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsPrestoJob) + actualNotPointer, ok := a.(WorkflowTemplateJobsPysparkJob) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPrestoJob", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPysparkJob", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.QueryFileUri, actual.QueryFileUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("QueryFileUri")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.MainPythonFileUri, actual.MainPythonFileUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MainPythonFileUri")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.QueryList, actual.QueryList, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsPrestoJobQueryListNewStyle, EmptyObject: EmptyWorkflowTemplateJobsPrestoJobQueryList, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("QueryList")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Args, actual.Args, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Args")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.ContinueOnFailure, actual.ContinueOnFailure, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ContinueOnFailure")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.PythonFileUris, actual.PythonFileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PythonFileUris")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.OutputFormat, actual.OutputFormat, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("OutputFormat")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.JarFileUris, actual.JarFileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("JarFileUris")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.ClientTags, actual.ClientTags, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ClientTags")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.FileUris, actual.FileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("FileUris")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.ArchiveUris, actual.ArchiveUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ArchiveUris")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -11010,7 +11425,7 @@ func compareWorkflowTemplateJobsPrestoJobNewStyle(d, a interface{}, fn dcl.Field diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.LoggingConfig, actual.LoggingConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsPrestoJobLoggingConfigNewStyle, EmptyObject: EmptyWorkflowTemplateJobsPrestoJobLoggingConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LoggingConfig")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.LoggingConfig, actual.LoggingConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsPysparkJobLoggingConfigNewStyle, EmptyObject: EmptyWorkflowTemplateJobsPysparkJobLoggingConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LoggingConfig")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -11019,27 +11434,27 @@ func compareWorkflowTemplateJobsPrestoJobNewStyle(d, a interface{}, fn dcl.Field return diffs, nil } -func compareWorkflowTemplateJobsPrestoJobQueryListNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplateJobsPysparkJobLoggingConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsPrestoJobQueryList) + desired, ok := d.(*WorkflowTemplateJobsPysparkJobLoggingConfig) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsPrestoJobQueryList) + desiredNotPointer, ok := d.(WorkflowTemplateJobsPysparkJobLoggingConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPrestoJobQueryList or *WorkflowTemplateJobsPrestoJobQueryList", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPysparkJobLoggingConfig or *WorkflowTemplateJobsPysparkJobLoggingConfig", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateJobsPrestoJobQueryList) + actual, ok := a.(*WorkflowTemplateJobsPysparkJobLoggingConfig) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsPrestoJobQueryList) + actualNotPointer, ok := a.(WorkflowTemplateJobsPysparkJobLoggingConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPrestoJobQueryList", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPysparkJobLoggingConfig", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.Queries, actual.Queries, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Queries")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.DriverLogLevels, actual.DriverLogLevels, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DriverLogLevels")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -11048,27 +11463,62 @@ func compareWorkflowTemplateJobsPrestoJobQueryListNewStyle(d, a interface{}, fn return diffs, nil } -func compareWorkflowTemplateJobsPrestoJobLoggingConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplateJobsHiveJobNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsPrestoJobLoggingConfig) + desired, ok := d.(*WorkflowTemplateJobsHiveJob) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsPrestoJobLoggingConfig) + desiredNotPointer, ok := d.(WorkflowTemplateJobsHiveJob) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPrestoJobLoggingConfig or *WorkflowTemplateJobsPrestoJobLoggingConfig", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsHiveJob or *WorkflowTemplateJobsHiveJob", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateJobsPrestoJobLoggingConfig) + actual, ok := a.(*WorkflowTemplateJobsHiveJob) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsPrestoJobLoggingConfig) + actualNotPointer, ok := a.(WorkflowTemplateJobsHiveJob) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPrestoJobLoggingConfig", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsHiveJob", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.DriverLogLevels, actual.DriverLogLevels, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DriverLogLevels")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.QueryFileUri, actual.QueryFileUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("QueryFileUri")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.QueryList, actual.QueryList, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsHiveJobQueryListNewStyle, EmptyObject: EmptyWorkflowTemplateJobsHiveJobQueryList, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("QueryList")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.ContinueOnFailure, actual.ContinueOnFailure, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ContinueOnFailure")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.ScriptVariables, actual.ScriptVariables, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ScriptVariables")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.Properties, actual.Properties, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Properties")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.JarFileUris, actual.JarFileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("JarFileUris")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -11077,34 +11527,27 @@ func compareWorkflowTemplateJobsPrestoJobLoggingConfigNewStyle(d, a interface{}, return diffs, nil } -func compareWorkflowTemplateJobsSchedulingNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplateJobsHiveJobQueryListNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateJobsScheduling) + desired, ok := d.(*WorkflowTemplateJobsHiveJobQueryList) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateJobsScheduling) + desiredNotPointer, ok := d.(WorkflowTemplateJobsHiveJobQueryList) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsScheduling or *WorkflowTemplateJobsScheduling", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsHiveJobQueryList or *WorkflowTemplateJobsHiveJobQueryList", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateJobsScheduling) + actual, ok := a.(*WorkflowTemplateJobsHiveJobQueryList) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateJobsScheduling) + actualNotPointer, ok := a.(WorkflowTemplateJobsHiveJobQueryList) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsScheduling", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsHiveJobQueryList", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.MaxFailuresPerHour, actual.MaxFailuresPerHour, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MaxFailuresPerHour")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - - if ds, err := dcl.Diff(desired.MaxFailuresTotal, actual.MaxFailuresTotal, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MaxFailuresTotal")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Queries, actual.Queries, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Queries")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -11113,48 +11556,69 @@ func compareWorkflowTemplateJobsSchedulingNewStyle(d, a interface{}, fn dcl.Fiel return diffs, nil } -func compareWorkflowTemplateParametersNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplateJobsPigJobNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateParameters) + desired, ok := d.(*WorkflowTemplateJobsPigJob) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateParameters) + desiredNotPointer, ok := d.(WorkflowTemplateJobsPigJob) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateParameters or *WorkflowTemplateParameters", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPigJob or *WorkflowTemplateJobsPigJob", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateParameters) + actual, ok := a.(*WorkflowTemplateJobsPigJob) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateParameters) + actualNotPointer, ok := a.(WorkflowTemplateJobsPigJob) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateParameters", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPigJob", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.QueryFileUri, actual.QueryFileUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("QueryFileUri")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Fields, actual.Fields, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Fields")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.QueryList, actual.QueryList, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsPigJobQueryListNewStyle, EmptyObject: EmptyWorkflowTemplateJobsPigJobQueryList, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("QueryList")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Description, actual.Description, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Description")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.ContinueOnFailure, actual.ContinueOnFailure, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ContinueOnFailure")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - if ds, err := dcl.Diff(desired.Validation, actual.Validation, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateParametersValidationNewStyle, EmptyObject: EmptyWorkflowTemplateParametersValidation, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Validation")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.ScriptVariables, actual.ScriptVariables, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ScriptVariables")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.Properties, actual.Properties, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Properties")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.JarFileUris, actual.JarFileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("JarFileUris")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.LoggingConfig, actual.LoggingConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsPigJobLoggingConfigNewStyle, EmptyObject: EmptyWorkflowTemplateJobsPigJobLoggingConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LoggingConfig")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -11163,34 +11627,27 @@ func compareWorkflowTemplateParametersNewStyle(d, a interface{}, fn dcl.FieldNam return diffs, nil } -func compareWorkflowTemplateParametersValidationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplateJobsPigJobQueryListNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateParametersValidation) + desired, ok := d.(*WorkflowTemplateJobsPigJobQueryList) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateParametersValidation) + desiredNotPointer, ok := d.(WorkflowTemplateJobsPigJobQueryList) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateParametersValidation or *WorkflowTemplateParametersValidation", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPigJobQueryList or *WorkflowTemplateJobsPigJobQueryList", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateParametersValidation) + actual, ok := a.(*WorkflowTemplateJobsPigJobQueryList) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateParametersValidation) + actualNotPointer, ok := a.(WorkflowTemplateJobsPigJobQueryList) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateParametersValidation", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPigJobQueryList", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.Regex, actual.Regex, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateParametersValidationRegexNewStyle, EmptyObject: EmptyWorkflowTemplateParametersValidationRegex, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Regex")); len(ds) != 0 || err != nil { - if err != nil { - return nil, err - } - diffs = append(diffs, ds...) - } - - if ds, err := dcl.Diff(desired.Values, actual.Values, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateParametersValidationValuesNewStyle, EmptyObject: EmptyWorkflowTemplateParametersValidationValues, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Values")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.Queries, actual.Queries, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Queries")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -11199,27 +11656,27 @@ func compareWorkflowTemplateParametersValidationNewStyle(d, a interface{}, fn dc return diffs, nil } -func compareWorkflowTemplateParametersValidationRegexNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplateJobsPigJobLoggingConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateParametersValidationRegex) + desired, ok := d.(*WorkflowTemplateJobsPigJobLoggingConfig) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateParametersValidationRegex) + desiredNotPointer, ok := d.(WorkflowTemplateJobsPigJobLoggingConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateParametersValidationRegex or *WorkflowTemplateParametersValidationRegex", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPigJobLoggingConfig or *WorkflowTemplateJobsPigJobLoggingConfig", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateParametersValidationRegex) + actual, ok := a.(*WorkflowTemplateJobsPigJobLoggingConfig) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateParametersValidationRegex) + actualNotPointer, ok := a.(WorkflowTemplateJobsPigJobLoggingConfig) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateParametersValidationRegex", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPigJobLoggingConfig", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.Regexes, actual.Regexes, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Regexes")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.DriverLogLevels, actual.DriverLogLevels, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DriverLogLevels")); len(ds) != 0 || err != nil { if err != nil { return nil, err } @@ -11228,169 +11685,1024 @@ func compareWorkflowTemplateParametersValidationRegexNewStyle(d, a interface{}, return diffs, nil } -func compareWorkflowTemplateParametersValidationValuesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { +func compareWorkflowTemplateJobsSparkRJobNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { var diffs []*dcl.FieldDiff - desired, ok := d.(*WorkflowTemplateParametersValidationValues) + desired, ok := d.(*WorkflowTemplateJobsSparkRJob) if !ok { - desiredNotPointer, ok := d.(WorkflowTemplateParametersValidationValues) + desiredNotPointer, ok := d.(WorkflowTemplateJobsSparkRJob) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateParametersValidationValues or *WorkflowTemplateParametersValidationValues", d) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkRJob or *WorkflowTemplateJobsSparkRJob", d) } desired = &desiredNotPointer } - actual, ok := a.(*WorkflowTemplateParametersValidationValues) + actual, ok := a.(*WorkflowTemplateJobsSparkRJob) if !ok { - actualNotPointer, ok := a.(WorkflowTemplateParametersValidationValues) + actualNotPointer, ok := a.(WorkflowTemplateJobsSparkRJob) if !ok { - return nil, fmt.Errorf("obj %v is not a WorkflowTemplateParametersValidationValues", a) + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkRJob", a) } actual = &actualNotPointer } - if ds, err := dcl.Diff(desired.Values, actual.Values, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Values")); len(ds) != 0 || err != nil { + if ds, err := dcl.Diff(desired.MainRFileUri, actual.MainRFileUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MainRFileUri")); len(ds) != 0 || err != nil { if err != nil { return nil, err } diffs = append(diffs, ds...) } - return diffs, nil -} -// urlNormalized returns a copy of the resource struct with values normalized -// for URL substitutions. For instance, it converts long-form self-links to -// short-form so they can be substituted in. -func (r *WorkflowTemplate) urlNormalized() *WorkflowTemplate { - normalized := dcl.Copy(*r).(WorkflowTemplate) - normalized.Name = dcl.SelfLinkToName(r.Name) - normalized.DagTimeout = dcl.SelfLinkToName(r.DagTimeout) - normalized.Project = dcl.SelfLinkToName(r.Project) - normalized.Location = dcl.SelfLinkToName(r.Location) - return &normalized -} + if ds, err := dcl.Diff(desired.Args, actual.Args, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Args")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } -func (r *WorkflowTemplate) updateURL(userBasePath, updateName string) (string, error) { - return "", fmt.Errorf("unknown update name: %s", updateName) -} + if ds, err := dcl.Diff(desired.FileUris, actual.FileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("FileUris")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } -// marshal encodes the WorkflowTemplate resource into JSON for a Create request, and -// performs transformations from the resource schema to the API schema if -// necessary. -func (r *WorkflowTemplate) marshal(c *DclClient) ([]byte, error) { - m, err := expandWorkflowTemplate(c, r) - if err != nil { - return nil, fmt.Errorf("error marshalling WorkflowTemplate: %w", err) + if ds, err := dcl.Diff(desired.ArchiveUris, actual.ArchiveUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ArchiveUris")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) } - return json.Marshal(m) -} + if ds, err := dcl.Diff(desired.Properties, actual.Properties, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Properties")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } -// unmarshalWorkflowTemplate decodes JSON responses into the WorkflowTemplate resource schema. -func unmarshalWorkflowTemplate(b []byte, c *DclClient, res *WorkflowTemplate) (*WorkflowTemplate, error) { - var m map[string]interface{} - if err := json.Unmarshal(b, &m); err != nil { - return nil, err + if ds, err := dcl.Diff(desired.LoggingConfig, actual.LoggingConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsSparkRJobLoggingConfigNewStyle, EmptyObject: EmptyWorkflowTemplateJobsSparkRJobLoggingConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LoggingConfig")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) } - return unmarshalMapWorkflowTemplate(m, c, res) + return diffs, nil } -func unmarshalMapWorkflowTemplate(m map[string]interface{}, c *DclClient, res *WorkflowTemplate) (*WorkflowTemplate, error) { +func compareWorkflowTemplateJobsSparkRJobLoggingConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff - flattened := flattenWorkflowTemplate(c, m, res) - if flattened == nil { - return nil, fmt.Errorf("attempted to flatten empty json object") + desired, ok := d.(*WorkflowTemplateJobsSparkRJobLoggingConfig) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplateJobsSparkRJobLoggingConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkRJobLoggingConfig or *WorkflowTemplateJobsSparkRJobLoggingConfig", d) + } + desired = &desiredNotPointer } - return flattened, nil + actual, ok := a.(*WorkflowTemplateJobsSparkRJobLoggingConfig) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplateJobsSparkRJobLoggingConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkRJobLoggingConfig", a) + } + actual = &actualNotPointer + } + + if ds, err := dcl.Diff(desired.DriverLogLevels, actual.DriverLogLevels, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DriverLogLevels")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + return diffs, nil } -// expandWorkflowTemplate expands WorkflowTemplate into a JSON request object. +func compareWorkflowTemplateJobsSparkSqlJobNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplateJobsSparkSqlJob) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplateJobsSparkSqlJob) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkSqlJob or *WorkflowTemplateJobsSparkSqlJob", d) + } + desired = &desiredNotPointer + } + actual, ok := a.(*WorkflowTemplateJobsSparkSqlJob) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplateJobsSparkSqlJob) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkSqlJob", a) + } + actual = &actualNotPointer + } + + if ds, err := dcl.Diff(desired.QueryFileUri, actual.QueryFileUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("QueryFileUri")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.QueryList, actual.QueryList, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsSparkSqlJobQueryListNewStyle, EmptyObject: EmptyWorkflowTemplateJobsSparkSqlJobQueryList, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("QueryList")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.ScriptVariables, actual.ScriptVariables, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ScriptVariables")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.Properties, actual.Properties, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Properties")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.JarFileUris, actual.JarFileUris, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("JarFileUris")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.LoggingConfig, actual.LoggingConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsSparkSqlJobLoggingConfigNewStyle, EmptyObject: EmptyWorkflowTemplateJobsSparkSqlJobLoggingConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LoggingConfig")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + return diffs, nil +} + +func compareWorkflowTemplateJobsSparkSqlJobQueryListNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplateJobsSparkSqlJobQueryList) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplateJobsSparkSqlJobQueryList) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkSqlJobQueryList or *WorkflowTemplateJobsSparkSqlJobQueryList", d) + } + desired = &desiredNotPointer + } + actual, ok := a.(*WorkflowTemplateJobsSparkSqlJobQueryList) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplateJobsSparkSqlJobQueryList) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkSqlJobQueryList", a) + } + actual = &actualNotPointer + } + + if ds, err := dcl.Diff(desired.Queries, actual.Queries, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Queries")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + return diffs, nil +} + +func compareWorkflowTemplateJobsSparkSqlJobLoggingConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplateJobsSparkSqlJobLoggingConfig) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplateJobsSparkSqlJobLoggingConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkSqlJobLoggingConfig or *WorkflowTemplateJobsSparkSqlJobLoggingConfig", d) + } + desired = &desiredNotPointer + } + actual, ok := a.(*WorkflowTemplateJobsSparkSqlJobLoggingConfig) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplateJobsSparkSqlJobLoggingConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsSparkSqlJobLoggingConfig", a) + } + actual = &actualNotPointer + } + + if ds, err := dcl.Diff(desired.DriverLogLevels, actual.DriverLogLevels, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DriverLogLevels")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + return diffs, nil +} + +func compareWorkflowTemplateJobsPrestoJobNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplateJobsPrestoJob) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplateJobsPrestoJob) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPrestoJob or *WorkflowTemplateJobsPrestoJob", d) + } + desired = &desiredNotPointer + } + actual, ok := a.(*WorkflowTemplateJobsPrestoJob) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplateJobsPrestoJob) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPrestoJob", a) + } + actual = &actualNotPointer + } + + if ds, err := dcl.Diff(desired.QueryFileUri, actual.QueryFileUri, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("QueryFileUri")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.QueryList, actual.QueryList, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsPrestoJobQueryListNewStyle, EmptyObject: EmptyWorkflowTemplateJobsPrestoJobQueryList, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("QueryList")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.ContinueOnFailure, actual.ContinueOnFailure, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ContinueOnFailure")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.OutputFormat, actual.OutputFormat, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("OutputFormat")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.ClientTags, actual.ClientTags, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ClientTags")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.Properties, actual.Properties, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Properties")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.LoggingConfig, actual.LoggingConfig, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateJobsPrestoJobLoggingConfigNewStyle, EmptyObject: EmptyWorkflowTemplateJobsPrestoJobLoggingConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LoggingConfig")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + return diffs, nil +} + +func compareWorkflowTemplateJobsPrestoJobQueryListNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplateJobsPrestoJobQueryList) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplateJobsPrestoJobQueryList) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPrestoJobQueryList or *WorkflowTemplateJobsPrestoJobQueryList", d) + } + desired = &desiredNotPointer + } + actual, ok := a.(*WorkflowTemplateJobsPrestoJobQueryList) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplateJobsPrestoJobQueryList) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPrestoJobQueryList", a) + } + actual = &actualNotPointer + } + + if ds, err := dcl.Diff(desired.Queries, actual.Queries, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Queries")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + return diffs, nil +} + +func compareWorkflowTemplateJobsPrestoJobLoggingConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplateJobsPrestoJobLoggingConfig) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplateJobsPrestoJobLoggingConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPrestoJobLoggingConfig or *WorkflowTemplateJobsPrestoJobLoggingConfig", d) + } + desired = &desiredNotPointer + } + actual, ok := a.(*WorkflowTemplateJobsPrestoJobLoggingConfig) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplateJobsPrestoJobLoggingConfig) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsPrestoJobLoggingConfig", a) + } + actual = &actualNotPointer + } + + if ds, err := dcl.Diff(desired.DriverLogLevels, actual.DriverLogLevels, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DriverLogLevels")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + return diffs, nil +} + +func compareWorkflowTemplateJobsSchedulingNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplateJobsScheduling) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplateJobsScheduling) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsScheduling or *WorkflowTemplateJobsScheduling", d) + } + desired = &desiredNotPointer + } + actual, ok := a.(*WorkflowTemplateJobsScheduling) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplateJobsScheduling) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateJobsScheduling", a) + } + actual = &actualNotPointer + } + + if ds, err := dcl.Diff(desired.MaxFailuresPerHour, actual.MaxFailuresPerHour, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MaxFailuresPerHour")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.MaxFailuresTotal, actual.MaxFailuresTotal, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MaxFailuresTotal")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + return diffs, nil +} + +func compareWorkflowTemplateParametersNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplateParameters) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplateParameters) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateParameters or *WorkflowTemplateParameters", d) + } + desired = &desiredNotPointer + } + actual, ok := a.(*WorkflowTemplateParameters) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplateParameters) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateParameters", a) + } + actual = &actualNotPointer + } + + if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.Fields, actual.Fields, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Fields")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.Description, actual.Description, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Description")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.Validation, actual.Validation, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateParametersValidationNewStyle, EmptyObject: EmptyWorkflowTemplateParametersValidation, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Validation")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + return diffs, nil +} + +func compareWorkflowTemplateParametersValidationNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplateParametersValidation) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplateParametersValidation) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateParametersValidation or *WorkflowTemplateParametersValidation", d) + } + desired = &desiredNotPointer + } + actual, ok := a.(*WorkflowTemplateParametersValidation) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplateParametersValidation) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateParametersValidation", a) + } + actual = &actualNotPointer + } + + if ds, err := dcl.Diff(desired.Regex, actual.Regex, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateParametersValidationRegexNewStyle, EmptyObject: EmptyWorkflowTemplateParametersValidationRegex, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Regex")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + + if ds, err := dcl.Diff(desired.Values, actual.Values, dcl.DiffInfo{ObjectFunction: compareWorkflowTemplateParametersValidationValuesNewStyle, EmptyObject: EmptyWorkflowTemplateParametersValidationValues, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Values")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + return diffs, nil +} + +func compareWorkflowTemplateParametersValidationRegexNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplateParametersValidationRegex) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplateParametersValidationRegex) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateParametersValidationRegex or *WorkflowTemplateParametersValidationRegex", d) + } + desired = &desiredNotPointer + } + actual, ok := a.(*WorkflowTemplateParametersValidationRegex) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplateParametersValidationRegex) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateParametersValidationRegex", a) + } + actual = &actualNotPointer + } + + if ds, err := dcl.Diff(desired.Regexes, actual.Regexes, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Regexes")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + return diffs, nil +} + +func compareWorkflowTemplateParametersValidationValuesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) { + var diffs []*dcl.FieldDiff + + desired, ok := d.(*WorkflowTemplateParametersValidationValues) + if !ok { + desiredNotPointer, ok := d.(WorkflowTemplateParametersValidationValues) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateParametersValidationValues or *WorkflowTemplateParametersValidationValues", d) + } + desired = &desiredNotPointer + } + actual, ok := a.(*WorkflowTemplateParametersValidationValues) + if !ok { + actualNotPointer, ok := a.(WorkflowTemplateParametersValidationValues) + if !ok { + return nil, fmt.Errorf("obj %v is not a WorkflowTemplateParametersValidationValues", a) + } + actual = &actualNotPointer + } + + if ds, err := dcl.Diff(desired.Values, actual.Values, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Values")); len(ds) != 0 || err != nil { + if err != nil { + return nil, err + } + diffs = append(diffs, ds...) + } + return diffs, nil +} + +// urlNormalized returns a copy of the resource struct with values normalized +// for URL substitutions. For instance, it converts long-form self-links to +// short-form so they can be substituted in. +func (r *WorkflowTemplate) urlNormalized() *WorkflowTemplate { + normalized := dcl.Copy(*r).(WorkflowTemplate) + normalized.Name = dcl.SelfLinkToName(r.Name) + normalized.DagTimeout = dcl.SelfLinkToName(r.DagTimeout) + normalized.Project = dcl.SelfLinkToName(r.Project) + normalized.Location = dcl.SelfLinkToName(r.Location) + return &normalized +} + +func (r *WorkflowTemplate) updateURL(userBasePath, updateName string) (string, error) { + return "", fmt.Errorf("unknown update name: %s", updateName) +} + +// marshal encodes the WorkflowTemplate resource into JSON for a Create request, and +// performs transformations from the resource schema to the API schema if +// necessary. +func (r *WorkflowTemplate) marshal(c *DclClient) ([]byte, error) { + m, err := expandWorkflowTemplate(c, r) + if err != nil { + return nil, fmt.Errorf("error marshalling WorkflowTemplate: %w", err) + } + + return json.Marshal(m) +} + +// unmarshalWorkflowTemplate decodes JSON responses into the WorkflowTemplate resource schema. +func unmarshalWorkflowTemplate(b []byte, c *DclClient, res *WorkflowTemplate) (*WorkflowTemplate, error) { + var m map[string]interface{} + if err := json.Unmarshal(b, &m); err != nil { + return nil, err + } + return unmarshalMapWorkflowTemplate(m, c, res) +} + +func unmarshalMapWorkflowTemplate(m map[string]interface{}, c *DclClient, res *WorkflowTemplate) (*WorkflowTemplate, error) { + + flattened := flattenWorkflowTemplate(c, m, res) + if flattened == nil { + return nil, fmt.Errorf("attempted to flatten empty json object") + } + return flattened, nil +} + +// expandWorkflowTemplate expands WorkflowTemplate into a JSON request object. func expandWorkflowTemplate(c *DclClient, f *WorkflowTemplate) (map[string]interface{}, error) { m := make(map[string]interface{}) - res := f - _ = res - if v, err := dcl.EmptyValue(); err != nil { - return nil, fmt.Errorf("error expanding Name into name: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["name"] = v + res := f + _ = res + if v, err := dcl.EmptyValue(); err != nil { + return nil, fmt.Errorf("error expanding Name into name: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["name"] = v + } + if v := f.Labels; dcl.ValueShouldBeSent(v) { + m["labels"] = v + } + if v, err := expandWorkflowTemplateEncryptionConfig(c, f.EncryptionConfig, res); err != nil { + return nil, fmt.Errorf("error expanding EncryptionConfig into encryptionConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["encryptionConfig"] = v + } + if v, err := expandWorkflowTemplatePlacement(c, f.Placement, res); err != nil { + return nil, fmt.Errorf("error expanding Placement into placement: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["placement"] = v + } + if v, err := expandWorkflowTemplateJobsSlice(c, f.Jobs, res); err != nil { + return nil, fmt.Errorf("error expanding Jobs into jobs: %w", err) + } else if v != nil { + m["jobs"] = v + } + if v, err := expandWorkflowTemplateParametersSlice(c, f.Parameters, res); err != nil { + return nil, fmt.Errorf("error expanding Parameters into parameters: %w", err) + } else if v != nil { + m["parameters"] = v + } + if v := f.DagTimeout; dcl.ValueShouldBeSent(v) { + m["dagTimeout"] = v + } + if v, err := dcl.EmptyValue(); err != nil { + return nil, fmt.Errorf("error expanding Project into project: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["project"] = v + } + if v, err := dcl.EmptyValue(); err != nil { + return nil, fmt.Errorf("error expanding Location into location: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["location"] = v + } + + return m, nil +} + +// flattenWorkflowTemplate flattens WorkflowTemplate from a JSON request object into the +// WorkflowTemplate type. +func flattenWorkflowTemplate(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplate { + m, ok := i.(map[string]interface{}) + if !ok { + return nil + } + if len(m) == 0 { + return nil + } + + resultRes := &WorkflowTemplate{} + resultRes.Name = dcl.FlattenString(m["name"]) + resultRes.Version = dcl.FlattenInteger(m["version"]) + resultRes.CreateTime = dcl.FlattenString(m["createTime"]) + resultRes.UpdateTime = dcl.FlattenString(m["updateTime"]) + resultRes.Labels = dcl.FlattenKeyValuePairs(m["labels"]) + resultRes.EncryptionConfig = flattenWorkflowTemplateEncryptionConfig(c, m["encryptionConfig"], res) + resultRes.Placement = flattenWorkflowTemplatePlacement(c, m["placement"], res) + resultRes.Jobs = flattenWorkflowTemplateJobsSlice(c, m["jobs"], res) + resultRes.Parameters = flattenWorkflowTemplateParametersSlice(c, m["parameters"], res) + resultRes.DagTimeout = dcl.FlattenString(m["dagTimeout"]) + resultRes.Project = dcl.FlattenString(m["project"]) + resultRes.Location = dcl.FlattenString(m["location"]) + + return resultRes +} + +// expandWorkflowTemplateEncryptionConfigMap expands the contents of WorkflowTemplateEncryptionConfig into a JSON +// request object. +func expandWorkflowTemplateEncryptionConfigMap(c *DclClient, f map[string]WorkflowTemplateEncryptionConfig, res *WorkflowTemplate) (map[string]interface{}, error) { + if f == nil { + return nil, nil + } + + items := make(map[string]interface{}) + for k, item := range f { + i, err := expandWorkflowTemplateEncryptionConfig(c, &item, res) + if err != nil { + return nil, err + } + if i != nil { + items[k] = i + } + } + + return items, nil +} + +// expandWorkflowTemplateEncryptionConfigSlice expands the contents of WorkflowTemplateEncryptionConfig into a JSON +// request object. +func expandWorkflowTemplateEncryptionConfigSlice(c *DclClient, f []WorkflowTemplateEncryptionConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { + if f == nil { + return nil, nil + } + + items := []map[string]interface{}{} + for _, item := range f { + i, err := expandWorkflowTemplateEncryptionConfig(c, &item, res) + if err != nil { + return nil, err + } + + items = append(items, i) + } + + return items, nil +} + +// flattenWorkflowTemplateEncryptionConfigMap flattens the contents of WorkflowTemplateEncryptionConfig from a JSON +// response object. +func flattenWorkflowTemplateEncryptionConfigMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplateEncryptionConfig { + a, ok := i.(map[string]interface{}) + if !ok { + return map[string]WorkflowTemplateEncryptionConfig{} + } + + if len(a) == 0 { + return map[string]WorkflowTemplateEncryptionConfig{} + } + + items := make(map[string]WorkflowTemplateEncryptionConfig) + for k, item := range a { + items[k] = *flattenWorkflowTemplateEncryptionConfig(c, item.(map[string]interface{}), res) + } + + return items +} + +// flattenWorkflowTemplateEncryptionConfigSlice flattens the contents of WorkflowTemplateEncryptionConfig from a JSON +// response object. +func flattenWorkflowTemplateEncryptionConfigSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplateEncryptionConfig { + a, ok := i.([]interface{}) + if !ok { + return []WorkflowTemplateEncryptionConfig{} + } + + if len(a) == 0 { + return []WorkflowTemplateEncryptionConfig{} + } + + items := make([]WorkflowTemplateEncryptionConfig, 0, len(a)) + for _, item := range a { + items = append(items, *flattenWorkflowTemplateEncryptionConfig(c, item.(map[string]interface{}), res)) + } + + return items +} + +// expandWorkflowTemplateEncryptionConfig expands an instance of WorkflowTemplateEncryptionConfig into a JSON +// request object. +func expandWorkflowTemplateEncryptionConfig(c *DclClient, f *WorkflowTemplateEncryptionConfig, res *WorkflowTemplate) (map[string]interface{}, error) { + if dcl.IsEmptyValueIndirect(f) { + return nil, nil + } + + m := make(map[string]interface{}) + if v := f.KmsKey; !dcl.IsEmptyValueIndirect(v) { + m["kmsKey"] = v } - if v := f.Labels; dcl.ValueShouldBeSent(v) { - m["labels"] = v + + return m, nil +} + +// flattenWorkflowTemplateEncryptionConfig flattens an instance of WorkflowTemplateEncryptionConfig from a JSON +// response object. +func flattenWorkflowTemplateEncryptionConfig(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplateEncryptionConfig { + m, ok := i.(map[string]interface{}) + if !ok { + return nil } - if v, err := expandWorkflowTemplateEncryptionConfig(c, f.EncryptionConfig, res); err != nil { - return nil, fmt.Errorf("error expanding EncryptionConfig into encryptionConfig: %w", err) + + r := &WorkflowTemplateEncryptionConfig{} + + if dcl.IsEmptyValueIndirect(i) { + return EmptyWorkflowTemplateEncryptionConfig + } + r.KmsKey = dcl.FlattenString(m["kmsKey"]) + + return r +} + +// expandWorkflowTemplatePlacementMap expands the contents of WorkflowTemplatePlacement into a JSON +// request object. +func expandWorkflowTemplatePlacementMap(c *DclClient, f map[string]WorkflowTemplatePlacement, res *WorkflowTemplate) (map[string]interface{}, error) { + if f == nil { + return nil, nil + } + + items := make(map[string]interface{}) + for k, item := range f { + i, err := expandWorkflowTemplatePlacement(c, &item, res) + if err != nil { + return nil, err + } + if i != nil { + items[k] = i + } + } + + return items, nil +} + +// expandWorkflowTemplatePlacementSlice expands the contents of WorkflowTemplatePlacement into a JSON +// request object. +func expandWorkflowTemplatePlacementSlice(c *DclClient, f []WorkflowTemplatePlacement, res *WorkflowTemplate) ([]map[string]interface{}, error) { + if f == nil { + return nil, nil + } + + items := []map[string]interface{}{} + for _, item := range f { + i, err := expandWorkflowTemplatePlacement(c, &item, res) + if err != nil { + return nil, err + } + + items = append(items, i) + } + + return items, nil +} + +// flattenWorkflowTemplatePlacementMap flattens the contents of WorkflowTemplatePlacement from a JSON +// response object. +func flattenWorkflowTemplatePlacementMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacement { + a, ok := i.(map[string]interface{}) + if !ok { + return map[string]WorkflowTemplatePlacement{} + } + + if len(a) == 0 { + return map[string]WorkflowTemplatePlacement{} + } + + items := make(map[string]WorkflowTemplatePlacement) + for k, item := range a { + items[k] = *flattenWorkflowTemplatePlacement(c, item.(map[string]interface{}), res) + } + + return items +} + +// flattenWorkflowTemplatePlacementSlice flattens the contents of WorkflowTemplatePlacement from a JSON +// response object. +func flattenWorkflowTemplatePlacementSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacement { + a, ok := i.([]interface{}) + if !ok { + return []WorkflowTemplatePlacement{} + } + + if len(a) == 0 { + return []WorkflowTemplatePlacement{} + } + + items := make([]WorkflowTemplatePlacement, 0, len(a)) + for _, item := range a { + items = append(items, *flattenWorkflowTemplatePlacement(c, item.(map[string]interface{}), res)) + } + + return items +} + +// expandWorkflowTemplatePlacement expands an instance of WorkflowTemplatePlacement into a JSON +// request object. +func expandWorkflowTemplatePlacement(c *DclClient, f *WorkflowTemplatePlacement, res *WorkflowTemplate) (map[string]interface{}, error) { + if dcl.IsEmptyValueIndirect(f) { + return nil, nil + } + + m := make(map[string]interface{}) + if v, err := expandWorkflowTemplatePlacementManagedCluster(c, f.ManagedCluster, res); err != nil { + return nil, fmt.Errorf("error expanding ManagedCluster into managedCluster: %w", err) } else if !dcl.IsEmptyValueIndirect(v) { - m["encryptionConfig"] = v + m["managedCluster"] = v } - if v, err := expandWorkflowTemplatePlacement(c, f.Placement, res); err != nil { - return nil, fmt.Errorf("error expanding Placement into placement: %w", err) + if v, err := expandWorkflowTemplatePlacementClusterSelector(c, f.ClusterSelector, res); err != nil { + return nil, fmt.Errorf("error expanding ClusterSelector into clusterSelector: %w", err) } else if !dcl.IsEmptyValueIndirect(v) { - m["placement"] = v + m["clusterSelector"] = v } - if v, err := expandWorkflowTemplateJobsSlice(c, f.Jobs, res); err != nil { - return nil, fmt.Errorf("error expanding Jobs into jobs: %w", err) - } else if v != nil { - m["jobs"] = v + + return m, nil +} + +// flattenWorkflowTemplatePlacement flattens an instance of WorkflowTemplatePlacement from a JSON +// response object. +func flattenWorkflowTemplatePlacement(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacement { + m, ok := i.(map[string]interface{}) + if !ok { + return nil } - if v, err := expandWorkflowTemplateParametersSlice(c, f.Parameters, res); err != nil { - return nil, fmt.Errorf("error expanding Parameters into parameters: %w", err) - } else if v != nil { - m["parameters"] = v + + r := &WorkflowTemplatePlacement{} + + if dcl.IsEmptyValueIndirect(i) { + return EmptyWorkflowTemplatePlacement + } + r.ManagedCluster = flattenWorkflowTemplatePlacementManagedCluster(c, m["managedCluster"], res) + r.ClusterSelector = flattenWorkflowTemplatePlacementClusterSelector(c, m["clusterSelector"], res) + + return r +} + +// expandWorkflowTemplatePlacementManagedClusterMap expands the contents of WorkflowTemplatePlacementManagedCluster into a JSON +// request object. +func expandWorkflowTemplatePlacementManagedClusterMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedCluster, res *WorkflowTemplate) (map[string]interface{}, error) { + if f == nil { + return nil, nil + } + + items := make(map[string]interface{}) + for k, item := range f { + i, err := expandWorkflowTemplatePlacementManagedCluster(c, &item, res) + if err != nil { + return nil, err + } + if i != nil { + items[k] = i + } + } + + return items, nil +} + +// expandWorkflowTemplatePlacementManagedClusterSlice expands the contents of WorkflowTemplatePlacementManagedCluster into a JSON +// request object. +func expandWorkflowTemplatePlacementManagedClusterSlice(c *DclClient, f []WorkflowTemplatePlacementManagedCluster, res *WorkflowTemplate) ([]map[string]interface{}, error) { + if f == nil { + return nil, nil + } + + items := []map[string]interface{}{} + for _, item := range f { + i, err := expandWorkflowTemplatePlacementManagedCluster(c, &item, res) + if err != nil { + return nil, err + } + + items = append(items, i) + } + + return items, nil +} + +// flattenWorkflowTemplatePlacementManagedClusterMap flattens the contents of WorkflowTemplatePlacementManagedCluster from a JSON +// response object. +func flattenWorkflowTemplatePlacementManagedClusterMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedCluster { + a, ok := i.(map[string]interface{}) + if !ok { + return map[string]WorkflowTemplatePlacementManagedCluster{} + } + + if len(a) == 0 { + return map[string]WorkflowTemplatePlacementManagedCluster{} + } + + items := make(map[string]WorkflowTemplatePlacementManagedCluster) + for k, item := range a { + items[k] = *flattenWorkflowTemplatePlacementManagedCluster(c, item.(map[string]interface{}), res) + } + + return items +} + +// flattenWorkflowTemplatePlacementManagedClusterSlice flattens the contents of WorkflowTemplatePlacementManagedCluster from a JSON +// response object. +func flattenWorkflowTemplatePlacementManagedClusterSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedCluster { + a, ok := i.([]interface{}) + if !ok { + return []WorkflowTemplatePlacementManagedCluster{} + } + + if len(a) == 0 { + return []WorkflowTemplatePlacementManagedCluster{} + } + + items := make([]WorkflowTemplatePlacementManagedCluster, 0, len(a)) + for _, item := range a { + items = append(items, *flattenWorkflowTemplatePlacementManagedCluster(c, item.(map[string]interface{}), res)) + } + + return items +} + +// expandWorkflowTemplatePlacementManagedCluster expands an instance of WorkflowTemplatePlacementManagedCluster into a JSON +// request object. +func expandWorkflowTemplatePlacementManagedCluster(c *DclClient, f *WorkflowTemplatePlacementManagedCluster, res *WorkflowTemplate) (map[string]interface{}, error) { + if dcl.IsEmptyValueIndirect(f) { + return nil, nil } - if v := f.DagTimeout; dcl.ValueShouldBeSent(v) { - m["dagTimeout"] = v + + m := make(map[string]interface{}) + if v := f.ClusterName; !dcl.IsEmptyValueIndirect(v) { + m["clusterName"] = v } - if v, err := dcl.EmptyValue(); err != nil { - return nil, fmt.Errorf("error expanding Project into project: %w", err) + if v, err := expandWorkflowTemplatePlacementManagedClusterConfig(c, f.Config, res); err != nil { + return nil, fmt.Errorf("error expanding Config into config: %w", err) } else if !dcl.IsEmptyValueIndirect(v) { - m["project"] = v + m["config"] = v } - if v, err := dcl.EmptyValue(); err != nil { - return nil, fmt.Errorf("error expanding Location into location: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["location"] = v + if v := f.Labels; !dcl.IsEmptyValueIndirect(v) { + m["labels"] = v } return m, nil } -// flattenWorkflowTemplate flattens WorkflowTemplate from a JSON request object into the -// WorkflowTemplate type. -func flattenWorkflowTemplate(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplate { +// flattenWorkflowTemplatePlacementManagedCluster flattens an instance of WorkflowTemplatePlacementManagedCluster from a JSON +// response object. +func flattenWorkflowTemplatePlacementManagedCluster(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedCluster { m, ok := i.(map[string]interface{}) if !ok { return nil } - if len(m) == 0 { - return nil - } - resultRes := &WorkflowTemplate{} - resultRes.Name = dcl.FlattenString(m["name"]) - resultRes.Version = dcl.FlattenInteger(m["version"]) - resultRes.CreateTime = dcl.FlattenString(m["createTime"]) - resultRes.UpdateTime = dcl.FlattenString(m["updateTime"]) - resultRes.Labels = dcl.FlattenKeyValuePairs(m["labels"]) - resultRes.EncryptionConfig = flattenWorkflowTemplateEncryptionConfig(c, m["encryptionConfig"], res) - resultRes.Placement = flattenWorkflowTemplatePlacement(c, m["placement"], res) - resultRes.Jobs = flattenWorkflowTemplateJobsSlice(c, m["jobs"], res) - resultRes.Parameters = flattenWorkflowTemplateParametersSlice(c, m["parameters"], res) - resultRes.DagTimeout = dcl.FlattenString(m["dagTimeout"]) - resultRes.Project = dcl.FlattenString(m["project"]) - resultRes.Location = dcl.FlattenString(m["location"]) + r := &WorkflowTemplatePlacementManagedCluster{} - return resultRes + if dcl.IsEmptyValueIndirect(i) { + return EmptyWorkflowTemplatePlacementManagedCluster + } + r.ClusterName = dcl.FlattenString(m["clusterName"]) + r.Config = flattenWorkflowTemplatePlacementManagedClusterConfig(c, m["config"], res) + r.Labels = dcl.FlattenKeyValuePairs(m["labels"]) + + return r } -// expandWorkflowTemplateEncryptionConfigMap expands the contents of WorkflowTemplateEncryptionConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfig into a JSON // request object. -func expandWorkflowTemplateEncryptionConfigMap(c *DclClient, f map[string]WorkflowTemplateEncryptionConfig, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfig, res *WorkflowTemplate) (map[string]interface{}, error) { if f == nil { return nil, nil } items := make(map[string]interface{}) for k, item := range f { - i, err := expandWorkflowTemplateEncryptionConfig(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfig(c, &item, res) if err != nil { return nil, err } @@ -11402,16 +12714,16 @@ func expandWorkflowTemplateEncryptionConfigMap(c *DclClient, f map[string]Workfl return items, nil } -// expandWorkflowTemplateEncryptionConfigSlice expands the contents of WorkflowTemplateEncryptionConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfig into a JSON // request object. -func expandWorkflowTemplateEncryptionConfigSlice(c *DclClient, f []WorkflowTemplateEncryptionConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { if f == nil { return nil, nil } items := []map[string]interface{}{} for _, item := range f { - i, err := expandWorkflowTemplateEncryptionConfig(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfig(c, &item, res) if err != nil { return nil, err } @@ -11422,89 +12734,175 @@ func expandWorkflowTemplateEncryptionConfigSlice(c *DclClient, f []WorkflowTempl return items, nil } -// flattenWorkflowTemplateEncryptionConfigMap flattens the contents of WorkflowTemplateEncryptionConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfig from a JSON // response object. -func flattenWorkflowTemplateEncryptionConfigMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplateEncryptionConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfig { a, ok := i.(map[string]interface{}) if !ok { - return map[string]WorkflowTemplateEncryptionConfig{} + return map[string]WorkflowTemplatePlacementManagedClusterConfig{} } if len(a) == 0 { - return map[string]WorkflowTemplateEncryptionConfig{} + return map[string]WorkflowTemplatePlacementManagedClusterConfig{} } - items := make(map[string]WorkflowTemplateEncryptionConfig) + items := make(map[string]WorkflowTemplatePlacementManagedClusterConfig) for k, item := range a { - items[k] = *flattenWorkflowTemplateEncryptionConfig(c, item.(map[string]interface{}), res) + items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfig(c, item.(map[string]interface{}), res) } return items } -// flattenWorkflowTemplateEncryptionConfigSlice flattens the contents of WorkflowTemplateEncryptionConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfig from a JSON // response object. -func flattenWorkflowTemplateEncryptionConfigSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplateEncryptionConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfig { a, ok := i.([]interface{}) if !ok { - return []WorkflowTemplateEncryptionConfig{} + return []WorkflowTemplatePlacementManagedClusterConfig{} } if len(a) == 0 { - return []WorkflowTemplateEncryptionConfig{} + return []WorkflowTemplatePlacementManagedClusterConfig{} } - items := make([]WorkflowTemplateEncryptionConfig, 0, len(a)) + items := make([]WorkflowTemplatePlacementManagedClusterConfig, 0, len(a)) for _, item := range a { - items = append(items, *flattenWorkflowTemplateEncryptionConfig(c, item.(map[string]interface{}), res)) + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfig(c, item.(map[string]interface{}), res)) } return items } -// expandWorkflowTemplateEncryptionConfig expands an instance of WorkflowTemplateEncryptionConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfig into a JSON // request object. -func expandWorkflowTemplateEncryptionConfig(c *DclClient, f *WorkflowTemplateEncryptionConfig, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfig(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfig, res *WorkflowTemplate) (map[string]interface{}, error) { if dcl.IsEmptyValueIndirect(f) { return nil, nil } m := make(map[string]interface{}) - if v := f.KmsKey; !dcl.IsEmptyValueIndirect(v) { - m["kmsKey"] = v + if v := f.StagingBucket; !dcl.IsEmptyValueIndirect(v) { + m["configBucket"] = v + } + if v := f.TempBucket; !dcl.IsEmptyValueIndirect(v) { + m["tempBucket"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c, f.GceClusterConfig, res); err != nil { + return nil, fmt.Errorf("error expanding GceClusterConfig into gceClusterConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["gceClusterConfig"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c, f.MasterConfig, res); err != nil { + return nil, fmt.Errorf("error expanding MasterConfig into masterConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["masterConfig"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c, f.WorkerConfig, res); err != nil { + return nil, fmt.Errorf("error expanding WorkerConfig into workerConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["workerConfig"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig(c, f.SecondaryWorkerConfig, res); err != nil { + return nil, fmt.Errorf("error expanding SecondaryWorkerConfig into secondaryWorkerConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["secondaryWorkerConfig"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig(c, f.SoftwareConfig, res); err != nil { + return nil, fmt.Errorf("error expanding SoftwareConfig into softwareConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["softwareConfig"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigInitializationActionsSlice(c, f.InitializationActions, res); err != nil { + return nil, fmt.Errorf("error expanding InitializationActions into initializationActions: %w", err) + } else if v != nil { + m["initializationActions"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig(c, f.EncryptionConfig, res); err != nil { + return nil, fmt.Errorf("error expanding EncryptionConfig into encryptionConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["encryptionConfig"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig(c, f.AutoscalingConfig, res); err != nil { + return nil, fmt.Errorf("error expanding AutoscalingConfig into autoscalingConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["autoscalingConfig"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigSecurityConfig(c, f.SecurityConfig, res); err != nil { + return nil, fmt.Errorf("error expanding SecurityConfig into securityConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["securityConfig"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig(c, f.LifecycleConfig, res); err != nil { + return nil, fmt.Errorf("error expanding LifecycleConfig into lifecycleConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["lifecycleConfig"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigEndpointConfig(c, f.EndpointConfig, res); err != nil { + return nil, fmt.Errorf("error expanding EndpointConfig into endpointConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["endpointConfig"] = v + } +{{- if ne $.TargetVersionName "ga" }} + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig(c, f.GkeClusterConfig, res); err != nil { + return nil, fmt.Errorf("error expanding GkeClusterConfig into gkeClusterConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["gkeClusterConfig"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigMetastoreConfig(c, f.MetastoreConfig, res); err != nil { + return nil, fmt.Errorf("error expanding MetastoreConfig into metastoreConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["metastoreConfig"] = v } +{{- end }} return m, nil } -// flattenWorkflowTemplateEncryptionConfig flattens an instance of WorkflowTemplateEncryptionConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfig from a JSON // response object. -func flattenWorkflowTemplateEncryptionConfig(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplateEncryptionConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfig(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfig { m, ok := i.(map[string]interface{}) if !ok { return nil } - r := &WorkflowTemplateEncryptionConfig{} + r := &WorkflowTemplatePlacementManagedClusterConfig{} if dcl.IsEmptyValueIndirect(i) { - return EmptyWorkflowTemplateEncryptionConfig + return EmptyWorkflowTemplatePlacementManagedClusterConfig } - r.KmsKey = dcl.FlattenString(m["kmsKey"]) + r.StagingBucket = dcl.FlattenString(m["configBucket"]) + r.TempBucket = dcl.FlattenString(m["tempBucket"]) + r.GceClusterConfig = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c, m["gceClusterConfig"], res) + r.MasterConfig = flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c, m["masterConfig"], res) + r.WorkerConfig = flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c, m["workerConfig"], res) + r.SecondaryWorkerConfig = flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig(c, m["secondaryWorkerConfig"], res) + r.SoftwareConfig = flattenWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig(c, m["softwareConfig"], res) + r.InitializationActions = flattenWorkflowTemplatePlacementManagedClusterConfigInitializationActionsSlice(c, m["initializationActions"], res) + r.EncryptionConfig = flattenWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig(c, m["encryptionConfig"], res) + r.AutoscalingConfig = flattenWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig(c, m["autoscalingConfig"], res) + r.SecurityConfig = flattenWorkflowTemplatePlacementManagedClusterConfigSecurityConfig(c, m["securityConfig"], res) + r.LifecycleConfig = flattenWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig(c, m["lifecycleConfig"], res) + r.EndpointConfig = flattenWorkflowTemplatePlacementManagedClusterConfigEndpointConfig(c, m["endpointConfig"], res) +{{- if ne $.TargetVersionName "ga" }} + r.GkeClusterConfig = flattenWorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig(c, m["gkeClusterConfig"], res) + r.MetastoreConfig = flattenWorkflowTemplatePlacementManagedClusterConfigMetastoreConfig(c, m["metastoreConfig"], res) +{{- end }} return r } -// expandWorkflowTemplatePlacementMap expands the contents of WorkflowTemplatePlacement into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig into a JSON // request object. -func expandWorkflowTemplatePlacementMap(c *DclClient, f map[string]WorkflowTemplatePlacement, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig, res *WorkflowTemplate) (map[string]interface{}, error) { if f == nil { return nil, nil } items := make(map[string]interface{}) for k, item := range f { - i, err := expandWorkflowTemplatePlacement(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c, &item, res) if err != nil { return nil, err } @@ -11516,16 +12914,16 @@ func expandWorkflowTemplatePlacementMap(c *DclClient, f map[string]WorkflowTempl return items, nil } -// expandWorkflowTemplatePlacementSlice expands the contents of WorkflowTemplatePlacement into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig into a JSON // request object. -func expandWorkflowTemplatePlacementSlice(c *DclClient, f []WorkflowTemplatePlacement, res *WorkflowTemplate) ([]map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { if f == nil { return nil, nil } items := []map[string]interface{}{} for _, item := range f { - i, err := expandWorkflowTemplatePlacement(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c, &item, res) if err != nil { return nil, err } @@ -11536,97 +12934,139 @@ func expandWorkflowTemplatePlacementSlice(c *DclClient, f []WorkflowTemplatePlac return items, nil } -// flattenWorkflowTemplatePlacementMap flattens the contents of WorkflowTemplatePlacement from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacement { +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig { a, ok := i.(map[string]interface{}) if !ok { - return map[string]WorkflowTemplatePlacement{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig{} } if len(a) == 0 { - return map[string]WorkflowTemplatePlacement{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig{} } - items := make(map[string]WorkflowTemplatePlacement) + items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig) for k, item := range a { - items[k] = *flattenWorkflowTemplatePlacement(c, item.(map[string]interface{}), res) + items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c, item.(map[string]interface{}), res) } return items } -// flattenWorkflowTemplatePlacementSlice flattens the contents of WorkflowTemplatePlacement from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacement { +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig { a, ok := i.([]interface{}) if !ok { - return []WorkflowTemplatePlacement{} + return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig{} } if len(a) == 0 { - return []WorkflowTemplatePlacement{} + return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig{} } - items := make([]WorkflowTemplatePlacement, 0, len(a)) + items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig, 0, len(a)) for _, item := range a { - items = append(items, *flattenWorkflowTemplatePlacement(c, item.(map[string]interface{}), res)) + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c, item.(map[string]interface{}), res)) } return items } -// expandWorkflowTemplatePlacement expands an instance of WorkflowTemplatePlacement into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig into a JSON // request object. -func expandWorkflowTemplatePlacement(c *DclClient, f *WorkflowTemplatePlacement, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig, res *WorkflowTemplate) (map[string]interface{}, error) { if dcl.IsEmptyValueIndirect(f) { return nil, nil } - - m := make(map[string]interface{}) - if v, err := expandWorkflowTemplatePlacementManagedCluster(c, f.ManagedCluster, res); err != nil { - return nil, fmt.Errorf("error expanding ManagedCluster into managedCluster: %w", err) + + m := make(map[string]interface{}) + if v := f.Zone; !dcl.IsEmptyValueIndirect(v) { + m["zoneUri"] = v + } + if v := f.Network; !dcl.IsEmptyValueIndirect(v) { + m["networkUri"] = v + } + if v := f.Subnetwork; !dcl.IsEmptyValueIndirect(v) { + m["subnetworkUri"] = v + } + if v := f.InternalIPOnly; !dcl.IsEmptyValueIndirect(v) { + m["internalIpOnly"] = v + } + if v := f.PrivateIPv6GoogleAccess; !dcl.IsEmptyValueIndirect(v) { + m["privateIpv6GoogleAccess"] = v + } + if v := f.ServiceAccount; !dcl.IsEmptyValueIndirect(v) { + m["serviceAccount"] = v + } + if v := f.ServiceAccountScopes; v != nil { + m["serviceAccountScopes"] = v + } + if v := f.Tags; v != nil { + m["tags"] = v + } + if v := f.Metadata; !dcl.IsEmptyValueIndirect(v) { + m["metadata"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, f.ReservationAffinity, res); err != nil { + return nil, fmt.Errorf("error expanding ReservationAffinity into reservationAffinity: %w", err) } else if !dcl.IsEmptyValueIndirect(v) { - m["managedCluster"] = v + m["reservationAffinity"] = v } - if v, err := expandWorkflowTemplatePlacementClusterSelector(c, f.ClusterSelector, res); err != nil { - return nil, fmt.Errorf("error expanding ClusterSelector into clusterSelector: %w", err) + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, f.NodeGroupAffinity, res); err != nil { + return nil, fmt.Errorf("error expanding NodeGroupAffinity into nodeGroupAffinity: %w", err) } else if !dcl.IsEmptyValueIndirect(v) { - m["clusterSelector"] = v + m["nodeGroupAffinity"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, f.ShieldedInstanceConfig, res); err != nil { + return nil, fmt.Errorf("error expanding ShieldedInstanceConfig into shieldedInstanceConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["shieldedInstanceConfig"] = v } return m, nil } -// flattenWorkflowTemplatePlacement flattens an instance of WorkflowTemplatePlacement from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig from a JSON // response object. -func flattenWorkflowTemplatePlacement(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacement { +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig { m, ok := i.(map[string]interface{}) if !ok { return nil } - r := &WorkflowTemplatePlacement{} + r := &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig{} if dcl.IsEmptyValueIndirect(i) { - return EmptyWorkflowTemplatePlacement + return EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig } - r.ManagedCluster = flattenWorkflowTemplatePlacementManagedCluster(c, m["managedCluster"], res) - r.ClusterSelector = flattenWorkflowTemplatePlacementClusterSelector(c, m["clusterSelector"], res) + r.Zone = dcl.FlattenString(m["zoneUri"]) + r.Network = dcl.FlattenString(m["networkUri"]) + r.Subnetwork = dcl.FlattenString(m["subnetworkUri"]) + r.InternalIPOnly = dcl.FlattenBool(m["internalIpOnly"]) + r.PrivateIPv6GoogleAccess = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum(m["privateIpv6GoogleAccess"]) + r.ServiceAccount = dcl.FlattenString(m["serviceAccount"]) + r.ServiceAccountScopes = dcl.FlattenStringSlice(m["serviceAccountScopes"]) + r.Tags = dcl.FlattenStringSlice(m["tags"]) + r.Metadata = dcl.FlattenKeyValuePairs(m["metadata"]) + r.ReservationAffinity = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, m["reservationAffinity"], res) + r.NodeGroupAffinity = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, m["nodeGroupAffinity"], res) + r.ShieldedInstanceConfig = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, m["shieldedInstanceConfig"], res) return r } -// expandWorkflowTemplatePlacementManagedClusterMap expands the contents of WorkflowTemplatePlacementManagedCluster into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedCluster, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity, res *WorkflowTemplate) (map[string]interface{}, error) { if f == nil { return nil, nil } items := make(map[string]interface{}) for k, item := range f { - i, err := expandWorkflowTemplatePlacementManagedCluster(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, &item, res) if err != nil { return nil, err } @@ -11638,16 +13078,16 @@ func expandWorkflowTemplatePlacementManagedClusterMap(c *DclClient, f map[string return items, nil } -// expandWorkflowTemplatePlacementManagedClusterSlice expands the contents of WorkflowTemplatePlacementManagedCluster into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinitySlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterSlice(c *DclClient, f []WorkflowTemplatePlacementManagedCluster, res *WorkflowTemplate) ([]map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinitySlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity, res *WorkflowTemplate) ([]map[string]interface{}, error) { if f == nil { return nil, nil } items := []map[string]interface{}{} for _, item := range f { - i, err := expandWorkflowTemplatePlacementManagedCluster(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, &item, res) if err != nil { return nil, err } @@ -11658,99 +13098,97 @@ func expandWorkflowTemplatePlacementManagedClusterSlice(c *DclClient, f []Workfl return items, nil } -// flattenWorkflowTemplatePlacementManagedClusterMap flattens the contents of WorkflowTemplatePlacementManagedCluster from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedCluster { +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity { a, ok := i.(map[string]interface{}) if !ok { - return map[string]WorkflowTemplatePlacementManagedCluster{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity{} } if len(a) == 0 { - return map[string]WorkflowTemplatePlacementManagedCluster{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity{} } - items := make(map[string]WorkflowTemplatePlacementManagedCluster) + items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity) for k, item := range a { - items[k] = *flattenWorkflowTemplatePlacementManagedCluster(c, item.(map[string]interface{}), res) + items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, item.(map[string]interface{}), res) } return items } -// flattenWorkflowTemplatePlacementManagedClusterSlice flattens the contents of WorkflowTemplatePlacementManagedCluster from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinitySlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedCluster { +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinitySlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity { a, ok := i.([]interface{}) if !ok { - return []WorkflowTemplatePlacementManagedCluster{} + return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity{} } if len(a) == 0 { - return []WorkflowTemplatePlacementManagedCluster{} + return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity{} } - items := make([]WorkflowTemplatePlacementManagedCluster, 0, len(a)) + items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity, 0, len(a)) for _, item := range a { - items = append(items, *flattenWorkflowTemplatePlacementManagedCluster(c, item.(map[string]interface{}), res)) + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, item.(map[string]interface{}), res)) } return items } -// expandWorkflowTemplatePlacementManagedCluster expands an instance of WorkflowTemplatePlacementManagedCluster into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity expands an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity into a JSON // request object. -func expandWorkflowTemplatePlacementManagedCluster(c *DclClient, f *WorkflowTemplatePlacementManagedCluster, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity, res *WorkflowTemplate) (map[string]interface{}, error) { if dcl.IsEmptyValueIndirect(f) { return nil, nil } m := make(map[string]interface{}) - if v := f.ClusterName; !dcl.IsEmptyValueIndirect(v) { - m["clusterName"] = v + if v := f.ConsumeReservationType; !dcl.IsEmptyValueIndirect(v) { + m["consumeReservationType"] = v } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfig(c, f.Config, res); err != nil { - return nil, fmt.Errorf("error expanding Config into config: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["config"] = v + if v := f.Key; !dcl.IsEmptyValueIndirect(v) { + m["key"] = v } - if v := f.Labels; !dcl.IsEmptyValueIndirect(v) { - m["labels"] = v + if v := f.Values; v != nil { + m["values"] = v } return m, nil } -// flattenWorkflowTemplatePlacementManagedCluster flattens an instance of WorkflowTemplatePlacementManagedCluster from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity flattens an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedCluster(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedCluster { +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity { m, ok := i.(map[string]interface{}) if !ok { return nil } - r := &WorkflowTemplatePlacementManagedCluster{} + r := &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity{} if dcl.IsEmptyValueIndirect(i) { - return EmptyWorkflowTemplatePlacementManagedCluster + return EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity } - r.ClusterName = dcl.FlattenString(m["clusterName"]) - r.Config = flattenWorkflowTemplatePlacementManagedClusterConfig(c, m["config"], res) - r.Labels = dcl.FlattenKeyValuePairs(m["labels"]) + r.ConsumeReservationType = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum(m["consumeReservationType"]) + r.Key = dcl.FlattenString(m["key"]) + r.Values = dcl.FlattenStringSlice(m["values"]) return r } -// expandWorkflowTemplatePlacementManagedClusterConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfig, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity, res *WorkflowTemplate) (map[string]interface{}, error) { if f == nil { return nil, nil } items := make(map[string]interface{}) for k, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfig(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, &item, res) if err != nil { return nil, err } @@ -11762,16 +13200,16 @@ func expandWorkflowTemplatePlacementManagedClusterConfigMap(c *DclClient, f map[ return items, nil } -// expandWorkflowTemplatePlacementManagedClusterConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinitySlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinitySlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity, res *WorkflowTemplate) ([]map[string]interface{}, error) { if f == nil { return nil, nil } items := []map[string]interface{}{} for _, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfig(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, &item, res) if err != nil { return nil, err } @@ -11782,175 +13220,89 @@ func expandWorkflowTemplatePlacementManagedClusterConfigSlice(c *DclClient, f [] return items, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity { a, ok := i.(map[string]interface{}) if !ok { - return map[string]WorkflowTemplatePlacementManagedClusterConfig{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity{} } if len(a) == 0 { - return map[string]WorkflowTemplatePlacementManagedClusterConfig{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity{} } - items := make(map[string]WorkflowTemplatePlacementManagedClusterConfig) + items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity) for k, item := range a { - items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfig(c, item.(map[string]interface{}), res) + items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, item.(map[string]interface{}), res) } return items } -// flattenWorkflowTemplatePlacementManagedClusterConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinitySlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinitySlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity { a, ok := i.([]interface{}) if !ok { - return []WorkflowTemplatePlacementManagedClusterConfig{} + return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity{} } if len(a) == 0 { - return []WorkflowTemplatePlacementManagedClusterConfig{} + return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity{} } - items := make([]WorkflowTemplatePlacementManagedClusterConfig, 0, len(a)) + items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity, 0, len(a)) for _, item := range a { - items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfig(c, item.(map[string]interface{}), res)) + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, item.(map[string]interface{}), res)) } return items } -// expandWorkflowTemplatePlacementManagedClusterConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity expands an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfig(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfig, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity, res *WorkflowTemplate) (map[string]interface{}, error) { if dcl.IsEmptyValueIndirect(f) { return nil, nil } m := make(map[string]interface{}) - if v := f.StagingBucket; !dcl.IsEmptyValueIndirect(v) { - m["configBucket"] = v - } - if v := f.TempBucket; !dcl.IsEmptyValueIndirect(v) { - m["tempBucket"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c, f.GceClusterConfig, res); err != nil { - return nil, fmt.Errorf("error expanding GceClusterConfig into gceClusterConfig: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["gceClusterConfig"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c, f.MasterConfig, res); err != nil { - return nil, fmt.Errorf("error expanding MasterConfig into masterConfig: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["masterConfig"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c, f.WorkerConfig, res); err != nil { - return nil, fmt.Errorf("error expanding WorkerConfig into workerConfig: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["workerConfig"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig(c, f.SecondaryWorkerConfig, res); err != nil { - return nil, fmt.Errorf("error expanding SecondaryWorkerConfig into secondaryWorkerConfig: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["secondaryWorkerConfig"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig(c, f.SoftwareConfig, res); err != nil { - return nil, fmt.Errorf("error expanding SoftwareConfig into softwareConfig: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["softwareConfig"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigInitializationActionsSlice(c, f.InitializationActions, res); err != nil { - return nil, fmt.Errorf("error expanding InitializationActions into initializationActions: %w", err) - } else if v != nil { - m["initializationActions"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig(c, f.EncryptionConfig, res); err != nil { - return nil, fmt.Errorf("error expanding EncryptionConfig into encryptionConfig: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["encryptionConfig"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig(c, f.AutoscalingConfig, res); err != nil { - return nil, fmt.Errorf("error expanding AutoscalingConfig into autoscalingConfig: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["autoscalingConfig"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigSecurityConfig(c, f.SecurityConfig, res); err != nil { - return nil, fmt.Errorf("error expanding SecurityConfig into securityConfig: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["securityConfig"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig(c, f.LifecycleConfig, res); err != nil { - return nil, fmt.Errorf("error expanding LifecycleConfig into lifecycleConfig: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["lifecycleConfig"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigEndpointConfig(c, f.EndpointConfig, res); err != nil { - return nil, fmt.Errorf("error expanding EndpointConfig into endpointConfig: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["endpointConfig"] = v - } -{{- if ne $.TargetVersionName "ga" }} - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig(c, f.GkeClusterConfig, res); err != nil { - return nil, fmt.Errorf("error expanding GkeClusterConfig into gkeClusterConfig: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["gkeClusterConfig"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigMetastoreConfig(c, f.MetastoreConfig, res); err != nil { - return nil, fmt.Errorf("error expanding MetastoreConfig into metastoreConfig: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["metastoreConfig"] = v + if v := f.NodeGroup; !dcl.IsEmptyValueIndirect(v) { + m["nodeGroupUri"] = v } -{{- end }} return m, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity flattens an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfig(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfig { - m, ok := i.(map[string]interface{}) - if !ok { - return nil - } - - r := &WorkflowTemplatePlacementManagedClusterConfig{} - - if dcl.IsEmptyValueIndirect(i) { - return EmptyWorkflowTemplatePlacementManagedClusterConfig - } - r.StagingBucket = dcl.FlattenString(m["configBucket"]) - r.TempBucket = dcl.FlattenString(m["tempBucket"]) - r.GceClusterConfig = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c, m["gceClusterConfig"], res) - r.MasterConfig = flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c, m["masterConfig"], res) - r.WorkerConfig = flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c, m["workerConfig"], res) - r.SecondaryWorkerConfig = flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig(c, m["secondaryWorkerConfig"], res) - r.SoftwareConfig = flattenWorkflowTemplatePlacementManagedClusterConfigSoftwareConfig(c, m["softwareConfig"], res) - r.InitializationActions = flattenWorkflowTemplatePlacementManagedClusterConfigInitializationActionsSlice(c, m["initializationActions"], res) - r.EncryptionConfig = flattenWorkflowTemplatePlacementManagedClusterConfigEncryptionConfig(c, m["encryptionConfig"], res) - r.AutoscalingConfig = flattenWorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig(c, m["autoscalingConfig"], res) - r.SecurityConfig = flattenWorkflowTemplatePlacementManagedClusterConfigSecurityConfig(c, m["securityConfig"], res) - r.LifecycleConfig = flattenWorkflowTemplatePlacementManagedClusterConfigLifecycleConfig(c, m["lifecycleConfig"], res) - r.EndpointConfig = flattenWorkflowTemplatePlacementManagedClusterConfigEndpointConfig(c, m["endpointConfig"], res) -{{- if ne $.TargetVersionName "ga" }} - r.GkeClusterConfig = flattenWorkflowTemplatePlacementManagedClusterConfigGkeClusterConfig(c, m["gkeClusterConfig"], res) - r.MetastoreConfig = flattenWorkflowTemplatePlacementManagedClusterConfigMetastoreConfig(c, m["metastoreConfig"], res) -{{- end }} +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity { + m, ok := i.(map[string]interface{}) + if !ok { + return nil + } + + r := &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity{} + + if dcl.IsEmptyValueIndirect(i) { + return EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity + } + r.NodeGroup = dcl.FlattenString(m["nodeGroupUri"]) return r } -// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, res *WorkflowTemplate) (map[string]interface{}, error) { if f == nil { return nil, nil } items := make(map[string]interface{}) for k, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, &item, res) if err != nil { return nil, err } @@ -11962,16 +13314,16 @@ func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigMap(c *D return items, nil } -// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { if f == nil { return nil, nil } items := []map[string]interface{}{} for _, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, &item, res) if err != nil { return nil, err } @@ -11982,139 +13334,97 @@ func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigSlice(c return items, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { a, ok := i.(map[string]interface{}) if !ok { - return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} } if len(a) == 0 { - return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} } - items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig) + items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) for k, item := range a { - items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c, item.(map[string]interface{}), res) + items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, item.(map[string]interface{}), res) } return items } -// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { a, ok := i.([]interface{}) if !ok { - return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig{} + return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} } if len(a) == 0 { - return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig{} + return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} } - items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig, 0, len(a)) + items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, 0, len(a)) for _, item := range a { - items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c, item.(map[string]interface{}), res)) + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, item.(map[string]interface{}), res)) } return items } -// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, res *WorkflowTemplate) (map[string]interface{}, error) { if dcl.IsEmptyValueIndirect(f) { return nil, nil } m := make(map[string]interface{}) - if v := f.Zone; !dcl.IsEmptyValueIndirect(v) { - m["zoneUri"] = v - } - if v := f.Network; !dcl.IsEmptyValueIndirect(v) { - m["networkUri"] = v - } - if v := f.Subnetwork; !dcl.IsEmptyValueIndirect(v) { - m["subnetworkUri"] = v - } - if v := f.InternalIPOnly; !dcl.IsEmptyValueIndirect(v) { - m["internalIpOnly"] = v - } - if v := f.PrivateIPv6GoogleAccess; !dcl.IsEmptyValueIndirect(v) { - m["privateIpv6GoogleAccess"] = v - } - if v := f.ServiceAccount; !dcl.IsEmptyValueIndirect(v) { - m["serviceAccount"] = v - } - if v := f.ServiceAccountScopes; v != nil { - m["serviceAccountScopes"] = v - } - if v := f.Tags; v != nil { - m["tags"] = v - } - if v := f.Metadata; !dcl.IsEmptyValueIndirect(v) { - m["metadata"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, f.ReservationAffinity, res); err != nil { - return nil, fmt.Errorf("error expanding ReservationAffinity into reservationAffinity: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["reservationAffinity"] = v + if v := f.EnableSecureBoot; !dcl.IsEmptyValueIndirect(v) { + m["enableSecureBoot"] = v } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, f.NodeGroupAffinity, res); err != nil { - return nil, fmt.Errorf("error expanding NodeGroupAffinity into nodeGroupAffinity: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["nodeGroupAffinity"] = v + if v := f.EnableVtpm; !dcl.IsEmptyValueIndirect(v) { + m["enableVtpm"] = v } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, f.ShieldedInstanceConfig, res); err != nil { - return nil, fmt.Errorf("error expanding ShieldedInstanceConfig into shieldedInstanceConfig: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["shieldedInstanceConfig"] = v + if v := f.EnableIntegrityMonitoring; !dcl.IsEmptyValueIndirect(v) { + m["enableIntegrityMonitoring"] = v } return m, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { m, ok := i.(map[string]interface{}) if !ok { return nil } - r := &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig{} + r := &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} if dcl.IsEmptyValueIndirect(i) { - return EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfig + return EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig } - r.Zone = dcl.FlattenString(m["zoneUri"]) - r.Network = dcl.FlattenString(m["networkUri"]) - r.Subnetwork = dcl.FlattenString(m["subnetworkUri"]) - r.InternalIPOnly = dcl.FlattenBool(m["internalIpOnly"]) - r.PrivateIPv6GoogleAccess = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum(m["privateIpv6GoogleAccess"]) - r.ServiceAccount = dcl.FlattenString(m["serviceAccount"]) - r.ServiceAccountScopes = dcl.FlattenStringSlice(m["serviceAccountScopes"]) - r.Tags = dcl.FlattenStringSlice(m["tags"]) - r.Metadata = dcl.FlattenKeyValuePairs(m["metadata"]) - r.ReservationAffinity = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, m["reservationAffinity"], res) - r.NodeGroupAffinity = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, m["nodeGroupAffinity"], res) - r.ShieldedInstanceConfig = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, m["shieldedInstanceConfig"], res) + r.EnableSecureBoot = dcl.FlattenBool(m["enableSecureBoot"]) + r.EnableVtpm = dcl.FlattenBool(m["enableVtpm"]) + r.EnableIntegrityMonitoring = dcl.FlattenBool(m["enableIntegrityMonitoring"]) return r } -// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfig into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfig, res *WorkflowTemplate) (map[string]interface{}, error) { if f == nil { return nil, nil } items := make(map[string]interface{}) for k, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c, &item, res) if err != nil { return nil, err } @@ -12126,16 +13436,16 @@ func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservat return items, nil } -// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinitySlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfig into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinitySlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity, res *WorkflowTemplate) ([]map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigMasterConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { if f == nil { return nil, nil } items := []map[string]interface{}{} for _, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c, &item, res) if err != nil { return nil, err } @@ -12146,97 +13456,126 @@ func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservat return items, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity { +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfig { a, ok := i.(map[string]interface{}) if !ok { - return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfig{} } if len(a) == 0 { - return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfig{} } - items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity) + items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfig) for k, item := range a { - items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, item.(map[string]interface{}), res) + items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c, item.(map[string]interface{}), res) } return items } -// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinitySlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinitySlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity { +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigMasterConfig { a, ok := i.([]interface{}) if !ok { - return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity{} + return []WorkflowTemplatePlacementManagedClusterConfigMasterConfig{} } if len(a) == 0 { - return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity{} + return []WorkflowTemplatePlacementManagedClusterConfigMasterConfig{} } - items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity, 0, len(a)) + items := make([]WorkflowTemplatePlacementManagedClusterConfigMasterConfig, 0, len(a)) for _, item := range a { - items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c, item.(map[string]interface{}), res)) + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c, item.(map[string]interface{}), res)) } return items } -// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity expands an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfig into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigMasterConfig, res *WorkflowTemplate) (map[string]interface{}, error) { if dcl.IsEmptyValueIndirect(f) { return nil, nil } m := make(map[string]interface{}) - if v := f.ConsumeReservationType; !dcl.IsEmptyValueIndirect(v) { - m["consumeReservationType"] = v + if v := f.NumInstances; !dcl.IsEmptyValueIndirect(v) { + m["numInstances"] = v } - if v := f.Key; !dcl.IsEmptyValueIndirect(v) { - m["key"] = v + if v := f.Image; !dcl.IsEmptyValueIndirect(v) { + m["imageUri"] = v } - if v := f.Values; v != nil { - m["values"] = v + if v := f.MachineType; !dcl.IsEmptyValueIndirect(v) { + m["machineTypeUri"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c, f.DiskConfig, res); err != nil { + return nil, fmt.Errorf("error expanding DiskConfig into diskConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["diskConfig"] = v + } + if v := f.Preemptibility; !dcl.IsEmptyValueIndirect(v) { + m["preemptibility"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsSlice(c, f.Accelerators, res); err != nil { + return nil, fmt.Errorf("error expanding Accelerators into accelerators: %w", err) + } else if v != nil { + m["accelerators"] = v + } + if v := f.MinCpuPlatform; !dcl.IsEmptyValueIndirect(v) { + m["minCpuPlatform"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy(c, f.InstanceFlexibilityPolicy, res); err != nil { + return nil, fmt.Errorf("error expanding InstanceFlexibilityPolicy into instanceFlexibilityPolicy: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["instanceFlexibilityPolicy"] = v } return m, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity flattens an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity { +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigMasterConfig { m, ok := i.(map[string]interface{}) if !ok { return nil } - r := &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity{} + r := &WorkflowTemplatePlacementManagedClusterConfigMasterConfig{} if dcl.IsEmptyValueIndirect(i) { - return EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity + return EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfig } - r.ConsumeReservationType = flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum(m["consumeReservationType"]) - r.Key = dcl.FlattenString(m["key"]) - r.Values = dcl.FlattenStringSlice(m["values"]) + r.NumInstances = dcl.FlattenInteger(m["numInstances"]) + r.InstanceNames = dcl.FlattenStringSlice(m["instanceNames"]) + r.Image = dcl.FlattenString(m["imageUri"]) + r.MachineType = dcl.FlattenString(m["machineTypeUri"]) + r.DiskConfig = flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c, m["diskConfig"], res) + r.IsPreemptible = dcl.FlattenBool(m["isPreemptible"]) + r.Preemptibility = flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum(m["preemptibility"]) + r.ManagedGroupConfig = flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(c, m["managedGroupConfig"], res) + r.Accelerators = flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsSlice(c, m["accelerators"], res) + r.MinCpuPlatform = dcl.FlattenString(m["minCpuPlatform"]) + r.InstanceFlexibilityPolicy = flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy(c, m["instanceFlexibilityPolicy"], res) return r } -// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig, res *WorkflowTemplate) (map[string]interface{}, error) { if f == nil { return nil, nil } items := make(map[string]interface{}) for k, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c, &item, res) if err != nil { return nil, err } @@ -12248,16 +13587,16 @@ func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGrou return items, nil } -// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinitySlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinitySlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity, res *WorkflowTemplate) ([]map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { if f == nil { return nil, nil } items := []map[string]interface{}{} for _, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c, &item, res) if err != nil { return nil, err } @@ -12268,89 +13607,97 @@ func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGrou return items, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinityMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity { +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig { a, ok := i.(map[string]interface{}) if !ok { - return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig{} } if len(a) == 0 { - return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig{} } - items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity) + items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig) for k, item := range a { - items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, item.(map[string]interface{}), res) + items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c, item.(map[string]interface{}), res) } return items } -// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinitySlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinitySlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity { +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig { a, ok := i.([]interface{}) if !ok { - return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity{} + return []WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig{} } if len(a) == 0 { - return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity{} + return []WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig{} } - items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity, 0, len(a)) + items := make([]WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig, 0, len(a)) for _, item := range a { - items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c, item.(map[string]interface{}), res)) + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c, item.(map[string]interface{}), res)) } return items } -// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity expands an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig, res *WorkflowTemplate) (map[string]interface{}, error) { if dcl.IsEmptyValueIndirect(f) { return nil, nil } m := make(map[string]interface{}) - if v := f.NodeGroup; !dcl.IsEmptyValueIndirect(v) { - m["nodeGroupUri"] = v + if v := f.BootDiskType; !dcl.IsEmptyValueIndirect(v) { + m["bootDiskType"] = v + } + if v := f.BootDiskSizeGb; !dcl.IsEmptyValueIndirect(v) { + m["bootDiskSizeGb"] = v + } + if v := f.NumLocalSsds; !dcl.IsEmptyValueIndirect(v) { + m["numLocalSsds"] = v } return m, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity flattens an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity { +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig { m, ok := i.(map[string]interface{}) if !ok { return nil } - r := &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity{} + r := &WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig{} if dcl.IsEmptyValueIndirect(i) { - return EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity + return EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig } - r.NodeGroup = dcl.FlattenString(m["nodeGroupUri"]) + r.BootDiskType = dcl.FlattenString(m["bootDiskType"]) + r.BootDiskSizeGb = dcl.FlattenInteger(m["bootDiskSizeGb"]) + r.NumLocalSsds = dcl.FlattenInteger(m["numLocalSsds"]) return r } -// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig, res *WorkflowTemplate) (map[string]interface{}, error) { if f == nil { return nil, nil } items := make(map[string]interface{}) for k, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(c, &item, res) if err != nil { return nil, err } @@ -12362,16 +13709,16 @@ func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShielded return items, nil } -// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { if f == nil { return nil, nil } items := []map[string]interface{}{} for _, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(c, &item, res) if err != nil { return nil, err } @@ -12382,97 +13729,87 @@ func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShielded return items, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig { a, ok := i.(map[string]interface{}) if !ok { - return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig{} } if len(a) == 0 { - return map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig{} } - items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig) + items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig) for k, item := range a { - items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, item.(map[string]interface{}), res) + items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(c, item.(map[string]interface{}), res) } return items } -// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfigSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig { a, ok := i.([]interface{}) if !ok { - return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + return []WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig{} } if len(a) == 0 { - return []WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + return []WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig{} } - items := make([]WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, 0, len(a)) + items := make([]WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig, 0, len(a)) for _, item := range a { - items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c, item.(map[string]interface{}), res)) + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(c, item.(map[string]interface{}), res)) } return items } -// expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig, res *WorkflowTemplate) (map[string]interface{}, error) { if dcl.IsEmptyValueIndirect(f) { return nil, nil } m := make(map[string]interface{}) - if v := f.EnableSecureBoot; !dcl.IsEmptyValueIndirect(v) { - m["enableSecureBoot"] = v - } - if v := f.EnableVtpm; !dcl.IsEmptyValueIndirect(v) { - m["enableVtpm"] = v - } - if v := f.EnableIntegrityMonitoring; !dcl.IsEmptyValueIndirect(v) { - m["enableIntegrityMonitoring"] = v - } return m, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig { m, ok := i.(map[string]interface{}) if !ok { return nil } - r := &WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig{} + r := &WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig{} if dcl.IsEmptyValueIndirect(i) { - return EmptyWorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig + return EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig } - r.EnableSecureBoot = dcl.FlattenBool(m["enableSecureBoot"]) - r.EnableVtpm = dcl.FlattenBool(m["enableVtpm"]) - r.EnableIntegrityMonitoring = dcl.FlattenBool(m["enableIntegrityMonitoring"]) + r.InstanceTemplateName = dcl.FlattenString(m["instanceTemplateName"]) + r.InstanceGroupManagerName = dcl.FlattenString(m["instanceGroupManagerName"]) return r } -// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfig, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators, res *WorkflowTemplate) (map[string]interface{}, error) { if f == nil { return nil, nil } items := make(map[string]interface{}) for k, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators(c, &item, res) if err != nil { return nil, err } @@ -12484,16 +13821,16 @@ func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigMap(c *DclCl return items, nil } -// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigMasterConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators, res *WorkflowTemplate) ([]map[string]interface{}, error) { if f == nil { return nil, nil } items := []map[string]interface{}{} for _, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators(c, &item, res) if err != nil { return nil, err } @@ -12504,354 +13841,297 @@ func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigSlice(c *Dcl return items, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators { a, ok := i.(map[string]interface{}) if !ok { - return map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfig{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators{} } if len(a) == 0 { - return map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfig{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators{} } - items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfig) + items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators) for k, item := range a { - items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c, item.(map[string]interface{}), res) + items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators(c, item.(map[string]interface{}), res) } return items } -// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigMasterConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators { a, ok := i.([]interface{}) if !ok { - return []WorkflowTemplatePlacementManagedClusterConfigMasterConfig{} + return []WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators{} } if len(a) == 0 { - return []WorkflowTemplatePlacementManagedClusterConfigMasterConfig{} + return []WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators{} } - items := make([]WorkflowTemplatePlacementManagedClusterConfigMasterConfig, 0, len(a)) + items := make([]WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators, 0, len(a)) for _, item := range a { - items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c, item.(map[string]interface{}), res)) + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators(c, item.(map[string]interface{}), res)) } return items } -// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators expands an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigMasterConfig, res *WorkflowTemplate) (map[string]interface{}, error) { - if dcl.IsEmptyValueIndirect(f) { +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators, res *WorkflowTemplate) (map[string]interface{}, error) { + if f == nil { return nil, nil } m := make(map[string]interface{}) - if v := f.NumInstances; !dcl.IsEmptyValueIndirect(v) { - m["numInstances"] = v - } - if v := f.Image; !dcl.IsEmptyValueIndirect(v) { - m["imageUri"] = v - } - if v := f.MachineType; !dcl.IsEmptyValueIndirect(v) { - m["machineTypeUri"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c, f.DiskConfig, res); err != nil { - return nil, fmt.Errorf("error expanding DiskConfig into diskConfig: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["diskConfig"] = v - } - if v := f.Preemptibility; !dcl.IsEmptyValueIndirect(v) { - m["preemptibility"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsSlice(c, f.Accelerators, res); err != nil { - return nil, fmt.Errorf("error expanding Accelerators into accelerators: %w", err) - } else if v != nil { - m["accelerators"] = v + if v := f.AcceleratorType; !dcl.IsEmptyValueIndirect(v) { + m["acceleratorTypeUri"] = v } - if v := f.MinCpuPlatform; !dcl.IsEmptyValueIndirect(v) { - m["minCpuPlatform"] = v + if v := f.AcceleratorCount; !dcl.IsEmptyValueIndirect(v) { + m["acceleratorCount"] = v } return m, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators flattens an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfig(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigMasterConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators { m, ok := i.(map[string]interface{}) if !ok { return nil } - r := &WorkflowTemplatePlacementManagedClusterConfigMasterConfig{} + r := &WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators{} if dcl.IsEmptyValueIndirect(i) { - return EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfig + return EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators } - r.NumInstances = dcl.FlattenInteger(m["numInstances"]) - r.InstanceNames = dcl.FlattenStringSlice(m["instanceNames"]) - r.Image = dcl.FlattenString(m["imageUri"]) - r.MachineType = dcl.FlattenString(m["machineTypeUri"]) - r.DiskConfig = flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c, m["diskConfig"], res) - r.IsPreemptible = dcl.FlattenBool(m["isPreemptible"]) - r.Preemptibility = flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum(m["preemptibility"]) - r.ManagedGroupConfig = flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(c, m["managedGroupConfig"], res) - r.Accelerators = flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsSlice(c, m["accelerators"], res) - r.MinCpuPlatform = dcl.FlattenString(m["minCpuPlatform"]) + r.AcceleratorType = dcl.FlattenString(m["acceleratorTypeUri"]) + r.AcceleratorCount = dcl.FlattenInteger(m["acceleratorCount"]) return r } -// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy expands an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig, res *WorkflowTemplate) (map[string]interface{}, error) { - if f == nil { +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy, res *WorkflowTemplate) (map[string]interface{}, error) { + if dcl.IsEmptyValueIndirect(f) { return nil, nil } - items := make(map[string]interface{}) - for k, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c, &item, res) - if err != nil { - return nil, err - } - if i != nil { - items[k] = i - } - } - - return items, nil -} - -// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig into a JSON -// request object. -func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { - if f == nil { - return nil, nil + m := make(map[string]interface{}) + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c, f.InstanceSelectionList, res); err != nil { + return nil, fmt.Errorf("error expanding InstanceSelectionList into instanceSelectionList: %w", err) + } else if v != nil { + m["instanceSelectionList"] = v } - - items := []map[string]interface{}{} - for _, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c, &item, res) - if err != nil { - return nil, err - } - - items = append(items, i) + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResultSlice(c, f.InstanceSelectionResults, res); err != nil { + return nil, fmt.Errorf("error expanding InstanceSelectionResults into instanceSelectionResults: %w", err) + } else if v != nil { + m["instanceSelectionResults"] = v } - return items, nil + return m, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy flattens an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig { - a, ok := i.(map[string]interface{}) +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy { + m, ok := i.(map[string]interface{}) if !ok { - return map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig{} + return nil } - if len(a) == 0 { - return map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig{} - } + r := &WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy{} - items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig) - for k, item := range a { - items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c, item.(map[string]interface{}), res) + if dcl.IsEmptyValueIndirect(i) { + return EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicy } + r.InstanceMachineTypes = dcl.FlattenKeyValuePairs(m["instanceMachineTypes"]) + r.InstanceSelectionList = flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c, m["instanceSelectionList"], res) + r.InstanceSelectionResults = flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResultSlice(c, m["instanceSelectionResults"], res) - return items + return r } -// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig from a JSON -// response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfigSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig { - a, ok := i.([]interface{}) - if !ok { - return []WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig{} - } - - if len(a) == 0 { - return []WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig{} +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection into a JSON +// request object. +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection, res *WorkflowTemplate) ([]map[string]interface{}, error) { + if f == nil { + return nil, nil } - items := make([]WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig, 0, len(a)) - for _, item := range a { - items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c, item.(map[string]interface{}), res)) + items := []map[string]interface{}{} + for _, item := range f { + i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection(c, &item, res) + if err != nil { + return nil, err + } + if i != nil { + items = append(items, i) + } } - return items + return items, nil } -// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection expands an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection, res *WorkflowTemplate) (map[string]interface{}, error) { if dcl.IsEmptyValueIndirect(f) { return nil, nil } - m := make(map[string]interface{}) - if v := f.BootDiskType; !dcl.IsEmptyValueIndirect(v) { - m["bootDiskType"] = v + m := make(map[string]interface{}) + if v := f.MachineTypes; !dcl.IsEmptyValueIndirect(v) { + m["machineTypes"] = v + } + if v := f.Rank; v != nil { + m["rank"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c, f.DiskConfig, res); err != nil { + return nil, fmt.Errorf("error expanding DiskConfig into diskConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["diskConfig"] = v + } + + return m, nil +} + +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection from a JSON +// response object. +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection { + a, ok := i.([]interface{}) + if !ok { + return []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection{} } - if v := f.BootDiskSizeGb; !dcl.IsEmptyValueIndirect(v) { - m["bootDiskSizeGb"] = v + + if len(a) == 0 { + return []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection{} } - if v := f.NumLocalSsds; !dcl.IsEmptyValueIndirect(v) { - m["numLocalSsds"] = v + + items := make([]WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection, 0, len(a)) + for _, item := range a { + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection(c, item.(map[string]interface{}), res)) } - return m, nil + return items } -// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection flattens an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection { m, ok := i.(map[string]interface{}) if !ok { return nil } - r := &WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig{} + r := &WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection{} if dcl.IsEmptyValueIndirect(i) { - return EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig + return EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelection } - r.BootDiskType = dcl.FlattenString(m["bootDiskType"]) - r.BootDiskSizeGb = dcl.FlattenInteger(m["bootDiskSizeGb"]) - r.NumLocalSsds = dcl.FlattenInteger(m["numLocalSsds"]) + r.MachineTypes = dcl.FlattenStringSlice(m["machineTypes"]) + r.Rank = dcl.FlattenInteger(m["rank"]) + r.DiskConfig = flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig(c, m["diskConfig"], res) return r } -// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResultSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResultSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult, res *WorkflowTemplate) ([]map[string]interface{}, error) { if f == nil { return nil, nil } - items := make(map[string]interface{}) - for k, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(c, &item, res) + items := []map[string]interface{}{} + for _, item := range f { + i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult(c, &item, res) if err != nil { return nil, err } if i != nil { - items[k] = i + items = append(items, i) } } return items, nil } -// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult expands an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { - if f == nil { +func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult, res *WorkflowTemplate) (map[string]interface{}, error) { + if dcl.IsEmptyValueIndirect(f) { return nil, nil } - items := []map[string]interface{}{} - for _, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(c, &item, res) - if err != nil { - return nil, err - } - - items = append(items, i) - } - - return items, nil -} - -// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig from a JSON -// response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig { - a, ok := i.(map[string]interface{}) - if !ok { - return map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig{} - } - - if len(a) == 0 { - return map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig{} + m := make(map[string]interface{}) + if v := f.MachineType; !dcl.IsEmptyValueIndirect(v) { + m["machineType"] = v } - - items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig) - for k, item := range a { - items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(c, item.(map[string]interface{}), res) + if v := f.VMCount; !dcl.IsEmptyValueIndirect(v) { + m["vmCount"] = v } - return items + return m, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResultSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfigSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResultSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult { a, ok := i.([]interface{}) if !ok { - return []WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig{} + return []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult{} } if len(a) == 0 { - return []WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig{} + return []WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult{} } - items := make([]WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig, 0, len(a)) + items := make([]WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult, 0, len(a)) for _, item := range a { - items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(c, item.(map[string]interface{}), res)) + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult(c, item.(map[string]interface{}), res)) } return items } -// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig into a JSON -// request object. -func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig, res *WorkflowTemplate) (map[string]interface{}, error) { - if dcl.IsEmptyValueIndirect(f) { - return nil, nil - } - - m := make(map[string]interface{}) - - return m, nil -} - -// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult flattens an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult { m, ok := i.(map[string]interface{}) if !ok { return nil } - r := &WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig{} + r := &WorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult{} if dcl.IsEmptyValueIndirect(i) { - return EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig + return EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigInstanceFlexibilityPolicyInstanceSelectionResult } - r.InstanceTemplateName = dcl.FlattenString(m["instanceTemplateName"]) - r.InstanceGroupManagerName = dcl.FlattenString(m["instanceGroupManagerName"]) + r.MachineType = dcl.FlattenString(m["machineType"]) + r.VMCount = dcl.FlattenInteger(m["vmCount"]) return r } -// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigWorkerConfig into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators, res *WorkflowTemplate) (map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigWorkerConfig, res *WorkflowTemplate) (map[string]interface{}, error) { if f == nil { return nil, nil } items := make(map[string]interface{}) for k, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c, &item, res) if err != nil { return nil, err } @@ -12863,16 +14143,16 @@ func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators return items, nil } -// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigWorkerConfig into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators, res *WorkflowTemplate) ([]map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigWorkerConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { if f == nil { return nil, nil } items := []map[string]interface{}{} for _, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c, &item, res) if err != nil { return nil, err } @@ -12883,114 +14163,237 @@ func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators return items, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigWorkerConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators { +func flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigWorkerConfig { a, ok := i.(map[string]interface{}) if !ok { - return map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigWorkerConfig{} } if len(a) == 0 { - return map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators{} + return map[string]WorkflowTemplatePlacementManagedClusterConfigWorkerConfig{} } - items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators) + items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigWorkerConfig) for k, item := range a { - items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators(c, item.(map[string]interface{}), res) + items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c, item.(map[string]interface{}), res) } return items } -// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigWorkerConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAcceleratorsSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators { +func flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigWorkerConfig { a, ok := i.([]interface{}) if !ok { - return []WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators{} + return []WorkflowTemplatePlacementManagedClusterConfigWorkerConfig{} } if len(a) == 0 { - return []WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators{} + return []WorkflowTemplatePlacementManagedClusterConfigWorkerConfig{} } - items := make([]WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators, 0, len(a)) + items := make([]WorkflowTemplatePlacementManagedClusterConfigWorkerConfig, 0, len(a)) for _, item := range a { - items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators(c, item.(map[string]interface{}), res)) + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c, item.(map[string]interface{}), res)) } return items } -// expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators expands an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators into a JSON +// expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfigWorkerConfig into a JSON // request object. -func expandWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators, res *WorkflowTemplate) (map[string]interface{}, error) { - if f == nil { +func expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigWorkerConfig, res *WorkflowTemplate) (map[string]interface{}, error) { + if dcl.IsEmptyValueIndirect(f) { return nil, nil } m := make(map[string]interface{}) - if v := f.AcceleratorType; !dcl.IsEmptyValueIndirect(v) { - m["acceleratorTypeUri"] = v + if v := f.NumInstances; !dcl.IsEmptyValueIndirect(v) { + m["numInstances"] = v } - if v := f.AcceleratorCount; !dcl.IsEmptyValueIndirect(v) { - m["acceleratorCount"] = v + if v := f.Image; !dcl.IsEmptyValueIndirect(v) { + m["imageUri"] = v + } + if v := f.MachineType; !dcl.IsEmptyValueIndirect(v) { + m["machineTypeUri"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig(c, f.DiskConfig, res); err != nil { + return nil, fmt.Errorf("error expanding DiskConfig into diskConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["diskConfig"] = v + } + if v := f.Preemptibility; !dcl.IsEmptyValueIndirect(v) { + m["preemptibility"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAcceleratorsSlice(c, f.Accelerators, res); err != nil { + return nil, fmt.Errorf("error expanding Accelerators into accelerators: %w", err) + } else if v != nil { + m["accelerators"] = v + } + if v := f.MinCpuPlatform; !dcl.IsEmptyValueIndirect(v) { + m["minCpuPlatform"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy(c, f.InstanceFlexibilityPolicy, res); err != nil { + return nil, fmt.Errorf("error expanding InstanceFlexibilityPolicy into instanceFlexibilityPolicy: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["instanceFlexibilityPolicy"] = v } return m, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators flattens an instance of WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators from a JSON +// flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfigWorkerConfig from a JSON // response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators { +func flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigWorkerConfig { m, ok := i.(map[string]interface{}) if !ok { return nil } - r := &WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators{} + r := &WorkflowTemplatePlacementManagedClusterConfigWorkerConfig{} if dcl.IsEmptyValueIndirect(i) { - return EmptyWorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators + return EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfig } - r.AcceleratorType = dcl.FlattenString(m["acceleratorTypeUri"]) - r.AcceleratorCount = dcl.FlattenInteger(m["acceleratorCount"]) + r.NumInstances = dcl.FlattenInteger(m["numInstances"]) + r.InstanceNames = dcl.FlattenStringSlice(m["instanceNames"]) + r.Image = dcl.FlattenString(m["imageUri"]) + r.MachineType = dcl.FlattenString(m["machineTypeUri"]) + r.DiskConfig = flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig(c, m["diskConfig"], res) + r.IsPreemptible = dcl.FlattenBool(m["isPreemptible"]) + r.Preemptibility = flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum(m["preemptibility"]) + r.ManagedGroupConfig = flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig(c, m["managedGroupConfig"], res) + r.Accelerators = flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAcceleratorsSlice(c, m["accelerators"], res) + r.MinCpuPlatform = dcl.FlattenString(m["minCpuPlatform"]) + r.InstanceFlexibilityPolicy = flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy(c, m["instanceFlexibilityPolicy"], res) return r } -// expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigWorkerConfig into a JSON -// request object. -func expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigWorkerConfig, res *WorkflowTemplate) (map[string]interface{}, error) { +// expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy expands an instance of WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy into a JSON request object. +func expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy, res *WorkflowTemplate) (map[string]interface{}, error) { + if dcl.IsEmptyValueIndirect(f) { + return nil, nil + } + + m := make(map[string]interface{}) + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c, f.InstanceSelectionList, res); err != nil { + return nil, fmt.Errorf("error expanding InstanceSelectionList into instanceSelectionList: %w", err) + } else if v != nil { + m["instanceSelectionList"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultSlice(c, f.InstanceSelectionResults, res); err != nil { + return nil, fmt.Errorf("error expanding InstanceSelectionResults into instanceSelectionResults: %w", err) + } else if v != nil { + m["instanceSelectionResults"] = v + } + return m, nil +} + +func flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy { + m, ok := i.(map[string]interface{}) + if !ok { + return nil + } + + r := &WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy{} + + if dcl.IsEmptyValueIndirect(i) { + return EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicy + } + r.InstanceMachineTypes = dcl.FlattenKeyValuePairs(m["instanceMachineTypes"]) + r.InstanceSelectionList = flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c, m["instanceSelectionList"], res) + r.InstanceSelectionResults = flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultSlice(c, m["instanceSelectionResults"], res) + + return r +} + +func expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection, res *WorkflowTemplate) ([]map[string]interface{}, error) { if f == nil { return nil, nil } - items := make(map[string]interface{}) - for k, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c, &item, res) + items := []map[string]interface{}{} + for _, item := range f { + i, err := expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection(c, &item, res) if err != nil { return nil, err } - if i != nil { - items[k] = i - } + + items = append(items, i) + } + + return items, nil +} + +func expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection, res *WorkflowTemplate) (map[string]interface{}, error) { + if dcl.IsEmptyValueIndirect(f) { + return nil, nil + } + + m := make(map[string]interface{}) + if v := f.MachineTypes; !dcl.IsEmptyValueIndirect(v) { + m["machineTypes"] = v + } + if v := f.Rank; v != nil { + m["rank"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig(c, f.DiskConfig, res); err != nil { + return nil, fmt.Errorf("error expanding DiskConfig into diskConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["diskConfig"] = v + } + + return m, nil +} + +func flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection { + a, ok := i.([]interface{}) + if !ok { + return []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection{} + } + + if len(a) == 0 { + return []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection{} + } + + items := make([]WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection, 0, len(a)) + for _, item := range a { + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection(c, item.(map[string]interface{}), res)) + } + + return items +} + +func flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection { + m, ok := i.(map[string]interface{}) + if !ok { + return nil } - return items, nil + r := &WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection{} + + if dcl.IsEmptyValueIndirect(i) { + return EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelection + } + r.MachineTypes = dcl.FlattenStringSlice(m["machineTypes"]) + r.Rank = dcl.FlattenInteger(m["rank"]) + r.DiskConfig = flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig(c, m["diskConfig"], res) + + return r } -// expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigSlice expands the contents of WorkflowTemplatePlacementManagedClusterConfigWorkerConfig into a JSON -// request object. -func expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigWorkerConfig, res *WorkflowTemplate) ([]map[string]interface{}, error) { +func expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult, res *WorkflowTemplate) ([]map[string]interface{}, error) { if f == nil { return nil, nil } items := []map[string]interface{}{} for _, item := range f { - i, err := expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c, &item, res) + i, err := expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult(c, &item, res) if err != nil { return nil, err } @@ -13001,110 +14404,59 @@ func expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigSlice(c *Dcl return items, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigMap flattens the contents of WorkflowTemplatePlacementManagedClusterConfigWorkerConfig from a JSON -// response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigMap(c *DclClient, i interface{}, res *WorkflowTemplate) map[string]WorkflowTemplatePlacementManagedClusterConfigWorkerConfig { - a, ok := i.(map[string]interface{}) - if !ok { - return map[string]WorkflowTemplatePlacementManagedClusterConfigWorkerConfig{} +func expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult, res *WorkflowTemplate) (map[string]interface{}, error) { + if dcl.IsEmptyValueIndirect(f) { + return nil, nil } - if len(a) == 0 { - return map[string]WorkflowTemplatePlacementManagedClusterConfigWorkerConfig{} + m := make(map[string]interface{}) + if v := f.MachineType; !dcl.IsEmptyValueIndirect(v) { + m["machineType"] = v } - - items := make(map[string]WorkflowTemplatePlacementManagedClusterConfigWorkerConfig) - for k, item := range a { - items[k] = *flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c, item.(map[string]interface{}), res) + if v := f.VMCount; !dcl.IsEmptyValueIndirect(v) { + m["vmCount"] = v } - return items + return m, nil } -// flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigSlice flattens the contents of WorkflowTemplatePlacementManagedClusterConfigWorkerConfig from a JSON -// response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigWorkerConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult { a, ok := i.([]interface{}) if !ok { - return []WorkflowTemplatePlacementManagedClusterConfigWorkerConfig{} + return []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult{} } if len(a) == 0 { - return []WorkflowTemplatePlacementManagedClusterConfigWorkerConfig{} + return []WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult{} } - items := make([]WorkflowTemplatePlacementManagedClusterConfigWorkerConfig, 0, len(a)) + items := make([]WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult, 0, len(a)) for _, item := range a { - items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c, item.(map[string]interface{}), res)) + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult(c, item.(map[string]interface{}), res)) } return items } -// expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfig expands an instance of WorkflowTemplatePlacementManagedClusterConfigWorkerConfig into a JSON -// request object. -func expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigWorkerConfig, res *WorkflowTemplate) (map[string]interface{}, error) { - if dcl.IsEmptyValueIndirect(f) { - return nil, nil - } - - m := make(map[string]interface{}) - if v := f.NumInstances; !dcl.IsEmptyValueIndirect(v) { - m["numInstances"] = v - } - if v := f.Image; !dcl.IsEmptyValueIndirect(v) { - m["imageUri"] = v - } - if v := f.MachineType; !dcl.IsEmptyValueIndirect(v) { - m["machineTypeUri"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig(c, f.DiskConfig, res); err != nil { - return nil, fmt.Errorf("error expanding DiskConfig into diskConfig: %w", err) - } else if !dcl.IsEmptyValueIndirect(v) { - m["diskConfig"] = v - } - if v := f.Preemptibility; !dcl.IsEmptyValueIndirect(v) { - m["preemptibility"] = v - } - if v, err := expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAcceleratorsSlice(c, f.Accelerators, res); err != nil { - return nil, fmt.Errorf("error expanding Accelerators into accelerators: %w", err) - } else if v != nil { - m["accelerators"] = v - } - if v := f.MinCpuPlatform; !dcl.IsEmptyValueIndirect(v) { - m["minCpuPlatform"] = v - } - - return m, nil -} - -// flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfig flattens an instance of WorkflowTemplatePlacementManagedClusterConfigWorkerConfig from a JSON -// response object. -func flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfig(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigWorkerConfig { +func flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult { m, ok := i.(map[string]interface{}) if !ok { return nil } - r := &WorkflowTemplatePlacementManagedClusterConfigWorkerConfig{} + r := &WorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult{} if dcl.IsEmptyValueIndirect(i) { - return EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfig + return EmptyWorkflowTemplatePlacementManagedClusterConfigWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult } - r.NumInstances = dcl.FlattenInteger(m["numInstances"]) - r.InstanceNames = dcl.FlattenStringSlice(m["instanceNames"]) - r.Image = dcl.FlattenString(m["imageUri"]) - r.MachineType = dcl.FlattenString(m["machineTypeUri"]) - r.DiskConfig = flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig(c, m["diskConfig"], res) - r.IsPreemptible = dcl.FlattenBool(m["isPreemptible"]) - r.Preemptibility = flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum(m["preemptibility"]) - r.ManagedGroupConfig = flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig(c, m["managedGroupConfig"], res) - r.Accelerators = flattenWorkflowTemplatePlacementManagedClusterConfigWorkerConfigAcceleratorsSlice(c, m["accelerators"], res) - r.MinCpuPlatform = dcl.FlattenString(m["minCpuPlatform"]) + r.MachineType = dcl.FlattenString(m["machineType"]) + r.VMCount = dcl.FlattenInteger(m["vmCount"]) return r } + + // expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfigMap expands the contents of WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig into a JSON // request object. func expandWorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfigMap(c *DclClient, f map[string]WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig, res *WorkflowTemplate) (map[string]interface{}, error) { @@ -13571,6 +14923,11 @@ func expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig(c if v := f.MinCpuPlatform; !dcl.IsEmptyValueIndirect(v) { m["minCpuPlatform"] = v } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy(c, f.InstanceFlexibilityPolicy, res); err != nil { + return nil, fmt.Errorf("error expanding InstanceFlexibilityPolicy into instanceFlexibilityPolicy: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["instanceFlexibilityPolicy"] = v + } return m, nil } @@ -13598,6 +14955,229 @@ func flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig(c r.ManagedGroupConfig = flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig(c, m["managedGroupConfig"], res) r.Accelerators = flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAcceleratorsSlice(c, m["accelerators"], res) r.MinCpuPlatform = dcl.FlattenString(m["minCpuPlatform"]) + r.InstanceFlexibilityPolicy = flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy(c, m["instanceFlexibilityPolicy"], res) + + return r +} + +// expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy expands an instance of WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy into a JSON request object. +func expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy, res *WorkflowTemplate) (map[string]interface{}, error) { + if dcl.IsEmptyValueIndirect(f) { + return nil, nil + } + + m := make(map[string]interface{}) + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c, f.InstanceSelectionList, res); err != nil { + return nil, fmt.Errorf("error expanding InstanceSelectionList into instanceSelectionList: %w", err) + } else if v != nil { + m["instanceSelectionList"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultSlice(c, f.InstanceSelectionResults, res); err != nil { + return nil, fmt.Errorf("error expanding InstanceSelectionResults into instanceSelectionResults: %w", err) + } else if v != nil { + m["instanceSelectionResults"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix(c, f.ProvisioningModelMix, res); err != nil { + return nil, fmt.Errorf("error expanding ProvisioningModelMix into provisioningModelMix: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["provisioningModelMix"] = v + } + + return m, nil +} + +func flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy { + m, ok := i.(map[string]interface{}) + if !ok { + return nil + } + + r := &WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy{} + + if dcl.IsEmptyValueIndirect(i) { + return EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicy + } + r.InstanceMachineTypes = dcl.FlattenKeyValuePairs(m["instanceMachineTypes"]) + r.InstanceSelectionList = flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c, m["instanceSelectionList"], res) + r.InstanceSelectionResults = flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultSlice(c, m["instanceSelectionResults"], res) + r.ProvisioningModelMix = flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix(c, m["provisioningModelMix"], res) + + return r +} + +func expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection, res *WorkflowTemplate) ([]map[string]interface{}, error) { + if f == nil { + return nil, nil + } + + items := []map[string]interface{}{} + for _, item := range f { + i, err := expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection(c, &item, res) + if err != nil { + return nil, err + } + + items = append(items, i) + } + + return items, nil +} + +func expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection, res *WorkflowTemplate) (map[string]interface{}, error) { + if dcl.IsEmptyValueIndirect(f) { + return nil, nil + } + + m := make(map[string]interface{}) + if v := f.MachineTypes; !dcl.IsEmptyValueIndirect(v) { + m["machineTypes"] = v + } + if v := f.Rank; v != nil { + m["rank"] = v + } + if v, err := expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig(c, f.DiskConfig, res); err != nil { + return nil, fmt.Errorf("error expanding DiskConfig into diskConfig: %w", err) + } else if !dcl.IsEmptyValueIndirect(v) { + m["diskConfig"] = v + } + + return m, nil +} + +func flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection { + a, ok := i.([]interface{}) + if !ok { + return []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection{} + } + + if len(a) == 0 { + return []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection{} + } + + items := make([]WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection, 0, len(a)) + for _, item := range a { + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection(c, item.(map[string]interface{}), res)) + } + + return items +} + +func flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection { + m, ok := i.(map[string]interface{}) + if !ok { + return nil + } + + r := &WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection{} + + if dcl.IsEmptyValueIndirect(i) { + return EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelection + } + r.MachineTypes = dcl.FlattenStringSlice(m["machineTypes"]) + r.Rank = dcl.FlattenInteger(m["rank"]) + r.DiskConfig = flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig(c, m["diskConfig"], res) + + return r +} + +func expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultSlice(c *DclClient, f []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult, res *WorkflowTemplate) ([]map[string]interface{}, error) { + if f == nil { + return nil, nil + } + + items := []map[string]interface{}{} + for _, item := range f { + i, err := expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult(c, &item, res) + if err != nil { + return nil, err + } + + items = append(items, i) + } + + return items, nil +} + +func expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult, res *WorkflowTemplate) (map[string]interface{}, error) { + if dcl.IsEmptyValueIndirect(f) { + return nil, nil + } + + m := make(map[string]interface{}) + if v := f.MachineType; !dcl.IsEmptyValueIndirect(v) { + m["machineType"] = v + } + if v := f.VMCount; !dcl.IsEmptyValueIndirect(v) { + m["vmCount"] = v + } + + return m, nil +} + +func flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResultSlice(c *DclClient, i interface{}, res *WorkflowTemplate) []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult { + a, ok := i.([]interface{}) + if !ok { + return []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult{} + } + + if len(a) == 0 { + return []WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult{} + } + + items := make([]WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult, 0, len(a)) + for _, item := range a { + items = append(items, *flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult(c, item.(map[string]interface{}), res)) + } + + return items +} + +func flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult { + m, ok := i.(map[string]interface{}) + if !ok { + return nil + } + + r := &WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult{} + + if dcl.IsEmptyValueIndirect(i) { + return EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyInstanceSelectionResult + } + r.MachineType = dcl.FlattenString(m["machineType"]) + r.VMCount = dcl.FlattenInteger(m["vmCount"]) + + return r +} + +func expandWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix(c *DclClient, f *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix, res *WorkflowTemplate) (map[string]interface{}, error) { + if dcl.IsEmptyValueIndirect(f) { + return nil, nil + } + + m := make(map[string]interface{}) + if v := f.StandardCapacityBase; v != nil { + m["standardCapacityBase"] = v + } + if v := f.StandardCapacityPercentAboveBase; v != nil { + m["standardCapacityPercentAboveBase"] = v + } + + return m, nil +} + +func flattenWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix(c *DclClient, i interface{}, res *WorkflowTemplate) *WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix { + m, ok := i.(map[string]interface{}) + if !ok { + return nil + } + + r := &WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix{} + + if dcl.IsEmptyValueIndirect(i) { + return EmptyWorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigInstanceFlexibilityPolicyProvisioningModelMix + } + r.StandardCapacityBase = dcl.FlattenInteger(m["standardCapacityBase"]) + r.StandardCapacityPercentAboveBase = dcl.FlattenInteger(m["standardCapacityPercentAboveBase"]) return r } diff --git a/mmv1/third_party/terraform/website/docs/r/dataproc_workflow_template.html.markdown b/mmv1/third_party/terraform/website/docs/r/dataproc_workflow_template.html.markdown index 42b1eaa72069..a6096f1c1698 100644 --- a/mmv1/third_party/terraform/website/docs/r/dataproc_workflow_template.html.markdown +++ b/mmv1/third_party/terraform/website/docs/r/dataproc_workflow_template.html.markdown @@ -136,6 +136,51 @@ resource "google_dataproc_workflow_template" "example" { } ``` +## Example Usage - Dataproc Workflow Template Instance Flexibility Policy + +```hcl +resource "google_dataproc_workflow_template" "template" { + name = "template-flexible-vms" + location = "us-central1" + placement { + managed_cluster { + cluster_name = "my-flexible-cluster" + config { + software_config { + image_version = "2.0.35-debian10" + } + master_config { + num_instances = 1 + machine_type = "e2-standard-2" + } + worker_config { + num_instances = 2 + instance_flexibility_policy { + instance_selection_list { + machine_types = ["e2-standard-2"] + rank = 1 + } + } + } + secondary_worker_config { + num_instances = 2 + instance_flexibility_policy { + instance_selection_list { + machine_types = ["n1-standard-2"] + rank = 1 + } + provisioning_model_mix { + standard_capacity_base = 1 + standard_capacity_percent_above_base = 50 + } + } + } + } + } + } +} +``` + ## Argument Reference The following arguments are supported: @@ -148,7 +193,7 @@ The following arguments are supported: (Required) The resource name of the workflow template, as described in https://docs.cloud.google.com/apis/design/resource_names. * For `projects.regions.workflowTemplates`, the resource name of the template has the following format: `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}` * For `projects.locations.workflowTemplates`, the resource name of the template has the following format: `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}` * `placement` - - (Required) WorkflowTemplate scheduling information. + (Required) WorkflowTemplate scheduling information. Structure is [documented below](#nested_placement). * `jobs` - (Required) The Directed Acyclic Graph of Jobs to submit. Structure is [documented below](#nested_jobs) @@ -229,18 +274,18 @@ When this this key is provided, the following workflow template job arguments, i Required. The step id. The id must be unique among all jobs within the template. The step id is used as prefix for job id, as job `goog-dataproc-workflow-step-id` label, and in field from other steps. The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of between 3 and 50 characters. -The `placement` block supports: +The `placement` block supports: * `cluster_selector` - (Optional) - A selector that chooses target cluster for jobs based on metadata. The selector is evaluated at the time each job is submitted. + A selector that chooses target cluster for jobs based on metadata. The selector is evaluated at the time each job is submitted. Structure is [documented below](#nested_cluster_selector). * `managed_cluster` - (Optional) - A cluster that is managed by the workflow. + A cluster that is managed by the workflow. Structure is [documented below](#nested_managed_cluster). -The `config` block supports: +The `config` block supports: * `autoscaling_config` - (Optional) @@ -272,7 +317,7 @@ The `config` block supports: * `master_config` - (Optional) - The Compute Engine config settings for additional worker instances in a cluster. + The Compute Engine config settings for additional worker instances in a cluster. Structure is [documented below](#nested_master_config). * `metastore_config` - (Optional) @@ -280,7 +325,7 @@ The `config` block supports: * `secondary_worker_config` - (Optional) - The Compute Engine config settings for additional worker instances in a cluster. + The Compute Engine config settings for additional worker instances in a cluster. Structure is [documented below](#nested_secondary_worker_config). * `security_config` - (Optional) @@ -300,7 +345,7 @@ The `config` block supports: * `worker_config` - (Optional) - The Compute Engine config settings for additional worker instances in a cluster. + The Compute Engine config settings for additional worker instances in a cluster. Structure is [documented below](#nested_worker_config). - - - @@ -682,7 +727,7 @@ The `values` block supports: (Required) Required. List of allowed values for the parameter. -The `cluster_selector` block supports: +The `cluster_selector` block supports: * `cluster_labels` - (Required) @@ -692,7 +737,7 @@ The `cluster_selector` block supports: (Optional) The zone where workflow process executes. This parameter does not affect the selection of the cluster. If unspecified, the zone of the first cluster matching the selector is used. -The `managed_cluster` block supports: +The `managed_cluster` block supports: * `cluster_name` - (Required) @@ -700,13 +745,13 @@ The `managed_cluster` block supports: * `config` - (Required) - Required. The cluster configuration. + Required. The cluster configuration. Structure is [documented below](#nested_config). * `labels` - (Optional) The labels to associate with this cluster. Label keys must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: {0,63} No more than 32 labels can be associated with a given cluster. -The `master_config` block supports: +The `master_config` block supports: * `accelerators` - (Optional) @@ -745,7 +790,93 @@ The `master_config` block supports: * `managed_group_config` - Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. -The `accelerators` block supports: +* `instance_flexibility_policy` - + (Optional) + Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. Supported on `master_config`, `worker_config`, and `secondary_worker_config` (provisioning models are supported exclusively on `secondary_worker_config`). Structure is [documented below](#nested_instance_flexibility_policy). + +The `secondary_worker_config` block supports: + +* `accelerators` - + (Optional) + The Compute Engine accelerator configuration for these instances. Structure is [documented below](#nested_accelerators). + +* `disk_config` - + (Optional) + Disk option config settings. Structure is [documented below](#nested_disk_config). + +* `image` - + (Optional) + The Compute Engine image resource used for cluster instances. + +* `machine_type` - + (Optional) + The Compute Engine machine type used for cluster instances. + +* `min_cpu_platform` - + (Optional) + The minimum CPU platform and architecture for the cluster. + +* `num_instances` - + (Optional) + The number of worker instances in the cluster. + +* `preemptibility` - + (Optional) + Specifies the preemptibility of the secondary worker group. + +* `instance_names` - + Output only. The list of instance names. + +* `is_preemptible` - + Output only. Specifies that this instance group contains preemptible instances. + +* `managed_group_config` - + Output only. The config for Compute Engine Instance Group Manager that manages this group. + +* `instance_flexibility_policy` - + (Optional) + Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. Structure is [documented below](#nested_instance_flexibility_policy). + +The `worker_config` block supports: + +* `accelerators` - + (Optional) + The Compute Engine accelerator configuration for these instances. Structure is [documented below](#nested_accelerators). + +* `disk_config` - + (Optional) + Disk option config settings. Structure is [documented below](#nested_disk_config). + +* `image` - + (Optional) + The Compute Engine image resource used for cluster instances. + +* `machine_type` - + (Optional) + The Compute Engine machine type used for cluster instances. + +* `min_cpu_platform` - + (Optional) + The minimum CPU platform and architecture for the cluster. + +* `num_instances` - + (Optional) + The number of worker instances in the cluster. + +* `instance_names` - + Output only. The list of instance names. + +* `is_preemptible` - + Output only. Specifies that this instance group contains preemptible instances. + +* `managed_group_config` - + Output only. The config for Compute Engine Instance Group Manager that manages this group. + +* `instance_flexibility_policy` - + (Optional) + Instance flexibility Policy allowing a mixture of VM shapes. Structure is [documented below](#nested_instance_flexibility_policy). + +The `accelerators` block supports: * `accelerator_count` - (Optional) @@ -755,7 +886,7 @@ The `accelerators` block supports: (Optional) Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See (https://docs.cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, `nvidia-tesla-k80`. -The `disk_config` block supports: +The `disk_config` block supports: * `boot_disk_size_gb` - (Optional) @@ -769,7 +900,55 @@ The `disk_config` block supports: (Optional) Number of attached SSDs, from 0 to 4 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries. -The `autoscaling_config` block supports: +The `instance_flexibility_policy` block supports: + +* `instance_selection_list` - + (Optional) + List of instance selection options that the group will use when creating new VMs. Structure is [documented below](#nested_instance_selection_list). + +* `instance_selection_results` - + Output only. A list of instance selection results that were successfully allocated. Structure is [documented below](#nested_instance_selection_results). + +* `instance_machine_types` - + Output only. A map of instance names to their machine types. + +* `provisioning_model_mix` - + (Optional) + Strategy for provisioning model mix for secondary worker instances. Supported only for `secondary_worker_config`. Structure is [documented below](#nested_provisioning_model_mix). + +The `instance_selection_list` block supports: + +* `machine_types` - + (Optional) + Full machine-type names, e.g. `n1-standard-16`. + +* `rank` - + (Optional) + Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + +* `disk_config` - + (Optional) + Disk option for the instance group. Structure is [documented above](#nested_disk_config). + +The `instance_selection_results` block supports: + +* `machine_type` - + Output only. Full machine-type names, e.g. `n1-standard-16`. + +* `vm_count` - + Output only. Number of VM provisioned with the corresponding machine_type. + +The `provisioning_model_mix` block supports: + +* `standard_capacity_base` - + (Optional) + The base capacity that will always use Standard VMs to avoid risk of premature allocation. + +* `standard_capacity_percent_above_base` - + (Optional) + The percentage of target capacity that will use Standard VMs above standardCapacityBase. + +The `autoscaling_config` block supports: * `policy` - (Optional)