content: {
    "$defs": {
      "buildCommandParameters": {
        "properties": {
          "apiBuildCommand": {
            "description": "The command used to build your api",
            "type": "string"
          },
          "apiLocation": {
            "description": "The folder containing the source code of the API application",
            "type": "string"
          },
          "appBuildCommand": {
            "description": "The command used to build your app",
            "type": "string"
          },
          "appLocation": {
            "description": "The folder containing the source code of the front-end application",
            "type": "string"
          },
          "auto": {
            "description": "Automatically detect how to build your app and api",
            "type": "boolean"
          },
          "outputLocation": {
            "description": "The folder where the front-end public files are location",
            "type": "string"
          }
        },
        "type": "object"
      },
      "deployCommandParameters": {
        "properties": {
          "apiLanguage": {
            "description": "The runtime language of the API",
            "type": "string"
          },
          "apiLocation": {
            "description": "The folder containing the source code of the API application",
            "type": "string"
          },
          "apiVersion": {
            "description": "The version of the API runtime language",
            "type": "string"
          },
          "appLocation": {
            "description": "The folder containing the source code of the application",
            "type": "string"
          },
          "dataApiLocation": {
            "description": "The folder containing configurations for database connections",
            "type": "string"
          },
          "deploymentToken": {
            "description": "The secret token used to authenticate with the Static Web Apps",
            "not": {}
          },
          "dryRun": {
            "description": "Simulate a deploy process without actually running it",
            "type": "boolean"
          },
          "outputLocation": {
            "description": "The folder where the front-end public files are location",
            "type": "string"
          },
          "swaConfigLocation": {
            "description": "The directory where the staticwebapp.config.json file is located",
            "type": "string"
          }
        },
        "type": "object"
      },
      "globalParameters": {
        "properties": {
          "config": {
            "description": "Path to swa-cli.config.json file to use",
            "not": {},
            "type": "string"
          },
          "printConfig": {
            "description": "Print all resolved options",
            "type": "string"
          },
          "verbose": {
            "description": "Enable verbose output. Values are: silly,info,log,silent",
            "type": "string"
          }
        },
        "type": "object"
      },
      "initCommandParameters": {
        "properties": {
          "yes": {
            "description": "Answer yes to all prompts (disable interactive mode)",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "loginCommandParameters": {
        "properties": {},
        "type": "object"
      },
      "loginSharedCommandParameters": {
        "properties": {
          "appName": {
            "description": "Azure Static Web App application name",
            "type": "string"
          },
          "clearCredentials": {
            "description": "Clear persisted credentials before login",
            "type": "boolean"
          },
          "clientId": {
            "description": "Azure client ID",
            "type": "string"
          },
          "clientSecret": {
            "description": "Azure client secret",
            "type": "string"
          },
          "resourceGroup": {
            "description": "Azure resource group used by this project",
            "type": "string"
          },
          "subscription": {
            "description": "Azure subscription ID used by this project",
            "type": "string"
          },
          "tenant": {
            "description": "Azure tenant ID",
            "type": "string"
          },
          "useKeychain": {
            "description": "Enable using the operating system native keychain for persistent credentials",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "startCommandParameters": {
        "properties": {
          "apiDevserverUrl": {
            "description": "Connect to the api server at this URL instead of using api location",
            "type": "string"
          },
          "apiLocation": {
            "description": "The folder containing the source code of the API application",
            "type": "string"
          },
          "apiPort": {
            "description": "The API server port passed to func start",
            "type": "number"
          },
          "appDevserverUrl": {
            "description": "Connect to the dev server at this URL instead of using output location",
            "type": "string"
          },
          "appLocation": {
            "description": "The folder containing the source code of the front-end application",
            "type": "string"
          },
          "dataApiLocation": {
            "description": "The folder containing configurations for database connections",
            "type": "string"
          },
          "devserverTimeout": {
            "description": "The time to wait (in seconds) when connecting to a front-end application's dev server or api server",
            "type": "number"
          },
          "funcArgs": {
            "description": "Pass additional arguments to the func start command",
            "type": "string"
          },
          "host": {
            "description": "The host address to use for the CLI dev server",
            "type": "string"
          },
          "open": {
            "description": "Automatically open the CLI dev server in the default browser",
            "type": "boolean"
          },
          "outputLocation": {
            "description": "The folder containing the built source of the front-end application",
            "type": "string"
          },
          "port": {
            "description": "The port value to use for the CLI dev server",
            "type": "number"
          },
          "run": {
            "description": "Run a custon shell command or file at startup",
            "type": "string"
          },
          "ssl": {
            "description": "Serve the front-end application and API over HTTPS",
            "type": "boolean"
          },
          "sslCert": {
            "description": "The SSL certificate (.crt) to use when enabling HTTPS",
            "type": "string"
          },
          "sslKey": {
            "description": "The SSL key (.key) to use when enabling HTTPS",
            "type": "string"
          },
          "swaConfigLocation": {
            "description": "The directory where the staticwebapp.config.json file is located",
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "$schema": "https://json-schema.org/draft-07/schema",
    "properties": {
      "configurations": {
        "additionalProperties": {
          "allOf": [
            {
              "$ref": "#/$defs/globalParameters"
            },
            {
              "$ref": "#/$defs/startCommandParameters"
            },
            {
              "$ref": "#/$defs/loginCommandParameters"
            },
            {
              "$ref": "#/$defs/loginSharedCommandParameters"
            },
            {
              "$ref": "#/$defs/initCommandParameters"
            },
            {
              "$ref": "#/$defs/deployCommandParameters"
            },
            {
              "$ref": "#/$defs/buildCommandParameters"
            },
            {
              "properties": {
                "login": {
                  "allOf": [
                    {
                      "$ref": "#/$defs/globalParameters"
                    },
                    {
                      "$ref": "#/$defs/loginCommandParameters"
                    },
                    {
                      "$ref": "#/$defs/loginSharedCommandParameters"
                    }
                  ]
                }
              }
            },
            {
              "properties": {
                "start": {
                  "allOf": [
                    {
                      "$ref": "#/$defs/globalParameters"
                    },
                    {
                      "$ref": "#/$defs/startCommandParameters"
                    }
                  ]
                }
              }
            },
            {
              "properties": {
                "init": {
                  "allOf": [
                    {
                      "$ref": "#/$defs/globalParameters"
                    },
                    {
                      "$ref": "#/$defs/initCommandParameters"
                    }
                  ]
                }
              }
            },
            {
              "properties": {
                "deploy": {
                  "allOf": [
                    {
                      "$ref": "#/$defs/globalParameters"
                    },
                    {
                      "$ref": "#/$defs/loginSharedCommandParameters"
                    },
                    {
                      "$ref": "#/$defs/deployCommandParameters"
                    }
                  ]
                }
              }
            },
            {
              "properties": {
                "init": {
                  "allOf": [
                    {
                      "$ref": "#/$defs/globalParameters"
                    },
                    {
                      "$ref": "#/$defs/buildCommandParameters"
                    }
                  ]
                }
              }
            }
          ]
        },
        "type": "object"
      }
    },
    "type": "object"
  }