{
    "description": "Projects are the unit of isolation and collaboration in OpenShift. A project has one or more members, a quota on the resources that the project may consume, and the security controls on the resources in the project. Within a project, members may have different roles - project administrators can set membership, editors can create and manage the resources, and viewers can see but not access running containers. In a normal cluster project administrators are not able to alter their quotas - that is restricted to cluster administrators. \n Listing or watching projects will return only projects the user has the reader role on. \n An OpenShift project is an alternative representation of a Kubernetes namespace. Projects are exposed as editable to end users while namespaces are not. Direct creation of a project is typically restricted to administrators, while end users should use the requestproject resource. \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).",
    "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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds",
            "type": "string"
        },
        "metadata": {
            "type": "object"
        },
        "spec": {
            "description": "Spec defines the behavior of the Namespace.",
            "properties": {
                "finalizers": {
                    "description": "Finalizers is an opaque list of values that must be empty to permanently remove object from storage",
                    "items": {
                        "description": "FinalizerName is the name identifying a finalizer during namespace lifecycle.",
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object",
            "additionalProperties": false
        },
        "status": {
            "description": "Status describes the current status of a Namespace",
            "properties": {
                "conditions": {
                    "description": "Represents the latest available observations of the project current state.",
                    "items": {
                        "description": "NamespaceCondition contains details about state of namespace.",
                        "properties": {
                            "lastTransitionTime": {
                                "format": "date-time",
                                "type": "string"
                            },
                            "message": {
                                "type": "string"
                            },
                            "reason": {
                                "type": "string"
                            },
                            "status": {
                                "description": "Status of the condition, one of True, False, Unknown.",
                                "type": "string"
                            },
                            "type": {
                                "description": "Type of namespace controller condition.",
                                "type": "string"
                            }
                        },
                        "required": [
                            "status",
                            "type"
                        ],
                        "type": "object",
                        "additionalProperties": false
                    },
                    "type": "array"
                },
                "phase": {
                    "description": "Phase is the current lifecycle phase of the project",
                    "type": "string"
                }
            },
            "type": "object",
            "additionalProperties": false
        }
    },
    "type": "object",
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-04/schema#"
}
