---
class:
  __order:
    - Ssh::HostElement
    - Ssh
  Ssh:
    include:
      - Ssh::HostElement
    include_after: Host
    rw_config:
      auto_create: 1
      backend: OpenSsh::Ssh
      config_dir: ~/.ssh
      file: config
  Ssh::HostElement:
    element:
      __skip_order: 1
      IdentityFile:
        cargo:
          warn_if_match:
            \.pub$:
              fix: s/\.pub$//;
              msg: 'identity file must be the private key'
      UseRsh: &deprecated
        description: This parameter is now ignored by Ssh
        status: deprecated
        type: leaf
        value_type: uniline
      FallBackToRsh: *deprecated
      HostbasedKeyTypes: *deprecated
      HostbasedAcceptedAlgorithms:
        migrate_from:
          variables:
            old: "- HostbasedKeyTypes"
          formula: "$old"
      PreferredAuthentications:
        cargo:
          warn_unless_match:
            "^(gssapi-with-mic|hostbased|publickey|keyboard-interactive|password)$":
              msg: |
                Unexpected authentication method: 'C<$_>'. Expected one of
                C<gssapi-with-mic>, C<hostbased>, C<publickey>,
                C<keyboard-interactive> or C<password>
      PubkeyAcceptedKeyTypes: *deprecated
      PubkeyAcceptedAlgorithms:
        migrate_from:
          variables:
            old: "- PubkeyAcceptedKeyTypes"
          formula: "$old"
