{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/rivet-yaml-legacy/latest.json",
  "title": "rivet.yaml Config",
  "x-lintel": {
    "source": "https://rivet.gg/rivet.schema.json",
    "sourceSha256": "60eb4dee58ccd3109aad00aea2035f0f87eb020bb0a264de663b07d99f225380",
    "fileMatch": [
      "rivet.yaml",
      "rivet.*.yaml",
      "rivet.toml",
      "rivet.*.toml"
    ],
    "parsers": [
      "toml",
      "yaml"
    ]
  },
  "type": "object",
  "properties": {
    "scripts": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "engine": {
      "$ref": "#/$defs/CloudVersionEngineConfig"
    },
    "cdn": {
      "$ref": "#/$defs/CloudVersionCdnConfig"
    },
    "matchmaker": {
      "$ref": "#/$defs/CloudVersionMatchmakerConfig"
    },
    "kv": {
      "$ref": "#/$defs/CloudVersionKvConfig"
    },
    "identity": {
      "$ref": "#/$defs/CloudVersionIdentityConfig"
    }
  },
  "$defs": {
    "CloudVersionEngineConfig": {
      "type": "object",
      "properties": {
        "unity": {
          "$ref": "#/$defs/CloudVersionEngineUnityConfig"
        },
        "unreal": {
          "$ref": "#/$defs/CloudVersionEngineUnrealConfig"
        },
        "godot": {
          "$ref": "#/$defs/CloudVersionEngineGodotConfig"
        },
        "html5": {
          "$ref": "#/$defs/CloudVersionEngineHtml5Config"
        },
        "custom": {
          "$ref": "#/$defs/CloudVersionEngineCustomConfig"
        }
      }
    },
    "CloudVersionCdnConfig": {
      "type": "object",
      "description": "CDN configuration for a given version.",
      "properties": {
        "build_command": {
          "type": "string",
          "description": "_Configures Rivet CLI behavior. Has no effect on server behavior._"
        },
        "build_output": {
          "type": "string",
          "description": "_Configures Rivet CLI behavior. Has no effect on server behavior._"
        },
        "build_env": {
          "type": "object",
          "description": "_Configures Rivet CLI behavior. Has no effect on server behavior._",
          "additionalProperties": {
            "type": "string"
          }
        },
        "site_id": {
          "type": "string",
          "format": "uuid"
        },
        "routes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CloudVersionCdnRoute"
          },
          "description": "Multiple CDN version routes."
        }
      }
    },
    "CloudVersionMatchmakerConfig": {
      "type": "object",
      "description": "Matchmaker configuration for a given version.",
      "properties": {
        "game_modes": {
          "type": "object",
          "description": "A list of game modes.",
          "additionalProperties": {
            "$ref": "#/$defs/CloudVersionMatchmakerGameMode"
          }
        },
        "captcha": {
          "$ref": "#/$defs/CloudVersionMatchmakerCaptcha"
        },
        "dev_hostname": {
          "type": "string",
          "description": "_Configures Rivet CLI behavior. Has no effect on server behavior._"
        },
        "regions": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/CloudVersionMatchmakerGameModeRegion"
          }
        },
        "max_players": {
          "type": "integer"
        },
        "max_players_direct": {
          "type": "integer"
        },
        "max_players_party": {
          "type": "integer"
        },
        "docker": {
          "$ref": "#/$defs/CloudVersionMatchmakerGameModeRuntimeDocker"
        },
        "tier": {
          "type": "string"
        },
        "idle_lobbies": {
          "$ref": "#/$defs/CloudVersionMatchmakerGameModeIdleLobbiesConfig"
        },
        "lobby_groups": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CloudVersionMatchmakerLobbyGroup"
          },
          "description": "**Deprecated: use `game_modes` instead**\nA list of game modes."
        }
      }
    },
    "CloudVersionKvConfig": {
      "type": "object",
      "description": "KV configuration for a given version.",
      "properties": {}
    },
    "CloudVersionIdentityConfig": {
      "type": "object",
      "description": "**Deprecated**\nIdentity configuration for a given version.",
      "properties": {
        "display_names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "**Deprecated**"
        },
        "avatars": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid"
          },
          "description": "**Deprecated**"
        },
        "custom_display_names": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CloudVersionIdentityCustomDisplayName"
          },
          "description": "**Deprecated**"
        },
        "custom_avatars": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CloudVersionIdentityCustomAvatar"
          },
          "description": "**Deprecated**"
        }
      }
    },
    "CloudVersionEngineUnityConfig": {
      "type": "object",
      "properties": {}
    },
    "CloudVersionEngineUnrealConfig": {
      "type": "object",
      "properties": {
        "game_module": {
          "type": "string",
          "description": "Name of the Unreal module that holds the game code.\nThis is usually the value of `$.Modules[0].Name` in the file `MyProject.unproject`.\n_Configures Rivet CLI behavior. Has no effect on server behavior._"
        }
      },
      "required": [
        "game_module"
      ]
    },
    "CloudVersionEngineGodotConfig": {
      "type": "object",
      "properties": {}
    },
    "CloudVersionEngineHtml5Config": {
      "type": "object",
      "properties": {}
    },
    "CloudVersionEngineCustomConfig": {
      "type": "object",
      "properties": {}
    },
    "CloudVersionCdnRoute": {
      "type": "object",
      "properties": {
        "glob": {
          "type": "string"
        },
        "priority": {
          "type": "integer",
          "description": "Unsigned 32 bit integer."
        },
        "middlewares": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CloudVersionCdnMiddleware"
          },
          "description": "Multiple CDN version middleware."
        }
      },
      "required": [
        "glob",
        "priority",
        "middlewares"
      ]
    },
    "CloudVersionMatchmakerGameMode": {
      "type": "object",
      "description": "A game mode.",
      "properties": {
        "regions": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/CloudVersionMatchmakerGameModeRegion"
          }
        },
        "max_players": {
          "type": "integer"
        },
        "max_players_direct": {
          "type": "integer"
        },
        "max_players_party": {
          "type": "integer"
        },
        "docker": {
          "$ref": "#/$defs/CloudVersionMatchmakerGameModeRuntimeDocker"
        },
        "listable": {
          "type": "boolean"
        },
        "taggable": {
          "type": "boolean"
        },
        "allow_dynamic_max_players": {
          "type": "boolean"
        },
        "actions": {
          "$ref": "#/$defs/CloudVersionMatchmakerGameModeActions"
        },
        "tier": {
          "type": "string"
        },
        "idle_lobbies": {
          "$ref": "#/$defs/CloudVersionMatchmakerGameModeIdleLobbiesConfig"
        }
      }
    },
    "CloudVersionMatchmakerCaptcha": {
      "type": "object",
      "description": "Matchmaker captcha configuration.",
      "properties": {
        "requests_before_reverify": {
          "type": "integer",
          "description": "Denotes how many requests a connection can make before it is required to reverify a captcha."
        },
        "verification_ttl": {
          "type": "integer",
          "format": "int64",
          "description": "Denotes how long a connection can continue to reconnect without having to reverify a captcha (in milliseconds)."
        },
        "hcaptcha": {
          "$ref": "#/$defs/CloudVersionMatchmakerCaptchaHcaptcha"
        },
        "turnstile": {
          "$ref": "#/$defs/CloudVersionMatchmakerCaptchaTurnstile"
        }
      },
      "required": [
        "requests_before_reverify",
        "verification_ttl"
      ]
    },
    "CloudVersionMatchmakerGameModeRegion": {
      "type": "object",
      "description": "A game mode region.",
      "properties": {
        "tier": {
          "type": "string"
        },
        "idle_lobbies": {
          "$ref": "#/$defs/CloudVersionMatchmakerGameModeIdleLobbiesConfig"
        }
      }
    },
    "CloudVersionMatchmakerGameModeRuntimeDocker": {
      "type": "object",
      "description": "A game mode runtime running through Docker.",
      "properties": {
        "dockerfile": {
          "type": "string",
          "description": "_Configures Rivet CLI behavior. Has no effect on server behavior._"
        },
        "build_args": {
          "type": "object",
          "description": "_Configures Rivet CLI behavior. Has no effect on server behavior._",
          "additionalProperties": {
            "type": "string"
          }
        },
        "image": {
          "type": "string",
          "description": "_Configures Rivet CLI behavior. Has no effect on server behavior._"
        },
        "image_id": {
          "type": "string",
          "format": "uuid"
        },
        "args": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "env": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "network_mode": {
          "$ref": "#/$defs/CloudVersionMatchmakerNetworkMode"
        },
        "ports": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/CloudVersionMatchmakerGameModeRuntimeDockerPort"
          }
        }
      }
    },
    "CloudVersionMatchmakerGameModeIdleLobbiesConfig": {
      "type": "object",
      "description": "Configuration for how many idle lobbies a game version should have.",
      "properties": {
        "min": {
          "type": "integer"
        },
        "max": {
          "type": "integer"
        }
      },
      "required": [
        "min",
        "max"
      ]
    },
    "CloudVersionMatchmakerLobbyGroup": {
      "type": "object",
      "description": "A game mode.",
      "properties": {
        "name_id": {
          "type": "string",
          "description": "**Deprecated: use GameMode instead**\nA human readable short identifier used to references resources. Different than a `rivet.common#Uuid` because this is intended to be human readable. Different than `rivet.common#DisplayName` because this should not include special characters and be short."
        },
        "regions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CloudVersionMatchmakerLobbyGroupRegion"
          },
          "description": "A list of game mode regions."
        },
        "max_players_normal": {
          "type": "integer",
          "description": "Unsigned 32 bit integer."
        },
        "max_players_direct": {
          "type": "integer",
          "description": "Unsigned 32 bit integer."
        },
        "max_players_party": {
          "type": "integer",
          "description": "Unsigned 32 bit integer."
        },
        "runtime": {
          "$ref": "#/$defs/CloudVersionMatchmakerLobbyGroupRuntime"
        }
      },
      "required": [
        "name_id",
        "regions",
        "max_players_normal",
        "max_players_direct",
        "max_players_party",
        "runtime"
      ]
    },
    "CloudVersionIdentityCustomDisplayName": {
      "type": "object",
      "properties": {
        "display_name": {
          "$ref": "#/$defs/DisplayName"
        }
      },
      "required": [
        "display_name"
      ]
    },
    "CloudVersionIdentityCustomAvatar": {
      "type": "object",
      "properties": {
        "upload_id": {
          "type": "string",
          "format": "uuid"
        }
      },
      "required": [
        "upload_id"
      ]
    },
    "CloudVersionCdnMiddleware": {
      "type": "object",
      "properties": {
        "kind": {
          "$ref": "#/$defs/CloudVersionCdnMiddlewareKind"
        }
      },
      "required": [
        "kind"
      ]
    },
    "CloudVersionMatchmakerGameModeActions": {
      "type": "object",
      "description": "Configuration for the connection types allowed for a game mode.",
      "properties": {
        "find": {
          "$ref": "#/$defs/CloudVersionMatchmakerGameModeFindConfig"
        },
        "join": {
          "$ref": "#/$defs/CloudVersionMatchmakerGameModeJoinConfig"
        },
        "create": {
          "$ref": "#/$defs/CloudVersionMatchmakerGameModeCreateConfig"
        }
      }
    },
    "CloudVersionMatchmakerCaptchaHcaptcha": {
      "type": "object",
      "description": "hCpatcha configuration.",
      "properties": {
        "level": {
          "$ref": "#/$defs/CloudVersionMatchmakerCaptchaHcaptchaLevel",
          "description": "**Deprecated**"
        },
        "site_key": {
          "type": "string",
          "description": "Site key for your hCaptcha application. Must be set."
        },
        "secret_key": {
          "type": "string",
          "description": "Secret key for your hCaptcha application. Must be set."
        }
      }
    },
    "CloudVersionMatchmakerCaptchaTurnstile": {
      "type": "object",
      "description": "Turnstile captcha configuration.",
      "properties": {
        "site_key": {
          "type": "string"
        },
        "secret_key": {
          "type": "string"
        }
      },
      "required": [
        "site_key",
        "secret_key"
      ]
    },
    "CloudVersionMatchmakerNetworkMode": {
      "type": "string",
      "enum": [
        "bridge",
        "host"
      ],
      "description": "Configures how the container's network is isolated from the host.\n`bridge` (default) networking isolates the container's network from the host & other containers.\n`host` networking removes isolation between the container and the host. Only available in Rivet Open Source & Enterprise.\nRead more about bridge vs host networking [here](https://rivet.dev/docs/dynamic-servers/concepts/host-bridge-networking)."
    },
    "CloudVersionMatchmakerGameModeRuntimeDockerPort": {
      "type": "object",
      "description": "Port config for a docker build.",
      "properties": {
        "port": {
          "type": "integer",
          "description": "The port number to connect to.\n\n### Related - cloud.version.matchmaker.PortProtocol - cloud.version.matchmaker.ProxyKind"
        },
        "port_range": {
          "$ref": "#/$defs/CloudVersionMatchmakerPortRange"
        },
        "protocol": {
          "$ref": "#/$defs/CloudVersionMatchmakerPortProtocol"
        },
        "proxy": {
          "$ref": "#/$defs/CloudVersionMatchmakerProxyKind",
          "description": "How this port should be proxied. Defaults to 'game-guard`."
        },
        "dev_port": {
          "type": "integer",
          "description": "_Configures Rivet CLI behavior. Has no effect on server behavior._"
        },
        "dev_port_range": {
          "$ref": "#/$defs/CloudVersionMatchmakerPortRange",
          "description": "_Configures Rivet CLI behavior. Has no effect on server behavior._"
        },
        "dev_protocol": {
          "$ref": "#/$defs/CloudVersionMatchmakerPortProtocol",
          "description": "_Configures Rivet CLI behavior. Has no effect on server behavior._"
        }
      }
    },
    "CloudVersionMatchmakerLobbyGroupRegion": {
      "type": "object",
      "description": "**Deprecated: use GameMode instead**\nA game mode region.",
      "properties": {
        "region_id": {
          "type": "string",
          "format": "uuid"
        },
        "tier_name_id": {
          "type": "string",
          "description": "A human readable short identifier used to references resources. Different than a `rivet.common#Uuid` because this is intended to be human readable. Different than `rivet.common#DisplayName` because this should not include special characters and be short."
        },
        "idle_lobbies": {
          "$ref": "#/$defs/CloudVersionMatchmakerLobbyGroupIdleLobbiesConfig"
        }
      },
      "required": [
        "region_id",
        "tier_name_id"
      ]
    },
    "CloudVersionMatchmakerLobbyGroupRuntime": {
      "type": "object",
      "description": "**Deprecated: use GameMode instead**\nA union representing the runtime a game mode runs on.",
      "properties": {
        "docker": {
          "$ref": "#/$defs/CloudVersionMatchmakerLobbyGroupRuntimeDocker"
        }
      }
    },
    "DisplayName": {
      "type": "string",
      "description": "Represent a resource's readable display name."
    },
    "CloudVersionCdnMiddlewareKind": {
      "type": "object",
      "properties": {
        "custom_headers": {
          "$ref": "#/$defs/CloudVersionCdnCustomHeadersMiddleware"
        }
      }
    },
    "CloudVersionMatchmakerGameModeFindConfig": {
      "type": "object",
      "description": "Configures the requirements and authentication for the /find endpoint. If this value is not set in the config, the /find endpoint is still enabled.",
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Sets whether or not the /find endpoint is enabled."
        },
        "identity_requirement": {
          "$ref": "#/$defs/CloudVersionMatchmakerGameModeIdentityRequirement"
        },
        "verification": {
          "$ref": "#/$defs/CloudVersionMatchmakerGameModeVerificationConfig"
        }
      },
      "required": [
        "enabled"
      ]
    },
    "CloudVersionMatchmakerGameModeJoinConfig": {
      "type": "object",
      "description": "Configures the requirements and authentication for the /join endpoint. If this value is not set in the config, the /join endpoint is still enabled.",
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Sets whether or not the /join endpoint is enabled."
        },
        "identity_requirement": {
          "$ref": "#/$defs/CloudVersionMatchmakerGameModeIdentityRequirement"
        },
        "verification": {
          "$ref": "#/$defs/CloudVersionMatchmakerGameModeVerificationConfig"
        }
      },
      "required": [
        "enabled"
      ]
    },
    "CloudVersionMatchmakerGameModeCreateConfig": {
      "type": "object",
      "description": "Configures the requirements and authentication for the /create endpoint. If this value is not set in the config, the /create endpoint is NOT enabled.",
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Sets whether or not the /create endpoint is enabled."
        },
        "identity_requirement": {
          "$ref": "#/$defs/CloudVersionMatchmakerGameModeIdentityRequirement"
        },
        "verification": {
          "$ref": "#/$defs/CloudVersionMatchmakerGameModeVerificationConfig"
        },
        "enable_public": {
          "type": "boolean",
          "description": "Defaults to false when unset."
        },
        "enable_private": {
          "type": "boolean",
          "description": "Defaults to true when unset."
        },
        "max_lobbies_per_identity": {
          "type": "integer",
          "description": "**Deprecated**"
        }
      },
      "required": [
        "enabled"
      ]
    },
    "CloudVersionMatchmakerCaptchaHcaptchaLevel": {
      "type": "string",
      "enum": [
        "easy",
        "moderate",
        "difficult",
        "always_on"
      ],
      "description": "**Deprecated**\nHow hard a captcha should be."
    },
    "CloudVersionMatchmakerPortRange": {
      "type": "object",
      "description": "Range of ports that can be connected to.\nIf configured, `network_mode` must equal `host`.\nPort ranges may overlap between containers, it is the responsibility of the developer to ensure ports are available before using.\nRead more about host networking [here](https://rivet.dev/docs/dynamic-servers/concepts/host-bridge-networking).\nOnly available on Rivet Open Source & Enterprise.\n\n### Related\n\n- cloud.version.matchmaker.PortProtocol\n- cloud.version.matchmaker.ProxyKind",
      "properties": {
        "min": {
          "type": "integer",
          "description": "Unsigned 32 bit integer."
        },
        "max": {
          "type": "integer",
          "description": "Unsigned 32 bit integer."
        }
      },
      "required": [
        "min",
        "max"
      ]
    },
    "CloudVersionMatchmakerPortProtocol": {
      "type": "string",
      "enum": [
        "http",
        "https",
        "tcp",
        "tcp_tls",
        "udp"
      ],
      "description": "Signifies the protocol of the port.\nNote that when proxying through GameGuard (via `ProxyKind`), the port number returned by `/find`, `/join`, and `/create` will not be the same as the port number configured in the config:\n\n- With HTTP, the port will always be 80. The hostname of the port correctly routes the incoming\n  connection to the correct port being used by the game server.\n- With HTTPS, the port will always be 443. The hostname of the port correctly routes the incoming\n  connection to the correct port being used by the game server.\n- Using TCP/UDP, the port will be a random number between 26000 and 31999. This gets automatically\n  routed to the correct port being used by the game server.\n\n### Related - cloud.version.matchmaker.GameModeRuntimeDockerPort - cloud.version.matchmaker.ProxyKind - /docs/dynamic-servers/concepts/game-guard - matchmaker.lobbies.find"
    },
    "CloudVersionMatchmakerProxyKind": {
      "type": "string",
      "enum": [
        "none",
        "game_guard"
      ],
      "description": "Range of ports that can be connected to.\n`game_guard` (default) proxies all traffic through [Game Guard](https://rivet.dev/docs/dynamic-servers/concepts/game-guard) to mitigate DDoS attacks and provide TLS termination.\n`none` sends traffic directly to the game server. If configured, `network_mode` must equal `host`. Read more about host networking [here](https://rivet.dev/docs/dynamic-servers/concepts/host-bridge-networking). Only available on Rivet Open Source & Enterprise.\n\n### Related - /docs/dynamic-servers/concepts/game-guard - cloud.version.matchmaker.PortProtocol"
    },
    "CloudVersionMatchmakerLobbyGroupIdleLobbiesConfig": {
      "type": "object",
      "description": "**Deprecated: use GameMode instead**\nConfiguration for how many idle lobbies a game version should have.",
      "properties": {
        "min_idle_lobbies": {
          "type": "integer",
          "description": "Unsigned 32 bit integer."
        },
        "max_idle_lobbies": {
          "type": "integer",
          "description": "Unsigned 32 bit integer."
        }
      },
      "required": [
        "min_idle_lobbies",
        "max_idle_lobbies"
      ]
    },
    "CloudVersionMatchmakerLobbyGroupRuntimeDocker": {
      "type": "object",
      "description": "**Deprecated: use GameMode instead**\nA game mode runtime running through Docker.",
      "properties": {
        "build_id": {
          "type": "string",
          "format": "uuid"
        },
        "args": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "env_vars": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CloudVersionMatchmakerLobbyGroupRuntimeDockerEnvVar"
          }
        },
        "network_mode": {
          "$ref": "#/$defs/CloudVersionMatchmakerNetworkMode"
        },
        "ports": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CloudVersionMatchmakerLobbyGroupRuntimeDockerPort"
          }
        }
      },
      "required": [
        "args",
        "env_vars",
        "ports"
      ]
    },
    "CloudVersionCdnCustomHeadersMiddleware": {
      "type": "object",
      "properties": {
        "headers": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CloudVersionCdnHeader"
          }
        }
      },
      "required": [
        "headers"
      ]
    },
    "CloudVersionMatchmakerGameModeIdentityRequirement": {
      "type": "string",
      "enum": [
        "none",
        "guest",
        "registered"
      ],
      "description": "**Deprecated**\nThe registration requirement for a user when joining/finding/creating a lobby. \"None\" allows for connections without an identity."
    },
    "CloudVersionMatchmakerGameModeVerificationConfig": {
      "type": "object",
      "description": "Configuration that tells Rivet where to send validation requests and with what headers. When set, Rivet will send the `verification_data` property (given by the user in the find/join/create endpoint) to the given url along with the headers provided and some information about the requested lobby. The response of this request will determine if the user can join that lobby or not.",
      "properties": {
        "url": {
          "type": "string"
        },
        "headers": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": [
        "url",
        "headers"
      ]
    },
    "CloudVersionMatchmakerLobbyGroupRuntimeDockerEnvVar": {
      "type": "object",
      "description": "**Deprecated: use GameMode instead**\nA docker environment variable.",
      "properties": {
        "key": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "required": [
        "key",
        "value"
      ]
    },
    "CloudVersionMatchmakerLobbyGroupRuntimeDockerPort": {
      "type": "object",
      "description": "**Deprecated: use GameMode instead**\nA docker port.",
      "properties": {
        "label": {
          "type": "string",
          "description": "The label of this docker port."
        },
        "target_port": {
          "type": "integer",
          "description": "The port number to connect to."
        },
        "port_range": {
          "$ref": "#/$defs/CloudVersionMatchmakerPortRange"
        },
        "proxy_protocol": {
          "$ref": "#/$defs/CloudVersionMatchmakerPortProtocol"
        }
      },
      "required": [
        "label",
        "proxy_protocol"
      ]
    },
    "CloudVersionCdnHeader": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "value"
      ]
    }
  }
}
