schema-input.json 2.11 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "state_target": {
      "type": "string",
	  "enum": [
		  "deployed",
		  "not_deployed"
	  ]
    },
    "user": {
      "type": "object",
      "properties": {
        "userinfo": {
          "type": "object",
          "properties": {
            "eduPersonEntitlement": {
              "type": "array",
              "items": {
				  "type": "string"
			  }
            },
            "email": {
              "type": "string"
            },
            "email_verified": {
              "type": "string"
            },
            "groups": {
              "type": "array",
              "items": [
                {
                  "type": "string"
                }
              ]
            },
            "iss": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "preferred_username": {
              "type": "string"
            },
            "ssh_key": {
              "type": "string"
            },
            "sub": {
              "type": "string"
            }
          },
          "required": [
            "email",
            "email_verified",
            "groups",
            "iss",
            "name",
            "preferred_username",
            "ssh_key",
            "sub"
          ]
        }
      },
      "required": [
        "userinfo"
      ]
    },
    "credentials": {
      "type": "object",
      "properties": {
        "ssh_key": {
          "type": "array",
          "items": [
            {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "name",
                "value"
              ]
            }
          ]
        }
      },
      "required": [
      ]
    },
    "questionnaire": {
      "type": "object"
    }
  },
  "required": [
    "state_target",
    "user",
    "credentials"
  ]
}