{
  "id": "http://fabric8.io/fabric8/v2/Schema#",
  "$schema": "http://json-schema.org/draft-05/schema#",
  "$module": "rbac",
  "definitions": {
    "kubernetes_apimachinery_FieldsV1": {
      "type": "object",
      "additionalProperties": true,
      "existingJavaType": "io.fabric8.kubernetes.api.model.FieldsV1",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource"
      ]
    },
    "kubernetes_apimachinery_LabelSelector": {
      "type": "object",
      "properties": {
        "matchExpressions": {
          "type": "array",
          "javaOmitEmpty": true,
          "items": {
            "$ref": "#/definitions/kubernetes_apimachinery_LabelSelectorRequirement",
            "existingJavaType": "io.fabric8.kubernetes.api.model.LabelSelectorRequirement"
          }
        },
        "matchLabels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "existingJavaType": "java.util.Map\u003cString, String\u003e"
        }
      },
      "additionalProperties": true,
      "existingJavaType": "io.fabric8.kubernetes.api.model.LabelSelector",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource"
      ]
    },
    "kubernetes_apimachinery_LabelSelectorRequirement": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "operator": {
          "type": "string"
        },
        "values": {
          "type": "array",
          "javaOmitEmpty": true,
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": true,
      "existingJavaType": "io.fabric8.kubernetes.api.model.LabelSelectorRequirement",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource"
      ]
    },
    "kubernetes_apimachinery_ListMeta": {
      "type": "object",
      "properties": {
        "continue": {
          "type": "string"
        },
        "remainingItemCount": {
          "type": "integer",
          "existingJavaType": "Long"
        },
        "resourceVersion": {
          "type": "string"
        },
        "selfLink": {
          "type": "string"
        }
      },
      "additionalProperties": true,
      "existingJavaType": "io.fabric8.kubernetes.api.model.ListMeta",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource"
      ]
    },
    "kubernetes_apimachinery_ManagedFieldsEntry": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string"
        },
        "fieldsType": {
          "type": "string"
        },
        "fieldsV1": {
          "$ref": "#/definitions/kubernetes_apimachinery_FieldsV1",
          "existingJavaType": "io.fabric8.kubernetes.api.model.FieldsV1"
        },
        "manager": {
          "type": "string"
        },
        "operation": {
          "type": "string"
        },
        "subresource": {
          "type": "string"
        },
        "time": {
          "$ref": "#/definitions/kubernetes_apimachinery_Time",
          "existingJavaType": "String"
        }
      },
      "additionalProperties": true,
      "existingJavaType": "io.fabric8.kubernetes.api.model.ManagedFieldsEntry",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource"
      ]
    },
    "kubernetes_apimachinery_ObjectMeta": {
      "type": "object",
      "properties": {
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "existingJavaType": "java.util.Map\u003cString, String\u003e"
        },
        "creationTimestamp": {
          "$ref": "#/definitions/kubernetes_apimachinery_Time",
          "existingJavaType": "String"
        },
        "deletionGracePeriodSeconds": {
          "type": "integer",
          "existingJavaType": "Long"
        },
        "deletionTimestamp": {
          "$ref": "#/definitions/kubernetes_apimachinery_Time",
          "existingJavaType": "String"
        },
        "finalizers": {
          "type": "array",
          "javaOmitEmpty": true,
          "items": {
            "type": "string"
          }
        },
        "generateName": {
          "type": "string"
        },
        "generation": {
          "type": "integer",
          "existingJavaType": "Long"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "existingJavaType": "java.util.Map\u003cString, String\u003e"
        },
        "managedFields": {
          "type": "array",
          "javaOmitEmpty": true,
          "items": {
            "$ref": "#/definitions/kubernetes_apimachinery_ManagedFieldsEntry",
            "existingJavaType": "io.fabric8.kubernetes.api.model.ManagedFieldsEntry"
          }
        },
        "name": {
          "type": "string"
        },
        "namespace": {
          "type": "string",
          "maxLength": 253,
          "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$"
        },
        "ownerReferences": {
          "type": "array",
          "javaOmitEmpty": true,
          "items": {
            "$ref": "#/definitions/kubernetes_apimachinery_OwnerReference",
            "existingJavaType": "io.fabric8.kubernetes.api.model.OwnerReference"
          }
        },
        "resourceVersion": {
          "type": "string"
        },
        "selfLink": {
          "type": "string"
        },
        "uid": {
          "type": "string"
        }
      },
      "additionalProperties": true,
      "existingJavaType": "io.fabric8.kubernetes.api.model.ObjectMeta",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource"
      ]
    },
    "kubernetes_apimachinery_OwnerReference": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string"
        },
        "blockOwnerDeletion": {
          "type": "boolean"
        },
        "controller": {
          "type": "boolean"
        },
        "kind": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "uid": {
          "type": "string"
        }
      },
      "additionalProperties": true,
      "existingJavaType": "io.fabric8.kubernetes.api.model.OwnerReference",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource"
      ]
    },
    "kubernetes_apimachinery_Time": {
      "type": "object",
      "properties": {
        "Time": {
          "type": "string"
        }
      },
      "additionalProperties": true,
      "existingJavaType": "String",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource"
      ]
    },
    "kubernetes_apimachinery_TypeMeta": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        }
      },
      "additionalProperties": true,
      "existingJavaType": "io.fabric8.kubernetes.api.model.TypeMeta",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource"
      ]
    },
    "kubernetes_rbac_v1_AggregationRule": {
      "type": "object",
      "properties": {
        "clusterRoleSelectors": {
          "type": "array",
          "javaOmitEmpty": true,
          "items": {
            "$ref": "#/definitions/kubernetes_apimachinery_LabelSelector",
            "existingJavaType": "io.fabric8.kubernetes.api.model.LabelSelector"
          }
        }
      },
      "additionalProperties": true,
      "javaType": "io.fabric8.kubernetes.api.model.rbac.AggregationRule",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource"
      ]
    },
    "kubernetes_rbac_v1_ClusterRole": {
      "type": "object",
      "properties": {
        "aggregationRule": {
          "$ref": "#/definitions/kubernetes_rbac_v1_AggregationRule",
          "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.AggregationRule"
        },
        "apiVersion": {
          "type": "string",
          "default": "rbac.authorization.k8s.io/v1",
          "required": true
        },
        "kind": {
          "type": "string",
          "default": "ClusterRole",
          "required": true
        },
        "metadata": {
          "$ref": "#/definitions/kubernetes_apimachinery_ObjectMeta",
          "existingJavaType": "io.fabric8.kubernetes.api.model.ObjectMeta"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/kubernetes_rbac_v1_PolicyRule",
            "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.PolicyRule"
          }
        }
      },
      "additionalProperties": true,
      "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRole",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.HasMetadata"
      ]
    },
    "kubernetes_rbac_v1_ClusterRoleBinding": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string",
          "default": "rbac.authorization.k8s.io/v1",
          "required": true
        },
        "kind": {
          "type": "string",
          "default": "ClusterRoleBinding",
          "required": true
        },
        "metadata": {
          "$ref": "#/definitions/kubernetes_apimachinery_ObjectMeta",
          "existingJavaType": "io.fabric8.kubernetes.api.model.ObjectMeta"
        },
        "roleRef": {
          "$ref": "#/definitions/kubernetes_rbac_v1_RoleRef",
          "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.RoleRef"
        },
        "subjects": {
          "type": "array",
          "javaOmitEmpty": true,
          "items": {
            "$ref": "#/definitions/kubernetes_rbac_v1_Subject",
            "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.Subject"
          }
        }
      },
      "additionalProperties": true,
      "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.HasMetadata"
      ]
    },
    "kubernetes_rbac_v1_ClusterRoleBindingList": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string",
          "default": "rbac.authorization.k8s.io/v1",
          "required": true
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/kubernetes_rbac_v1_ClusterRoleBinding",
            "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding"
          }
        },
        "kind": {
          "type": "string",
          "default": "ClusterRoleBindingList",
          "required": true
        },
        "metadata": {
          "$ref": "#/definitions/kubernetes_apimachinery_ListMeta",
          "existingJavaType": "io.fabric8.kubernetes.api.model.ListMeta"
        }
      },
      "additionalProperties": true,
      "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingList",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource",
        "io.fabric8.kubernetes.api.model.KubernetesResourceList\u003cio.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding\u003e"
      ]
    },
    "kubernetes_rbac_v1_ClusterRoleList": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string",
          "default": "rbac.authorization.k8s.io/v1",
          "required": true
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/kubernetes_rbac_v1_ClusterRole",
            "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRole"
          }
        },
        "kind": {
          "type": "string",
          "default": "ClusterRoleList",
          "required": true
        },
        "metadata": {
          "$ref": "#/definitions/kubernetes_apimachinery_ListMeta",
          "existingJavaType": "io.fabric8.kubernetes.api.model.ListMeta"
        }
      },
      "additionalProperties": true,
      "javaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleList",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource",
        "io.fabric8.kubernetes.api.model.KubernetesResourceList\u003cio.fabric8.kubernetes.api.model.rbac.ClusterRole\u003e"
      ]
    },
    "kubernetes_rbac_v1_PolicyRule": {
      "type": "object",
      "properties": {
        "apiGroups": {
          "type": "array",
          "javaOmitEmpty": true,
          "items": {
            "type": "string"
          }
        },
        "nonResourceURLs": {
          "type": "array",
          "javaOmitEmpty": true,
          "items": {
            "type": "string"
          }
        },
        "resourceNames": {
          "type": "array",
          "javaOmitEmpty": true,
          "items": {
            "type": "string"
          }
        },
        "resources": {
          "type": "array",
          "javaOmitEmpty": true,
          "items": {
            "type": "string"
          }
        },
        "verbs": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": true,
      "javaType": "io.fabric8.kubernetes.api.model.rbac.PolicyRule",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource"
      ]
    },
    "kubernetes_rbac_v1_Role": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string",
          "default": "rbac.authorization.k8s.io/v1",
          "required": true
        },
        "kind": {
          "type": "string",
          "default": "Role",
          "required": true
        },
        "metadata": {
          "$ref": "#/definitions/kubernetes_apimachinery_ObjectMeta",
          "existingJavaType": "io.fabric8.kubernetes.api.model.ObjectMeta"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/kubernetes_rbac_v1_PolicyRule",
            "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.PolicyRule"
          }
        }
      },
      "additionalProperties": true,
      "javaType": "io.fabric8.kubernetes.api.model.rbac.Role",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.HasMetadata",
        "io.fabric8.kubernetes.api.model.Namespaced"
      ]
    },
    "kubernetes_rbac_v1_RoleBinding": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string",
          "default": "rbac.authorization.k8s.io/v1",
          "required": true
        },
        "kind": {
          "type": "string",
          "default": "RoleBinding",
          "required": true
        },
        "metadata": {
          "$ref": "#/definitions/kubernetes_apimachinery_ObjectMeta",
          "existingJavaType": "io.fabric8.kubernetes.api.model.ObjectMeta"
        },
        "roleRef": {
          "$ref": "#/definitions/kubernetes_rbac_v1_RoleRef",
          "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.RoleRef"
        },
        "subjects": {
          "type": "array",
          "javaOmitEmpty": true,
          "items": {
            "$ref": "#/definitions/kubernetes_rbac_v1_Subject",
            "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.Subject"
          }
        }
      },
      "additionalProperties": true,
      "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleBinding",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.HasMetadata",
        "io.fabric8.kubernetes.api.model.Namespaced"
      ]
    },
    "kubernetes_rbac_v1_RoleBindingList": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string",
          "default": "rbac.authorization.k8s.io/v1",
          "required": true
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/kubernetes_rbac_v1_RoleBinding",
            "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.RoleBinding"
          }
        },
        "kind": {
          "type": "string",
          "default": "RoleBindingList",
          "required": true
        },
        "metadata": {
          "$ref": "#/definitions/kubernetes_apimachinery_ListMeta",
          "existingJavaType": "io.fabric8.kubernetes.api.model.ListMeta"
        }
      },
      "additionalProperties": true,
      "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleBindingList",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource",
        "io.fabric8.kubernetes.api.model.KubernetesResourceList\u003cio.fabric8.kubernetes.api.model.rbac.RoleBinding\u003e"
      ]
    },
    "kubernetes_rbac_v1_RoleList": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string",
          "default": "rbac.authorization.k8s.io/v1",
          "required": true
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/kubernetes_rbac_v1_Role",
            "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.Role"
          }
        },
        "kind": {
          "type": "string",
          "default": "RoleList",
          "required": true
        },
        "metadata": {
          "$ref": "#/definitions/kubernetes_apimachinery_ListMeta",
          "existingJavaType": "io.fabric8.kubernetes.api.model.ListMeta"
        }
      },
      "additionalProperties": true,
      "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleList",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource",
        "io.fabric8.kubernetes.api.model.KubernetesResourceList\u003cio.fabric8.kubernetes.api.model.rbac.Role\u003e"
      ]
    },
    "kubernetes_rbac_v1_RoleRef": {
      "type": "object",
      "properties": {
        "apiGroup": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "additionalProperties": true,
      "javaType": "io.fabric8.kubernetes.api.model.rbac.RoleRef",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource"
      ]
    },
    "kubernetes_rbac_v1_Subject": {
      "type": "object",
      "properties": {
        "apiGroup": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "namespace": {
          "type": "string"
        }
      },
      "additionalProperties": true,
      "javaType": "io.fabric8.kubernetes.api.model.rbac.Subject",
      "javaInterfaces": [
        "io.fabric8.kubernetes.api.model.KubernetesResource"
      ]
    }
  },
  "type": "object",
  "properties": {
    "AggregationRule": {
      "$ref": "#/definitions/kubernetes_rbac_v1_AggregationRule",
      "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.AggregationRule"
    },
    "ClusterRole": {
      "$ref": "#/definitions/kubernetes_rbac_v1_ClusterRole",
      "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRole"
    },
    "ClusterRoleBinding": {
      "$ref": "#/definitions/kubernetes_rbac_v1_ClusterRoleBinding",
      "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding"
    },
    "ClusterRoleBindingList": {
      "$ref": "#/definitions/kubernetes_rbac_v1_ClusterRoleBindingList",
      "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingList"
    },
    "ClusterRoleList": {
      "$ref": "#/definitions/kubernetes_rbac_v1_ClusterRoleList",
      "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.ClusterRoleList"
    },
    "Role": {
      "$ref": "#/definitions/kubernetes_rbac_v1_Role",
      "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.Role"
    },
    "RoleBinding": {
      "$ref": "#/definitions/kubernetes_rbac_v1_RoleBinding",
      "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.RoleBinding"
    },
    "RoleBindingList": {
      "$ref": "#/definitions/kubernetes_rbac_v1_RoleBindingList",
      "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.RoleBindingList"
    },
    "RoleList": {
      "$ref": "#/definitions/kubernetes_rbac_v1_RoleList",
      "existingJavaType": "io.fabric8.kubernetes.api.model.rbac.RoleList"
    }
  },
  "additionalProperties": true
}
