apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  name: mobileclients.mobile.k8s.io
spec:
  group: mobile.k8s.io
  version: v1alpha1
  scope: Namespaced
  names:
    plural: mobileclients
    singular: mobileclient
    kind: MobileClient
    shortNames:
    - mc
  validation:
   # openAPIV3Schema is the schema for validating custom objects.
    openAPIV3Schema:
      properties:
        spec:
          properties:
            clientType:
              type: string
              pattern: 'cordova|iOS|android|xamarin'
            apiKey:
              type: string
              pattern: '(\w{8}-\w{4}-\w{4}-\w{4}-\w{11})'
            name:
              type: string
              pattern: '([\w-])'
            appIdentifier:
              type: string
              pattern: '([\w-])'
            dmzUrl:
              type: string
              nullable: true
              pattern: '(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)'