// Code generated by applyconfiguration-gen. DO NOT EDIT.

package internal

import (
	fmt "fmt"
	sync "sync"

	typed "sigs.k8s.io/structured-merge-diff/v6/typed"
)

func Parser() *typed.Parser {
	parserOnce.Do(func() {
		var err error
		parser, err = typed.NewParser(schemaYAML)
		if err != nil {
			panic(fmt.Sprintf("Failed to parse schema: %v", err))
		}
	})
	return parser
}

var parserOnce sync.Once
var parser *typed.Parser
var schemaYAML = typed.YAMLObject(`types:
- name: com.github.openshift.api.oauth.v1.ClusterRoleScopeRestriction
  map:
    fields:
    - name: allowEscalation
      type:
        scalar: boolean
      default: false
    - name: namespaces
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: roleNames
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
- name: com.github.openshift.api.oauth.v1.OAuthAccessToken
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: authorizeToken
      type:
        scalar: string
    - name: clientName
      type:
        scalar: string
    - name: expiresIn
      type:
        scalar: numeric
    - name: inactivityTimeoutSeconds
      type:
        scalar: numeric
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: redirectURI
      type:
        scalar: string
    - name: refreshToken
      type:
        scalar: string
    - name: scopes
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: userName
      type:
        scalar: string
    - name: userUID
      type:
        scalar: string
- name: com.github.openshift.api.oauth.v1.OAuthAuthorizeToken
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: clientName
      type:
        scalar: string
    - name: codeChallenge
      type:
        scalar: string
    - name: codeChallengeMethod
      type:
        scalar: string
    - name: expiresIn
      type:
        scalar: numeric
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: redirectURI
      type:
        scalar: string
    - name: scopes
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: state
      type:
        scalar: string
    - name: userName
      type:
        scalar: string
    - name: userUID
      type:
        scalar: string
- name: com.github.openshift.api.oauth.v1.OAuthClient
  map:
    fields:
    - name: accessTokenInactivityTimeoutSeconds
      type:
        scalar: numeric
    - name: accessTokenMaxAgeSeconds
      type:
        scalar: numeric
    - name: additionalSecrets
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: apiVersion
      type:
        scalar: string
    - name: grantMethod
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: redirectURIs
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
    - name: respondWithChallenges
      type:
        scalar: boolean
    - name: scopeRestrictions
      type:
        list:
          elementType:
            namedType: com.github.openshift.api.oauth.v1.ScopeRestriction
          elementRelationship: atomic
    - name: secret
      type:
        scalar: string
- name: com.github.openshift.api.oauth.v1.OAuthClientAuthorization
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: clientName
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: scopes
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: userName
      type:
        scalar: string
    - name: userUID
      type:
        scalar: string
- name: com.github.openshift.api.oauth.v1.ScopeRestriction
  map:
    fields:
    - name: clusterRole
      type:
        namedType: com.github.openshift.api.oauth.v1.ClusterRoleScopeRestriction
    - name: literals
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
- name: com.github.openshift.api.oauth.v1.UserOAuthAccessToken
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: authorizeToken
      type:
        scalar: string
    - name: clientName
      type:
        scalar: string
    - name: expiresIn
      type:
        scalar: numeric
    - name: inactivityTimeoutSeconds
      type:
        scalar: numeric
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: redirectURI
      type:
        scalar: string
    - name: refreshToken
      type:
        scalar: string
    - name: scopes
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: userName
      type:
        scalar: string
    - name: userUID
      type:
        scalar: string
- name: io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1
  map:
    elementType:
      scalar: untyped
      list:
        elementType:
          namedType: __untyped_atomic_
        elementRelationship: atomic
      map:
        elementType:
          namedType: __untyped_deduced_
        elementRelationship: separable
- name: io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: fieldsType
      type:
        scalar: string
    - name: fieldsV1
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1
    - name: manager
      type:
        scalar: string
    - name: operation
      type:
        scalar: string
    - name: subresource
      type:
        scalar: string
    - name: time
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time
- name: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
  map:
    fields:
    - name: annotations
      type:
        map:
          elementType:
            scalar: string
    - name: creationTimestamp
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time
    - name: deletionGracePeriodSeconds
      type:
        scalar: numeric
    - name: deletionTimestamp
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time
    - name: finalizers
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
    - name: generateName
      type:
        scalar: string
    - name: generation
      type:
        scalar: numeric
    - name: labels
      type:
        map:
          elementType:
            scalar: string
    - name: managedFields
      type:
        list:
          elementType:
            namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry
          elementRelationship: atomic
    - name: name
      type:
        scalar: string
    - name: namespace
      type:
        scalar: string
    - name: ownerReferences
      type:
        list:
          elementType:
            namedType: io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference
          elementRelationship: associative
          keys:
          - uid
    - name: resourceVersion
      type:
        scalar: string
    - name: selfLink
      type:
        scalar: string
    - name: uid
      type:
        scalar: string
- name: io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
      default: ""
    - name: blockOwnerDeletion
      type:
        scalar: boolean
    - name: controller
      type:
        scalar: boolean
    - name: kind
      type:
        scalar: string
      default: ""
    - name: name
      type:
        scalar: string
      default: ""
    - name: uid
      type:
        scalar: string
      default: ""
    elementRelationship: atomic
- name: io.k8s.apimachinery.pkg.apis.meta.v1.Time
  scalar: untyped
- name: __untyped_atomic_
  scalar: untyped
  list:
    elementType:
      namedType: __untyped_atomic_
    elementRelationship: atomic
  map:
    elementType:
      namedType: __untyped_atomic_
    elementRelationship: atomic
- name: __untyped_deduced_
  scalar: untyped
  list:
    elementType:
      namedType: __untyped_atomic_
    elementRelationship: atomic
  map:
    elementType:
      namedType: __untyped_deduced_
    elementRelationship: separable
`)
