func (b *PodDisruptionBudgetApplyConfiguration) WithAPIVersion(value string) *PodDisruptionBudgetApplyConfiguration {
	b.APIVersion = &value
	return b
}
WithAPIVersion sets the APIVersion field in the declarative configuration to the given value
and returns the receiver, so that objects can be built by chaining "With" function invocations.
If called multiple times, the APIVersion field is set to the value of the last call.
package v1
import (
	apipolicyv1 "k8s.io/api/policy/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	types "k8s.io/apimachinery/pkg/types"
	managedfields "k8s.io/apimachinery/pkg/util/managedfields"
	internal "k8s.io/client-go/applyconfigurations/internal"
	v1 "k8s.io/client-go/applyconfigurations/meta/v1"
)
type PodDisruptionBudgetApplyConfiguration struct {
	v1.TypeMetaApplyConfiguration    `json:",inline"`
	*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
	Spec                             *PodDisruptionBudgetSpecApplyConfiguration   `json:"spec,omitempty"`
	Status                           *PodDisruptionBudgetStatusApplyConfiguration `json:"status,omitempty"`
}
func PodDisruptionBudget(name, namespace string) *PodDisruptionBudgetApplyConfiguration {
	b := &PodDisruptionBudgetApplyConfiguration{}
	b.WithName(name)
	b.WithNamespace(namespace)
	b.WithKind("PodDisruptionBudget")
	b.WithAPIVersion("policy/v1")
	return b
}
func ExtractPodDisruptionBudget(podDisruptionBudget *apipolicyv1.PodDisruptionBudget, fieldManager string) (*PodDisruptionBudgetApplyConfiguration, error) {
	return extractPodDisruptionBudget(podDisruptionBudget, fieldManager, "")
}
func ExtractPodDisruptionBudgetStatus(podDisruptionBudget *apipolicyv1.PodDisruptionBudget, fieldManager string) (*PodDisruptionBudgetApplyConfiguration, error) {
	return extractPodDisruptionBudget(podDisruptionBudget, fieldManager, "status")
}
func extractPodDisruptionBudget(podDisruptionBudget *apipolicyv1.PodDisruptionBudget, fieldManager string, subresource string) (*PodDisruptionBudgetApplyConfiguration, error) {
	b := &PodDisruptionBudgetApplyConfiguration{}
	err := managedfields.ExtractInto(podDisruptionBudget, internal.Parser().Type("io.k8s.api.policy.v1.PodDisruptionBudget"), fieldManager, b, subresource)
	if err != nil {
		return nil, err
	}
	b.WithName(podDisruptionBudget.Name)
	b.WithNamespace(podDisruptionBudget.Namespace)
	b.WithKind("PodDisruptionBudget")
	b.WithAPIVersion("policy/v1")
	return b, nil
}
func (b *PodDisruptionBudgetApplyConfiguration) WithKind(value string) *PodDisruptionBudgetApplyConfiguration {
	b.Kind = &value
	return b
}