Package com.github.ambry.config
Class QuotaConfig
- java.lang.Object
-
- com.github.ambry.config.QuotaConfig
-
public class QuotaConfig extends java.lang.Object
Config for quota of various resources in Ambry.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DEFAULT_QUOTA_MANAGER_FACTORY
static java.lang.String
DEFAULT_QUOTA_THROTTLING_MODE
static java.lang.String
ENFORCER_STR
static java.lang.String
QUOTA_CONFIG_PREFIX
static java.lang.String
QUOTA_ENFORCER_SOURCE_PAIR_INFO_STR
static java.lang.String
QUOTA_MANAGER_FACTORY
java.lang.String
quotaManagerFactory
The quota manager factory class.static java.lang.String
REQUEST_QUOTA_ENFORCER_SOURCE_PAIR_INFO_JSON
static java.lang.String
REQUEST_THROTTLING_ENABLED
java.lang.String
requestQuotaEnforcerSourcePairInfoJson
Serialized json containing pairs of enforcer classes and corresponding source classes.boolean
requestThrottlingEnabled
Config to enable throttling on customer's account or container.static java.lang.String
SOURCE_STR
StorageQuotaConfig
storageQuotaConfig
static java.lang.String
THROTTLING_MODE
QuotaMode
throttlingMode
The mode in which quota throttling is being done (TRACKING/THROTTLING).
-
Constructor Summary
Constructors Constructor Description QuotaConfig(VerifiableProperties verifiableProperties)
Constructor forQuotaConfig
.
-
-
-
Field Detail
-
QUOTA_ENFORCER_SOURCE_PAIR_INFO_STR
public static final java.lang.String QUOTA_ENFORCER_SOURCE_PAIR_INFO_STR
- See Also:
- Constant Field Values
-
ENFORCER_STR
public static final java.lang.String ENFORCER_STR
- See Also:
- Constant Field Values
-
SOURCE_STR
public static final java.lang.String SOURCE_STR
- See Also:
- Constant Field Values
-
QUOTA_CONFIG_PREFIX
public static final java.lang.String QUOTA_CONFIG_PREFIX
- See Also:
- Constant Field Values
-
REQUEST_THROTTLING_ENABLED
public static final java.lang.String REQUEST_THROTTLING_ENABLED
- See Also:
- Constant Field Values
-
THROTTLING_MODE
public static final java.lang.String THROTTLING_MODE
- See Also:
- Constant Field Values
-
REQUEST_QUOTA_ENFORCER_SOURCE_PAIR_INFO_JSON
public static final java.lang.String REQUEST_QUOTA_ENFORCER_SOURCE_PAIR_INFO_JSON
- See Also:
- Constant Field Values
-
QUOTA_MANAGER_FACTORY
public static final java.lang.String QUOTA_MANAGER_FACTORY
- See Also:
- Constant Field Values
-
DEFAULT_QUOTA_MANAGER_FACTORY
public static final java.lang.String DEFAULT_QUOTA_MANAGER_FACTORY
- See Also:
- Constant Field Values
-
DEFAULT_QUOTA_THROTTLING_MODE
public static final java.lang.String DEFAULT_QUOTA_THROTTLING_MODE
-
storageQuotaConfig
public StorageQuotaConfig storageQuotaConfig
-
requestThrottlingEnabled
@Config("quota.request.throttling.enabled") @Default("false") public boolean requestThrottlingEnabled
Config to enable throttling on customer's account or container.
-
requestQuotaEnforcerSourcePairInfoJson
@Config("quota.request.enforcer.source.pair.info.json") public java.lang.String requestQuotaEnforcerSourcePairInfoJson
Serialized json containing pairs of enforcer classes and corresponding source classes. This information should be of the following form:{ "quotaEnforcerSourcePairInfo" : [ { "enforcer":"com.github.ambry.quota.QuotaEnforcer", "source": "com.github.ambry.quota.QuotaSource" }, { "enforcer":"com.github.ambry.quota.AnotherQuotaEnforcer", "source": "com.github.ambry.quota.AnotherQuotaSource" } ] }
-
quotaManagerFactory
@Config("quota.manger.factory") @Default("com.github.ambry.quota.AmbryQuotaManagerFactory") public java.lang.String quotaManagerFactory
The quota manager factory class.
-
-
Constructor Detail
-
QuotaConfig
public QuotaConfig(VerifiableProperties verifiableProperties)
Constructor forQuotaConfig
.- Parameters:
verifiableProperties
-VerifiableProperties
object.
-
-