{
  "description": "Log in to IAM Identity Center, run commands or open the console with a role's credentials, and list roles. Process, ECS, setup and cache commands are left out.",
  "options": [
    {
      "names": [
        "--sso",
        "-S"
      ],
      "description": "Name of a non-default SSO instance.",
      "args": {
        "name": "sso",
        "description": "Name of a non-default SSO instance.",
        "isOptional": false
      }
    },
    {
      "names": [
        "--level",
        "-L"
      ],
      "description": "Log level",
      "args": {
        "name": "level",
        "isOptional": false,
        "suggestions": [
          {
            "name": "error",
            "description": "Error"
          },
          {
            "name": "warn",
            "description": "Warn"
          },
          {
            "name": "info",
            "description": "Info"
          },
          {
            "name": "debug",
            "description": "Debug"
          },
          {
            "name": "trace",
            "description": "Trace"
          }
        ]
      }
    }
  ],
  "name": "aws-sso",
  "subcommands": [
    {
      "name": "login",
      "description": "Log in",
      "options": [
        {
          "names": [
            "--url-action",
            "-u"
          ],
          "description": "How to handle the SSO login URL.",
          "args": {
            "name": "url_action",
            "description": "How to handle the SSO login URL.",
            "isOptional": false
          }
        },
        {
          "names": [
            "--threads"
          ],
          "description": "Threads",
          "args": {
            "name": "threads",
            "isOptional": false
          }
        },
        {
          "names": [
            "--force",
            "-f"
          ],
          "description": "Ends the current SSO session and starts a new one."
        }
      ]
    },
    {
      "name": "exec",
      "description": "Run a command with a role",
      "options": [
        {
          "names": [
            "--profile",
            "-p"
          ],
          "description": "Profile",
          "args": {
            "name": "profile",
            "isOptional": false
          }
        },
        {
          "names": [
            "--arn",
            "-a"
          ],
          "description": "Role ARN",
          "args": {
            "name": "arn",
            "isOptional": false
          }
        },
        {
          "names": [
            "--account",
            "-A"
          ],
          "description": "Account ID",
          "args": {
            "name": "account",
            "isOptional": false
          }
        },
        {
          "names": [
            "--role",
            "-R"
          ],
          "description": "Role name",
          "args": {
            "name": "role",
            "isOptional": false
          }
        },
        {
          "names": [
            "--no-region"
          ],
          "description": "Do not set default region"
        },
        {
          "names": [
            "--overwrite-env",
            "-O"
          ],
          "description": "Overwrite existing AWS_* variables",
          "isDangerous": true
        },
        {
          "names": [
            "--sts-refresh"
          ],
          "description": "Refresh STS credentials"
        }
      ],
      "args": [
        {
          "name": "command",
          "description": "Leave empty to start an interactive shell.",
          "isOptional": true,
          "isVariadic": true
        }
      ]
    },
    {
      "name": "console",
      "description": "Open the AWS console",
      "options": [
        {
          "names": [
            "--profile",
            "-p"
          ],
          "description": "Profile",
          "args": {
            "name": "profile",
            "isOptional": false
          }
        },
        {
          "names": [
            "--prompt",
            "-P"
          ],
          "description": "Prompt to select a role"
        },
        {
          "names": [
            "--account",
            "-A"
          ],
          "description": "Account ID",
          "args": {
            "name": "account",
            "isOptional": false
          }
        },
        {
          "names": [
            "--role",
            "-R"
          ],
          "description": "Requires an account ID.",
          "args": {
            "name": "role",
            "description": "Requires an account ID.",
            "isOptional": false
          }
        },
        {
          "names": [
            "--arn",
            "-a"
          ],
          "description": "Role ARN",
          "args": {
            "name": "arn",
            "isOptional": false
          }
        },
        {
          "names": [
            "--region",
            "-r"
          ],
          "description": "Region",
          "args": {
            "name": "region",
            "isOptional": false
          }
        },
        {
          "names": [
            "--duration",
            "-d"
          ],
          "description": "Session duration (minutes)",
          "args": {
            "name": "duration",
            "isOptional": false
          }
        },
        {
          "names": [
            "--url-action",
            "-u"
          ],
          "description": "What to do with the generated URL.",
          "args": {
            "name": "url_action",
            "description": "What to do with the generated URL.",
            "isOptional": false
          }
        }
      ]
    },
    {
      "name": "list",
      "description": "List roles",
      "options": [
        {
          "names": [
            "--list-fields",
            "-f"
          ],
          "description": "List available fields"
        },
        {
          "names": [
            "--prefix",
            "-P"
          ],
          "description": "FieldName=Prefix",
          "args": {
            "name": "prefix",
            "description": "FieldName=Prefix",
            "isOptional": false
          }
        },
        {
          "names": [
            "--csv"
          ],
          "description": "CSV output"
        },
        {
          "names": [
            "--sort",
            "-s"
          ],
          "description": "Sort by field",
          "args": {
            "name": "sort",
            "isOptional": false
          }
        },
        {
          "names": [
            "--reverse"
          ],
          "description": "Reverse sort"
        }
      ],
      "args": [
        {
          "name": "fields",
          "description": "Field names such as AccountIdPad, AccountAlias, RoleName, Expires.",
          "isOptional": true,
          "isVariadic": true
        }
      ]
    }
  ]
}
