code: func expandBaseClusterDasAdmissionControlPolicy(
  	d *schema.ResourceData,
  	policy string,
  	version viapi.VSphereVersion,
  ) types.BaseClusterDasAdmissionControlPolicy {
  	var obj types.BaseClusterDasAdmissionControlPolicy
  
  	switch policy {
  	case clusterAdmissionControlTypeResourcePercentage:
  		obj = expandClusterFailoverResourcesAdmissionControlPolicy(d, version)
  	case clusterAdmissionControlTypeSlotPolicy:
  		obj = expandClusterFailoverLevelAdmissionControlPolicy(d)
  	case clusterAdmissionControlTypeFailoverHosts:
  		obj = expandClusterFailoverHostAdmissionControlPolicy(d, version)
  	case clusterAdmissionControlTypeDisabled:
  		return nil
  	}
  
  	if version.Newer(viapi.VSphereVersion{Product: version.Product, Major: 6, Minor: 5}) {
  		obj.GetClusterDasAdmissionControlPolicy().ResourceReductionToToleratePercent = int32(d.Get("ha_admission_control_host_failure_tolerance").(int))
  	}
  
  	return obj
  }
docs: // expandBaseClusterDasAdmissionControlPolicy reads certain ResourceData keys
  // and returns a BaseClusterDasAdmissionControlPolicy.