# Demonstrates the use of polymorphism to call bundles.
body common control
{
  bundlesequence => { "example" };
}

###########################################
bundle agent example
{
  vars:
    "m" slist => { "login", "ssh_keys", "environment" };
    "user" slist => { "diego", "mark", "neil" };

  methods:
    "set of $(m)" usebundle => $(m)("$(user)");
}

###########################################
bundle agent login(x)
{
  reports:
    "Setup login for $(x)";
}

###########################################
bundle agent ssh_keys(x)
{
  reports:
    "Setup ssh keys for $(x)";
}

###########################################
bundle agent environment(x)
{
  reports:
    "Setup login environment for $(x)";
}
