{ config, hosts, lib, ... }:
with config.resources; {
  resources.hcloud_ssh_key = {
    provider = "hcloud";
    type = "ssh_key";
    inputs = {
      name = "yubikey";
      public_key =
        "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCocjQqiDIvzq+Qu3jkf7FXw5piwtvZ1Mihw9cVjdVcsra3U2c9WYtYrA3rS50N3p00oUqQm9z1KUrvHzdE+03ZCrvaGdrtYVsaeoCuuvw7qxTQRbItTAEsfRcZLQ5c1v/57HNYNEsjVrt8VukMPRXWgl+lmzh37dd9w45cCY1QPi+JXQQ/4i9Vc3aWSe4X6PHOEMSBHxepnxm5VNHm4PObGcVbjBf0OkunMeztd1YYA9sEPyEK3b8IHxDl34e5t6NDLCIDz0N/UgzCxSxoz+YJ0feQuZtud/YLkuQcMxW2dSGvnJ0nYy7SA5DkW1oqcy6CGDndHl5StOlJ1IF9aGh0gGkx5SRrV7HOGvapR60RphKrR5zQbFFka99kvSQgOZqSB3CGDEQGHv8dXKXIFlzX78jjWDOBT67vA/M9BK9FS2iNnBF5x6shJ9SU5IK4ySxq8qvN7Us8emkN3pyO8yqgsSOzzJT1JmWUAx0tZWG/BwKcFBHfceAPQl6pwxx28TM3BTBRYdzPJLTkAy48y6iXW6UYdfAPlShy79IYjQtEThTuIiEzdzgYdros0x3PDniuAP0KOKMgbikr0gRa6zahPjf0qqBnHeLB6nHAfaVzI0aNbhOg2bdOueE1FX0x48sjKqjOpjlIfq4WeZp9REr2YHEsoLFOBfgId5P3BPtpBQ== cardno:000612078454";
    };
  };

  resources.athame = {
    provider = "null";
    type = "resource";
    connection = {
      port = 62954;
      host = "athame.kittywit.ch";
    };
  };

  #resources.athame = {
  #provider = "hcloud";
  #  type = "server";
  #  inputs = {
  #    name = "athame";
  #    image = "ubuntu-20.04";
  #    server_type = "cpx21";
  #    location = "nbg1";
  #    backups = false;
  #    ssh_keys = [ (hcloud_ssh_key.refAttr "id") ];
  #  };
  #  connection = { host = config.lib.tf.terraformSelf "ipv4_address"; };
  #  provisioners = [
  #    {
  #      file = {
  #        destination = "/tmp/sshportfix.nix";
  #        content = "{ config, ...}: { services.openssh.ports = [ 62954 ]; }";
  #      };
  #    }
  #    {
  #      remote-exec.command =
  #        "curl https://raw.githubusercontent.com/elitak/nixos-infect/master/nixos-infect | NIXOS_IMPORT=/tmp/sshportfix.nix NO_REBOOT=true PROVIDER=hetznercloud NIX_CHANNEL=nixos-20.09 bash 2>&1 | tee /tmp/infect.log";
  #    }
  #    {
  #      remote-exec.command = "reboot";
  #      onFailure = "continue";
  #    }
  #  ];
  #};

  /* resources.athame_rdns = {
    provider = "hcloud";
    type = "rdns";
    inputs = {
    server_id = athame.refAttr "id";
    dns_ptr = "athame.kittywit.ch";
    ip_address = athame.refAttr "ipv4_address";
    };
    };
  */

  #dns.records.kittywitch_athame = {
  #  tld = "kittywit.ch.";
  #  domain = "athame";
  #  a.address = athame.refAttr "ipv4_address";
  #};

  #dns.records.kittywitch_root = {
  #  tld = "kittywit.ch.";
  #  domain = "@";
  #  a.address = athame.refAttr "ipv4_address";
  #};

  #dns.records.kittywitch_athame_v6 = {
  #  tld = "kittywit.ch.";
  #  domain = "athame";
  #  aaaa.address = athame.refAttr "ipv6_address";
  #};

  #dns.records.kittywitch_root_v6 = {
  #  tld = "kittywit.ch.";
  #  domain = "@";
  #  aaaa.address = athame.refAttr "ipv6_address";
  #};

  #dns.records.kittywitch_www = {
  #  tld = "kittywit.ch.";
  #  domain = "www";
  #  cname.target = "athame.kittywit.ch.";
  #};

  #    connection = {
  #      host = athame.refAttr "ipv4_address";
  #      port = 62954;
  #    };

  #triggers.switch = lib.mapAttrs (name: record:
  #  {
  #    A = config.lib.tf.terraformExpr
  #      ''join(",", ${record.out.resource.namedRef}.addresses)'';
  #    AAAA = config.lib.tf.terraformExpr
  #      ''join(",", ${record.out.resource.namedRef}.addresses)'';
  #    CNAME = record.out.resource.refAttr "cname";
  #    SRV = record.out.resource.refAttr "id";
  #  }.${record.out.type}) config.dns.records;

}
