vsphere/resource_vsphere_compute_cluster.go
func expandClusterFailoverLevelAdmissionControlPolicy(d *schema.ResourceData) *types.ClusterFailoverLevelAdmissionControlPolicy {
	obj := &types.ClusterFailoverLevelAdmissionControlPolicy{
		FailoverLevel: int32(d.Get("ha_admission_control_host_failure_tolerance").(int)),
	}

	if d.Get("ha_admission_control_slot_policy_use_explicit_size").(bool) {
		obj.SlotPolicy = &types.ClusterFixedSizeSlotPolicy{
			Cpu:    int32(d.Get("ha_admission_control_resource_percentage_cpu").(int)),
			Memory: int32(d.Get("ha_admission_control_resource_percentage_memory").(int)),
		}
	}

	return obj
}
func expandClusterFailoverLevelAdmissionControlPolicy(d *schema.ResourceData) *types.ClusterFailoverLevelAdmissionControlPolicy {
	obj := &types.ClusterFailoverLevelAdmissionControlPolicy{
		FailoverLevel: int32(d.Get("ha_admission_control_host_failure_tolerance").(int)),
	}

	if d.Get("ha_admission_control_slot_policy_use_explicit_size").(bool) {
		obj.SlotPolicy = &types.ClusterFixedSizeSlotPolicy{
			Cpu:    int32(d.Get("ha_admission_control_resource_percentage_cpu").(int)),
			Memory: int32(d.Get("ha_admission_control_resource_percentage_memory").(int)),
		}
	}

	return obj
}
func expandClusterFailoverLevelAdmissionControlPolicy ( d * schema . ResourceData ) * types . ClusterFailoverLevelAdmissionControlPolicy { obj := & types . ClusterFailoverLevelAdmissionControlPolicy { FailoverLevel : int32 ( d . Get ( " " ) . ( int ) ) , } if d . Get ( " " ) . ( bool ) { obj . SlotPolicy = & types . ClusterFixedSizeSlotPolicy { Cpu : int32 ( d . Get ( " " ) . ( int ) ) , Memory : int32 ( d . Get ( " " ) . ( int ) ) , } } return obj }
// expandClusterFailoverLevelAdmissionControlPolicy reads certain ResourceData
// keys and returns a ClusterFailoverLevelAdmissionControlPolicy.
expandClusterFailoverLevelAdmissionControlPolicy reads certain ResourceData keys and returns a ClusterFailoverLevelAdmissionControlPolicy .