{
  "description": "Fetch access tokens or an Authorization header. Other commands (curl, info, test, reset) and STS/impersonation options are left out.",
  "name": "oauth2l",
  "subcommands": [
    {
      "name": "fetch",
      "description": "Fetch an access token",
      "options": [
        {
          "names": [
            "--credentials"
          ],
          "description": "Credentials JSON",
          "args": {
            "name": "credentials",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--scope"
          ],
          "description": "Comma-separated, no spaces, e.g. cloud-platform,pubsub.",
          "args": {
            "name": "scope",
            "description": "Comma-separated, no spaces, e.g. cloud-platform,pubsub.",
            "isOptional": false
          }
        },
        {
          "names": [
            "--type"
          ],
          "description": "Authentication type",
          "args": {
            "name": "type",
            "isOptional": false,
            "suggestions": [
              {
                "name": "oauth",
                "description": "OAuth"
              },
              {
                "name": "jwt",
                "description": "JWT"
              },
              {
                "name": "sso",
                "description": "SSO"
              }
            ]
          }
        },
        {
          "names": [
            "--audience"
          ],
          "description": "Audience (JWT)",
          "args": {
            "name": "audience",
            "isOptional": false
          }
        },
        {
          "names": [
            "--email"
          ],
          "description": "Email (SSO or delegation)",
          "args": {
            "name": "email",
            "isOptional": false
          }
        },
        {
          "names": [
            "--cache"
          ],
          "description": "Cache file",
          "args": {
            "name": "cache",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--refresh"
          ],
          "description": "Refresh cached token"
        },
        {
          "names": [
            "--output_format"
          ],
          "description": "Output format",
          "args": {
            "name": "output_format",
            "isOptional": false,
            "suggestions": [
              {
                "name": "bare",
                "description": "Bare"
              },
              {
                "name": "header",
                "description": "Header"
              },
              {
                "name": "json",
                "description": "JSON"
              },
              {
                "name": "json_compact",
                "description": "Compact JSON"
              },
              {
                "name": "pretty",
                "description": "Pretty"
              },
              {
                "name": "refresh_token",
                "description": "Refresh token"
              }
            ]
          }
        }
      ]
    },
    {
      "name": "header",
      "description": "Print an Authorization header",
      "options": [
        {
          "names": [
            "--credentials"
          ],
          "description": "Credentials JSON",
          "args": {
            "name": "credentials",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--scope"
          ],
          "description": "Comma-separated, no spaces, e.g. cloud-platform,pubsub.",
          "args": {
            "name": "scope",
            "description": "Comma-separated, no spaces, e.g. cloud-platform,pubsub.",
            "isOptional": false
          }
        },
        {
          "names": [
            "--type"
          ],
          "description": "Authentication type",
          "args": {
            "name": "type",
            "isOptional": false,
            "suggestions": [
              {
                "name": "oauth",
                "description": "OAuth"
              },
              {
                "name": "jwt",
                "description": "JWT"
              },
              {
                "name": "sso",
                "description": "SSO"
              }
            ]
          }
        },
        {
          "names": [
            "--audience"
          ],
          "description": "Audience (JWT)",
          "args": {
            "name": "audience",
            "isOptional": false
          }
        },
        {
          "names": [
            "--email"
          ],
          "description": "Email (SSO or delegation)",
          "args": {
            "name": "email",
            "isOptional": false
          }
        },
        {
          "names": [
            "--cache"
          ],
          "description": "Cache file",
          "args": {
            "name": "cache",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--refresh"
          ],
          "description": "Refresh cached token"
        }
      ]
    }
  ]
}
