scpSpec top-level property

FigSpec scpSpec
final

Completion spec for scp CLI

Implementation

final FigSpec scpSpec = FigSpec(
  name: 'scp',
  description: 'Copies files or directories between hosts on a network',
  args: [

    Arg(
      name: 'sources',
      description: 'File or directory, local or remote ([user@]host:[path])',
      isVariadic: true,
      generators: [

        Generator(
          template: ['history', 'filepaths', 'folders']
        )
      ]
    ),
    Arg(
      name: 'target',
      description: 'File or directory, local or remote ([user@]host:[path])',
      generators: [

        Generator(
          template: ['history', 'filepaths', 'folders']
        )
      ]
    )
  ],
  options: [

    Option(
      name: '-3'
    ),
    Option(
      name: '-4',
      description: 'Forces scp to use IPv4 addresses only'
    ),
    Option(
      name: '-6',
      description: 'Forces scp to use IPv6 addresses only'
    ),
    Option(
      name: '-A',
      description: 'Allows forwarding of ssh-agent(1) to the remote system. The default is not to forward an authentication agent'
    ),
    Option(
      name: '-B',
      description: 'Selects batch mode (prevents asking for passwords or passphrases)'
    ),
    Option(
      name: '-C',
      description: 'Compression enable. Passes the -C flag to ssh(1) to enable compression'
    ),
    Option(
      name: '-c',
      description: 'Selects the cipher to use for encrypting the data transfer. This option is directly passed to ssh(1)',
      args: [
        Arg(
        name: 'cipher',
        description: 'The selected cipher specification'
      )
      ]
    ),
    Option(
      name: '-F',
      description: 'Specifies an alternative per-user configuration file for ssh. This option is directly passed to ssh(1)',
      args: [
        Arg(
        name: 'ssh_config',
        description: 'The selected ssh config'
      )
      ]
    ),
    Option(
      name: '-i',
      description: 'Selects the file from which the identity (private key) for public key authentication is read. This option is directly passed to ssh(1)',
      args: [
        Arg(
        name: 'identity_file',
        description: 'Specified identity file'
      )
      ]
    ),
    Option(
      name: '-J',
      args: [
        Arg(
        name: 'destination',
        description: 'Scp destination'
      )
      ]
    ),
    Option(
      name: '-l',
      description: 'Limits the used bandwidth, specified in Kbit/s',
      args: [
        Arg(
        name: 'limit',
        description: 'Limit bandwidth in Kbit/s'
      )
      ]
    ),
    Option(
      name: '-o',
      args: [
        Arg(
        name: 'option',
        suggestions: [

          FigSuggestion(
            name: 'AddressFamily'
          ),
          FigSuggestion(
            name: 'BatchMode'
          ),
          FigSuggestion(
            name: 'BindAddress'
          ),
          FigSuggestion(
            name: 'ChallengeResponseAuthentication'
          ),
          FigSuggestion(
            name: 'CheckHostIP'
          ),
          FigSuggestion(
            name: 'Cipher'
          ),
          FigSuggestion(
            name: 'Ciphers'
          ),
          FigSuggestion(
            name: 'ClearAllForwardings'
          ),
          FigSuggestion(
            name: 'Compression'
          ),
          FigSuggestion(
            name: 'CompressionLevel'
          ),
          FigSuggestion(
            name: 'ConnectionAttempts'
          ),
          FigSuggestion(
            name: 'ConnectTimeout'
          ),
          FigSuggestion(
            name: 'ControlMaster'
          ),
          FigSuggestion(
            name: 'ControlPath'
          ),
          FigSuggestion(
            name: 'ControlPersist'
          ),
          FigSuggestion(
            name: 'DynamicForward'
          ),
          FigSuggestion(
            name: 'EscapeChar'
          ),
          FigSuggestion(
            name: 'ExitOnForwardFailure'
          ),
          FigSuggestion(
            name: 'ForwardAgent'
          ),
          FigSuggestion(
            name: 'ForwardX11'
          ),
          FigSuggestion(
            name: 'ForwardX11Timeout'
          ),
          FigSuggestion(
            name: 'ForwardX11Trusted'
          ),
          FigSuggestion(
            name: 'GatewayPorts'
          ),
          FigSuggestion(
            name: 'GlobalKnownHostsFile'
          ),
          FigSuggestion(
            name: 'GSSAPIAuthentication'
          ),
          FigSuggestion(
            name: 'GSSAPIDelegateCredentials'
          ),
          FigSuggestion(
            name: 'HashKnownHosts'
          ),
          FigSuggestion(
            name: 'Host'
          ),
          FigSuggestion(
            name: 'HostbasedAuthentication'
          ),
          FigSuggestion(
            name: 'HostKeyAlgorithms'
          ),
          FigSuggestion(
            name: 'HostKeyAlias'
          ),
          FigSuggestion(
            name: 'HostName'
          ),
          FigSuggestion(
            name: 'IdentityFile'
          ),
          FigSuggestion(
            name: 'IdentitiesOnly'
          ),
          FigSuggestion(
            name: 'IPQoS'
          ),
          FigSuggestion(
            name: 'KbdInteractiveAuthentication'
          ),
          FigSuggestion(
            name: 'KbdInteractiveDevices'
          ),
          FigSuggestion(
            name: 'KexAlgorithms'
          ),
          FigSuggestion(
            name: 'LocalCommand'
          ),
          FigSuggestion(
            name: 'LocalForward'
          ),
          FigSuggestion(
            name: 'LogLevel'
          ),
          FigSuggestion(
            name: 'MACs'
          ),
          FigSuggestion(
            name: 'NoHostAuthenticationForLocalhost'
          ),
          FigSuggestion(
            name: 'NumberOfPasswordPrompts'
          ),
          FigSuggestion(
            name: 'PasswordAuthentication'
          ),
          FigSuggestion(
            name: 'PermitLocalCommand'
          ),
          FigSuggestion(
            name: 'PKCS11Provider'
          ),
          FigSuggestion(
            name: 'Port'
          ),
          FigSuggestion(
            name: 'PreferredAuthentications'
          ),
          FigSuggestion(
            name: 'Protocol'
          ),
          FigSuggestion(
            name: 'ProxyCommand'
          ),
          FigSuggestion(
            name: 'PubkeyAuthentication'
          ),
          FigSuggestion(
            name: 'RekeyLimit'
          ),
          FigSuggestion(
            name: 'RequestTTY'
          ),
          FigSuggestion(
            name: 'RhostsRSAAuthentication'
          ),
          FigSuggestion(
            name: 'RSAAuthentication'
          ),
          FigSuggestion(
            name: 'SendEnv'
          ),
          FigSuggestion(
            name: 'ServerAliveInterval'
          ),
          FigSuggestion(
            name: 'ServerAliveCountMax'
          ),
          FigSuggestion(
            name: 'StrictHostKeyChecking'
          ),
          FigSuggestion(
            name: 'TCPKeepAlive'
          ),
          FigSuggestion(
            name: 'Tunnel'
          ),
          FigSuggestion(
            name: 'TunnelDevice'
          ),
          FigSuggestion(
            name: 'UsePrivilegedPort'
          ),
          FigSuggestion(
            name: 'User'
          ),
          FigSuggestion(
            name: 'UserKnownHostsFile'
          ),
          FigSuggestion(
            name: 'VerifyHostKeyDNS'
          ),
          FigSuggestion(
            name: 'VisualHostKey'
          ),
          FigSuggestion(
            name: 'XAuthLocation'
          )
        ]
      )
      ]
    ),
    Option(
      name: '-P',
      args: [
        Arg(
        name: 'port'
      )
      ]
    ),
    Option(
      name: '-p',
      description: 'Preserves modification times, access times, and modes from the original file'
    ),
    Option(
      name: '-q',
      description: 'Quiet mode: disables the progress meter as well as warning and diagnostic messages from ssh(1)'
    ),
    Option(
      name: '-r',
      description: 'Recursively copy entire directories.  Note that scp follows symbolic links encountered in the tree traversal'
    ),
    Option(
      name: '-S',
      description: 'Name of program to use for the encrypted connection.  The program must understand ssh(1) options',
      args: [
        Arg(
        name: 'program'
      )
      ]
    ),
    Option(
      name: '-T'
    ),
    Option(
      name: '-v',
      description: 'Verbose mode.  Causes scp and ssh(1) to print debugging messages about their progress. This is helpful in debugging connection, authentication, and configuration problems'
    )
  ]
);