func ExtractClusterRole(clusterRole *apirbacv1.ClusterRole, fieldManager string) (*ClusterRoleApplyConfiguration, error) {
	return extractClusterRole(clusterRole, fieldManager, "")
}
ExtractClusterRole extracts the applied configuration owned by fieldManager from
clusterRole. If no managedFields are found in clusterRole for fieldManager, a
ClusterRoleApplyConfiguration is returned with only the Name, Namespace (if applicable),
APIVersion and Kind populated. It is possible that no managed fields were found for because other
field managers have taken ownership of all the fields previously owned by fieldManager, or because
the fieldManager never owned fields any fields.
clusterRole must be a unmodified ClusterRole API object that was retrieved from the Kubernetes API.
ExtractClusterRole provides a way to perform a extract/modify-in-place/apply workflow.
Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously
applied if another fieldManager has updated or force applied any of the previously applied fields.
Experimental!
package v1
import (
	apirbacv1 "k8s.io/api/rbac/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 ClusterRoleApplyConfiguration struct {
	v1.TypeMetaApplyConfiguration    `json:",inline"`
	*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
	Rules                            []PolicyRuleApplyConfiguration     `json:"rules,omitempty"`
	AggregationRule                  *AggregationRuleApplyConfiguration `json:"aggregationRule,omitempty"`
}
func ClusterRole(name string) *ClusterRoleApplyConfiguration {
	b := &ClusterRoleApplyConfiguration{}
	b.WithName(name)
	b.WithKind("ClusterRole")
	b.WithAPIVersion("rbac.authorization.k8s.io/v1")
	return b
}