package
0.0.0-20250307045944-cf6c03992e2e
Repository: https://github.com/sapcc/limes.git
Documentation: pkg.go.dev
# Functions
BuildAPIRateInfo converts a RateInfo from LIQUID into the API format.
BuildRateNameMapping constructs a new RateNameMapping instance.
BuildResourceNameMapping constructs a new ResourceNameMapping instance.
ConvertUnitFor works like ConvertTo, but instead of taking a unit as an argument, it uses the native unit of the specified resource.
InAnyAZ is a convenience constructor for PerAZ that puts all data in the "any" AZ.
InUnknownAZUnlessEmpty is a convenience constructor for PerAZ that puts all data in the "unknown" AZ.
KeystoneDomainFromDB converts a db.Domain into a KeystoneDomain.
KeystoneProjectFromDB converts a db.Project into a KeystoneProject.
NewCluster creates a new Cluster instance with the given ID and configuration, and also initializes all quota and capacity plugins.
NewClusterFromYAML reads and validates the configuration in the given YAML document.
NewTranslationRule returns the TranslationRule for the given ID, or an error if the ID is unknown.
# Variables
CapacityPluginRegistry is a pluggable.Registry for CapacityPlugin implementations.
DiscoveryPluginRegistry is a pluggable.Registry for DiscoveryPlugin implementations.
ErrNotALiquid is a custom eror that is thrown by plugins that do not support the LIQUID API.
QuotaPluginRegistry is a pluggable.Registry for QuotaPlugin implementations.
# Structs
AutogrowQuotaDistributionConfiguration appears in type QuotaDistributionConfiguration.
AZResourceLocation is a tuple identifying an AZ resource within a project.
CapacitorConfiguration describes a capacity plugin that is enabled for a certain cluster.
CapacityData contains capacity data for a single project resource.
Cluster contains all configuration and runtime information for the target cluster.
ClusterConfiguration contains all the configuration data for a single cluster.
No description provided by the author
CommitmentGroupNotification contains data for rendering mails notifying about commitment workflows (confirmation or expiration).
CommitmentNotification appears in type CommitmentGroupNotification.
DiscoveryConfiguration describes the method of discovering Keystone domains and projects.
KeystoneDomain describes the basic attributes of a Keystone domain.
KeystoneProject describes the basic attributes of a Keystone project.
MailConfiguration appears in type Configuration.
MailTemplate is a template for notification mails generated by Limes.
MailTemplateConfiguration appears in type Configuration.
QuotaDistributionConfiguration contains configuration options for specifying the QuotaDistributionModel of specific resources.
RateBehavior contains the configuration options for specialized behavior of a single rate (or a set thereof).
RateLimitConfiguration describes a rate limit configuration.
RateNameMapping is like ResourceNameMapping, but for rates instead.
RefInService contains a pair of service type and resource or rate name.
ResourceBehavior contains the configuration options for specialized behaviors of a single resource (or a set thereof).
ResourceData contains quota and usage data for a single project resource.
ResourceNameMapping contains an efficient pre-computed mapping between API-level and DB-level service and resource identifiers.
ServiceConfiguration describes a service that is enabled for a certain cluster.
ServiceInfo is a reduced version of type limes.ServiceInfo, suitable for being returned from func QuotaPlugin.ServiceInfo().
ServiceRateLimitConfiguration describes the global and project-level default rate limit configurations for a service.
TranslationRule appears in type ResourceBehavior.
UsageData contains usage data for a single project resource.
# Interfaces
AZAwareData is an interface for types that can be put into the PerAZ container.
CapacityPlugin is the interface that all capacity collector plugins must implement.
CapacityPluginBackchannel is a callback interface that is provided to CapacityPlugin.Scrape().
DiscoveryPlugin is the interface that the collector uses to discover Keystone projects and domains in a cluster.
QuotaPlugin is the interface that the quota/usage collector plugins for all backend services must implement.
# Type aliases
PerAZ is a container for data that can be reported for each AZ.