{
  "properties": {
    "spec": {
      "properties": {
        "client": {
          "properties": {
            "appUrl": {
              "description": "URL to the application's homepage that is represented by this client",
              "type": "string"
            },
            "auth": {
              "description": "Authentication configuration for this client",
              "properties": {
                "certificate": {
                  "description": "Public key used to authenticate this client with Signed JWT authentication",
                  "type": "string"
                },
                "method": {
                  "description": "Client authentication method (e.g. `client-secret`, `client-secret-jwt`)",
                  "type": "string"
                },
                "secretRef": {
                  "description": "Secret containing the client secret",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "optional": {
                      "type": "boolean"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "createdTimestamp": {
              "description": "Timestamp when the client was created",
              "type": "integer"
            },
            "description": {
              "description": "Human readable description of the client",
              "type": "string"
            },
            "displayName": {
              "description": "Human readable name of the client",
              "type": "string"
            },
            "enabled": {
              "description": "Whether this client is enabled",
              "type": "boolean"
            },
            "loginFlows": {
              "description": "Login flows that are enabled for this client",
              "items": {
                "enum": [
                  "CIBA",
                  "DEVICE",
                  "DIRECT_GRANT",
                  "IMPLICIT",
                  "SERVICE_ACCOUNT",
                  "STANDARD",
                  "TOKEN_EXCHANGE"
                ],
                "type": "string"
              },
              "type": "array"
            },
            "redirectUris": {
              "description": "URIs that the browser can redirect to after login",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "roles": {
              "description": "Roles associated with this client",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "serviceAccountRoles": {
              "description": "Roles assigned to the service account",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "updatedTimestamp": {
              "description": "Timestamp when the client was last updated",
              "type": "integer"
            },
            "webOrigins": {
              "description": "Web origins that are allowed to make requests to this client",
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "keycloakCRName": {
          "description": "The name of the Keycloak CR to reference, in the same namespace.",
          "type": "string",
          "x-kubernetes-validations": [
            {
              "message": "keycloakCrName is immutable",
              "rule": "self == oldSelf"
            }
          ]
        },
        "realm": {
          "description": "The realm of the Client",
          "type": "string",
          "x-kubernetes-validations": [
            {
              "message": "realm is immutable",
              "rule": "self == oldSelf"
            }
          ]
        }
      },
      "required": [
        "client",
        "keycloakCRName",
        "realm"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "properties": {
        "conditions": {
          "items": {
            "properties": {
              "lastTransitionTime": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "observedGeneration": {
                "type": "integer"
              },
              "status": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "hash": {
          "type": "string"
        },
        "observedGeneration": {
          "type": "integer"
        },
        "uuid": {
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "required": [
    "spec"
  ],
  "type": "object"
}
