mirror of https://github.com/istio/istio.io.git
160 lines
5.3 KiB
HTML
160 lines
5.3 KiB
HTML
---
|
|
title: Quota
|
|
description: A template that represents a quota allocation request
|
|
location: https://istio.io/docs/reference/config/policy-and-telemetry/templates/quota.html
|
|
layout: protoc-gen-docs
|
|
generator: protoc-gen-docs
|
|
aliases:
|
|
- /docs/reference/config/template/quota.html
|
|
number_of_entries: 2
|
|
---
|
|
<p>The <code>quota</code> template represents an item for which to check quota.</p>
|
|
|
|
<p>Example config:</p>
|
|
|
|
<pre><code>apiVersion: "config.istio.io/v1alpha2"
|
|
kind: quota
|
|
metadata:
|
|
name: requestcount
|
|
namespace: istio-system
|
|
spec:
|
|
dimensions:
|
|
source: source.labels["app"] | source.service | "unknown"
|
|
sourceVersion: source.labels["version"] | "unknown"
|
|
destination: destination.labels["app"] | destination.service | "unknown"
|
|
destinationVersion: destination.labels["version"] | "unknown"
|
|
</code></pre>
|
|
|
|
<h2 id="Template">Template</h2>
|
|
<section>
|
|
<p>The <code>quota</code> template represents a piece of data to check Quota for.</p>
|
|
|
|
<p>When writing the configuration, the value for the fields associated with this template can either be a
|
|
literal or an <a href="/docs/reference//config/policy-and-telemetry/expression-language/">expression</a>. Please note that if the datatype of a field is not istio.policy.v1beta1.Value,
|
|
then the expression’s <a href="/docs/reference//config/policy-and-telemetry/expression-language/#type-checking">inferred type</a> must match the datatype of the field.</p>
|
|
|
|
<table class="message-fields">
|
|
<thead>
|
|
<tr>
|
|
<th>Field</th>
|
|
<th>Type</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr id="Template-dimensions">
|
|
<td><code>dimensions</code></td>
|
|
<td><code>map<string, <a href="#istio-policy-v1beta1-Value">istio.policy.v1beta1.Value</a>></code></td>
|
|
<td>
|
|
<p>The unique identity of the particular quota to manipulate.</p>
|
|
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</section>
|
|
<h2 id="istio-policy-v1beta1-Value">istio.policy.v1beta1.Value</h2>
|
|
<section>
|
|
<p>An instance field of type Value denotes that the expression for the field is of dynamic type and can evalaute to any
|
|
<em>ValueType</em> enum values. For example, when
|
|
authoring an instance configuration for a template that has a field <code>data</code> of type <code>istio.policy.v1beta1.Value</code>,
|
|
both of the following expressions are valid <code>data: source.ip | ip("0.0.0.0")</code>, <code>data: request.id | ""</code>;
|
|
the resulting type is either ValueType.IP_ADDRESS or ValueType.STRING for the two cases respectively.</p>
|
|
|
|
<p>Objects of type Value are also passed to the adapters during request-time. There is a 1:1 mapping between
|
|
oneof fields in <code>Value</code> and enum values inside <code>ValueType</code>. Depending on the expression’s evaluated <code>ValueType</code>,
|
|
the equivalent oneof field in <code>Value</code> is populated by Mixer and passed to the adapters.</p>
|
|
|
|
<table class="message-fields">
|
|
<thead>
|
|
<tr>
|
|
<th>Field</th>
|
|
<th>Type</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr id="istio-policy-v1beta1-Value-string_value" class="oneof oneof-start">
|
|
<td><code>stringValue</code></td>
|
|
<td><code>string (oneof)</code></td>
|
|
<td>
|
|
<p>Used for values of type STRING</p>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr id="istio-policy-v1beta1-Value-int64_value" class="oneof">
|
|
<td><code>int64Value</code></td>
|
|
<td><code>int64 (oneof)</code></td>
|
|
<td>
|
|
<p>Used for values of type INT64</p>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr id="istio-policy-v1beta1-Value-double_value" class="oneof">
|
|
<td><code>doubleValue</code></td>
|
|
<td><code>double (oneof)</code></td>
|
|
<td>
|
|
<p>Used for values of type DOUBLE</p>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr id="istio-policy-v1beta1-Value-bool_value" class="oneof">
|
|
<td><code>boolValue</code></td>
|
|
<td><code>bool (oneof)</code></td>
|
|
<td>
|
|
<p>Used for values of type BOOL</p>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr id="istio-policy-v1beta1-Value-ip_address_value" class="oneof">
|
|
<td><code>ipAddressValue</code></td>
|
|
<td><code><a href="#istio-policy-v1beta1-IPAddress">istio.policy.v1beta1.IPAddress (oneof)</a></code></td>
|
|
<td>
|
|
<p>Used for values of type IPAddress</p>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr id="istio-policy-v1beta1-Value-timestamp_value" class="oneof">
|
|
<td><code>timestampValue</code></td>
|
|
<td><code><a href="#istio-policy-v1beta1-TimeStamp">istio.policy.v1beta1.TimeStamp (oneof)</a></code></td>
|
|
<td>
|
|
<p>Used for values of type TIMESTAMP</p>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr id="istio-policy-v1beta1-Value-duration_value" class="oneof">
|
|
<td><code>durationValue</code></td>
|
|
<td><code><a href="#istio-policy-v1beta1-Duration">istio.policy.v1beta1.Duration (oneof)</a></code></td>
|
|
<td>
|
|
<p>Used for values of type DURATION</p>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr id="istio-policy-v1beta1-Value-email_address_value" class="oneof">
|
|
<td><code>emailAddressValue</code></td>
|
|
<td><code><a href="#istio-policy-v1beta1-EmailAddress">istio.policy.v1beta1.EmailAddress (oneof)</a></code></td>
|
|
<td>
|
|
<p>Used for values of type EmailAddress</p>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr id="istio-policy-v1beta1-Value-dns_name_value" class="oneof">
|
|
<td><code>dnsNameValue</code></td>
|
|
<td><code><a href="#istio-policy-v1beta1-DNSName">istio.policy.v1beta1.DNSName (oneof)</a></code></td>
|
|
<td>
|
|
<p>Used for values of type DNSName</p>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr id="istio-policy-v1beta1-Value-uri_value" class="oneof">
|
|
<td><code>uriValue</code></td>
|
|
<td><code><a href="#istio-policy-v1beta1-Uri">istio.policy.v1beta1.Uri (oneof)</a></code></td>
|
|
<td>
|
|
<p>Used for values of type Uri</p>
|
|
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</section>
|