GenerateSshConfigSettings.cs 975 B

123456789101112131415161718192021222324252627
  1. using System.ComponentModel;
  2. using Spectre.Console.Cli;
  3. namespace Shared.Rcl.Commands.Exporters;
  4. public sealed class GenerateSshConfigSettings : CommandSettings {
  5. [CommandOption("--include-tags")]
  6. [Description("Comma-separated list of tags to include (e.g. prod,linux)")]
  7. public string? IncludeTags { get; init; }
  8. [CommandOption("--default-user")]
  9. [Description("Default SSH user if not defined in labels")]
  10. public string? DefaultUser { get; init; }
  11. [CommandOption("--default-port")]
  12. [Description("Default SSH port if not defined in labels (default: 22)")]
  13. [DefaultValue(22)]
  14. public int DefaultPort { get; init; } = 22;
  15. [CommandOption("--default-identity")]
  16. [Description("Default SSH identity file (e.g. ~/.ssh/id_rsa)")]
  17. public string? DefaultIdentityFile { get; init; }
  18. [CommandOption("-o|--output")]
  19. [Description("Write SSH config to file instead of stdout")]
  20. public string? OutputPath { get; init; }
  21. }