public static void test(Subscription subscription) throws Exception {
    String newAvailabilitySetName = "marcinsas";
    AvailabilitySet availabilitySet;

    // Create a new availability set in a new default group
    availabilitySet =
        subscription
            .availabilitySets()
            .define(newAvailabilitySetName)
            .withRegion(Region.US_WEST)
            .withNewResourceGroup()
            .create();

    // Get info about a specific availability set using its group and name
    availabilitySet = subscription.availabilitySets(availabilitySet.id());
    printAvailabilitySet(availabilitySet);

    // Listing availability sets in a specific resource group
    Map<String, AvailabilitySet> availabilitySets =
        subscription.availabilitySets().asMap(availabilitySet.resourceGroup());
    System.out.println(
        String.format(
            "Availability set ids in group '%s': \n\t%s",
            availabilitySet.resourceGroup(), StringUtils.join(availabilitySets.keySet(), ",\n\t")));

    // Delete availability set
    availabilitySet.delete();

    // Delete its group
    subscription.resourceGroups().delete(availabilitySet.resourceGroup());

    // Create a new group
    ResourceGroup group =
        subscription
            .resourceGroups()
            .define("marcinstestgroup")
            .withRegion(Region.US_WEST)
            .create();

    // Create an availability set in an existing group
    availabilitySet =
        subscription
            .availabilitySets()
            .define(newAvailabilitySetName + "2")
            .withRegion(Region.US_WEST)
            .withExistingResourceGroup(group)
            .withTag("hello", "world")
            .withoutTag("hello")
            .create();

    // Get an existing availability set based onb group and name
    availabilitySet =
        subscription.availabilitySets(availabilitySet.resourceGroup(), availabilitySet.name());
    printAvailabilitySet(availabilitySet);

    // Delete the entire group
    subscription.resourceGroups().delete(group.id());
  }