apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  creationTimestamp: null
  labels:
    app.kubernetes.io/component: profiles
    app.kubernetes.io/name: profiles
    kustomize.component: profiles
  name: profiles.kubeflow.org
spec:
  conversion:
    strategy: None
  group: kubeflow.org
  names:
    kind: Profile
    plural: profiles
  scope: Cluster
  subresources:
    status: {}
  validation:
    openAPIV3Schema:
      description: Profile is the Schema for the profiles API
      properties:
        apiVersion:
          description: 'APIVersion defines the versioned schema of this representation
            of an object. Servers should convert recognized schemas to the latest
            internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
          type: string
        kind:
          description: 'Kind is a string value representing the REST resource this
            object represents. Servers may infer this from the endpoint the client
            submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
          type: string
        metadata:
          type: object
        spec:
          description: ProfileSpec defines the desired state of Profile
          properties:
            owner:
              description: The profile owner
              properties:
                apiGroup:
                  description: APIGroup holds the API group of the referenced subject.
                    Defaults to "" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io"
                    for User and Group subjects.
                  type: string
                kind:
                  description: Kind of object being referenced. Values defined by
                    this API group are "User", "Group", and "ServiceAccount". If the
                    Authorizer does not recognized the kind value, the Authorizer
                    should report an error.
                  type: string
                name:
                  description: Name of the object being referenced.
                  type: string
              required:
              - kind
              - name
              type: object
            plugins:
              items:
                description: Plugin is for customize actions on different platform.
                properties:
                  apiVersion:
                    description: 'APIVersion defines the versioned schema of this
                      representation of an object. Servers should convert recognized
                      schemas to the latest internal value, and may reject unrecognized
                      values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
                    type: string
                  kind:
                    description: 'Kind is a string value representing the REST resource
                      this object represents. Servers may infer this from the endpoint
                      the client submits requests to. Cannot be updated. In CamelCase.
                      More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
                    type: string
                  spec:
                    type: object
                type: object
              type: array
            resourceQuotaSpec:
              description: Resourcequota that will be applied to target namespace
              properties:
                hard:
                  additionalProperties:
                    type: string
                  description: 'hard is the set of desired hard limits for each named
                    resource. More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/'
                  type: object
                scopeSelector:
                  description: scopeSelector is also a collection of filters like
                    scopes that must match each object tracked by a quota but expressed
                    using ScopeSelectorOperator in combination with possible values.
                    For a resource to match, both scopes AND scopeSelector (if specified
                    in spec), must be matched.
                  properties:
                    matchExpressions:
                      description: A list of scope selector requirements by scope
                        of the resources.
                      items:
                        description: A scoped-resource selector requirement is a selector
                          that contains values, a scope name, and an operator that
                          relates the scope name and values.
                        properties:
                          operator:
                            description: Represents a scope's relationship to a set
                              of values. Valid operators are In, NotIn, Exists, DoesNotExist.
                            type: string
                          scopeName:
                            description: The name of the scope that the selector applies
                              to.
                            type: string
                          values:
                            description: An array of string values. If the operator
                              is In or NotIn, the values array must be non-empty.
                              If the operator is Exists or DoesNotExist, the values
                              array must be empty. This array is replaced during a
                              strategic merge patch.
                            items:
                              type: string
                            type: array
                        required:
                        - operator
                        - scopeName
                        type: object
                      type: array
                  type: object
                scopes:
                  description: A collection of filters that must match each object
                    tracked by a quota. If not specified, the quota matches all objects.
                  items:
                    description: A ResourceQuotaScope defines a filter that must match
                      each object tracked by a quota
                    type: string
                  type: array
              type: object
          type: object
        status:
          description: ProfileStatus defines the observed state of Profile
          properties:
            conditions:
              items:
                properties:
                  message:
                    type: string
                  status:
                    type: string
                  type:
                    type: string
                type: object
              type: array
          type: object
      type: object
  version: v1
  versions:
  - name: v1
    served: true
    storage: true
  - name: v1beta1
    served: true
    storage: false
