func ConvertToAdmissionRequest()

in pkg/asset/asset.go [168:192]


func ConvertToAdmissionRequest(asset map[string]interface{}) (*admissionv1beta1.AdmissionRequest, error) {
	resource, err := ConvertCAIToK8s(asset)
	if err != nil {
		return nil, errors.Wrapf(err, "failed to convert CAI asset to k8s resource")
	}

	resourceJSON, err := json.Marshal(resource.Object)
	if err != nil {
		return nil, errors.Wrapf(err, "failed to marshal k8s resource (converted from CAI asset) to JSON")
	}

	gvk := resource.GroupVersionKind()
	req := &admissionv1beta1.AdmissionRequest{
		Kind: metav1.GroupVersionKind{
			Group:   gvk.Group,
			Version: gvk.Version,
			Kind:    gvk.Kind,
		},
		Object: runtime.RawExtension{
			Raw: resourceJSON,
		},
		Name: resource.GetName(),
	}
	return req, nil
}