code: func (s *PodDisruptionBudgetV1Generator) StructuredGenerate() (runtime.Object, error) {
  	if len(s.MinAvailable) == 0 {
  		// defaulting behavior seen in Kubernetes 1.6 and below.
  		s.MinAvailable = "1"
  	}
  
  	if err := s.validate(); err != nil {
  		return nil, err
  	}
  
  	selector, err := metav1.ParseToLabelSelector(s.Selector)
  	if err != nil {
  		return nil, err
  	}
  
  	minAvailable := intstr.Parse(s.MinAvailable)
  	return &policy.PodDisruptionBudget{
  		ObjectMeta: metav1.ObjectMeta{
  			Name: s.Name,
  		},
  		Spec: policy.PodDisruptionBudgetSpec{
  			MinAvailable: &minAvailable,
  			Selector:     selector,
  		},
  	}, nil
  }
docs: // StructuredGenerate outputs a pod disruption budget object using the configured fields.