puppet-trove/manifests/quota.pp
Matt Fischer 59f75e6085 Trove external dependency management
Move all dependency tracking to an external class which simplifies the
relationships and allows managing Trove without necessarily using
packages.

This change also cleans up how the client is handled to make
it more configurable and match other modules.

Finally the reference to the deprecated and non-functional
keystone::python class is dropped.

Change-Id: I943685fbeb114dead80b7465b8f5c564a0bc9fe0
2016-03-21 19:42:26 -06:00

46 lines
1.3 KiB
Puppet

# == Class: trove::quota
#
# Setup and configure trove quotas.
#
# === Parameters
#
# [*max_instances_per_user*]
# (optional) Default maximum number of instances per tenant.
# Defaults to 5.
#
# [*max_accepted_volume_size*]
# (optional) Default maximum volume size (in GB) for an instance.
# Defaults to 5.
#
# [*max_volumes_per_user*]
# (optional) Default maximum volume capacity (in GB) spanning across
# all Trove volumes per tenant.
# Defaults to 20.
#
# [*max_backups_per_user*]
# (optional) Default maximum number of backups created by a tenant.
# Defaults to 50.
#
# [*quota_driver*]
# (optional) Default driver to use for quota checks.
# Defaults to 'trove.quota.quota.DbQuotaDriver'.
#
class trove::quota (
$max_instances_per_user = 5,
$max_accepted_volume_size = 5,
$max_volumes_per_user = 20,
$max_backups_per_user = 50,
$quota_driver = 'trove.quota.quota.DbQuotaDriver',
) {
include ::trove::deps
trove_config {
'DEFAULT/max_instances_per_user': value => $max_instances_per_user;
'DEFAULT/max_accepted_volume_size': value => $max_accepted_volume_size;
'DEFAULT/max_volumes_per_user': value => $max_volumes_per_user;
'DEFAULT/max_backups_per_user': value => $max_backups_per_user;
'DEFAULT/quota_driver': value => $quota_driver;
}
}