Break up ugly mixer-config.md and fix other gen issues (#593)

* Break up ugly mixer-config.md and fix other gen issues

* Updates for review comments
This commit is contained in:
Douglas Reid 2017-10-03 08:33:59 -07:00 committed by Shriram Rajagopalan
parent 8d5e296df8
commit 2bc781f14b
12 changed files with 469 additions and 1534 deletions

View File

@ -2,7 +2,7 @@
title: Mixer Service
overview: Generated documentation for Mixer's API Surface
order: 1140
order: 20
layout: docs
type: markdown
@ -60,18 +60,16 @@ both the service operator as well as for service consumers.
<a name="istio.mixer.v1.Mixer.Check"></a>
#### Check
<code>
rpc Check([CheckRequest](#istio.mixer.v1.CheckRequest)) returns ([CheckResponse](#istio.mixer.v1.CheckResponse))
</code>
<pre> rpc Check(<a href="#istio.mixer.v1.CheckRequest">CheckRequest</a>) returns (<a href="istio.mixer.v1.CheckResponse">CheckResponse</a>) </pre>
Checks preconditions and allocate quota before performing an operation.
The preconditions enforced depend on the set of supplied attributes and
the active configuration.
<a name="istio.mixer.v1.Mixer.Report"></a>
#### Report
<code>
rpc Report([ReportRequest](#istio.mixer.v1.ReportRequest)) returns ([ReportResponse](#istio.mixer.v1.ReportResponse))
</code>
<pre> rpc Report(<a href="#istio.mixer.v1.ReportRequest">ReportRequest</a>) returns (<a href="#istio.mixer.v1.ReportResponse">ReportResponse</a>) </pre>
Reports telemetry, such as logs and metrics.
The reported information depends on the set of supplied attributes and the
active configuration.
@ -396,9 +394,9 @@ How an attribute's value was matched
<th>Value</th>
<th>Description</th>
</tr>
<a name="istio.mixer.v1.ReferencedAttributes.Condition.CONDITIONUNSPECIFIED"></a>
<a name="istio.mixer.v1.ReferencedAttributes.Condition.CONDITION_UNSPECIFIED"></a>
<tr>
<td>CONDITIONUNSPECIFIED</td>
<td>CONDITION_UNSPECIFIED</td>
<td>should not occur</td>
</tr>
<a name="istio.mixer.v1.ReferencedAttributes.Condition.ABSENCE"></a>

View File

@ -1,5 +1,5 @@
---
title: Mixer Adapters
title: Adapters
overview: Generated documentation for Mixer's adapters.
order: 40

View File

@ -90,14 +90,14 @@ type: markdown
<td>STRINGS</td>
<td>List entries are treated as plain strings.</td>
</tr>
<a name="adapter.list.config.Params.ListEntryType.CASEINSENSITIVESTRINGS"></a>
<a name="adapter.list.config.Params.ListEntryType.CASE_INSENSITIVE_STRINGS"></a>
<tr>
<td>CASEINSENSITIVESTRINGS</td>
<td>CASE_INSENSITIVE_STRINGS</td>
<td>List entries are treated as case-insensitive strings.</td>
</tr>
<a name="adapter.list.config.Params.ListEntryType.IPADDRESSES"></a>
<a name="adapter.list.config.Params.ListEntryType.IP_ADDRESSES"></a>
<tr>
<td>IPADDRESSES</td>
<td>IP_ADDRESSES</td>
<td>List entries are treated as IP addresses and ranges.</td>
</tr>
</table>

View File

@ -0,0 +1,172 @@
---
title: Attribute Manifests
overview: Describes the resource containing the collection of attributes known to Mixer at runtime.
order: 15
layout: docs
type: markdown
---
{% include home.html %}
### Index
* [AttributeManifest](#istio.mixer.v1.config.AttributeManifest)
(message)
* [AttributeInfo](#istio.mixer.v1.config.AttributeManifest.AttributeInfo)
(message)
<a name="istio.mixer.v1.config.AttributeManifest"></a>
### AttributeManifest
AttributeManifest describes a set of Attributes produced by some component of an
Istio deployment. They encode information about attribute names and types. They
are used by Mixer to validate configuration supplied by the operator at runtime.
<table>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
<a name="istio.mixer.v1.config.AttributeManifest.revision"></a>
<tr>
<td><code>revision</code></td>
<td>string</td>
<td>Optional. The revision of this document. Assigned by server.</td>
</tr>
<a name="istio.mixer.v1.config.AttributeManifest.name"></a>
<tr>
<td><code>name</code></td>
<td>string</td>
<td>Required. Name of the component producing these attributes. This can be the proxy (with the canonical name "istio-proxy") or the name of an <code>attributes</code> kind adapter in Mixer.</td>
</tr>
<a name="istio.mixer.v1.config.AttributeManifest.attributes"></a>
<tr>
<td><code>attributes</code></td>
<td>repeated map&lt;string, <a href="#istio.mixer.v1.config.AttributeManifest.AttributeInfo">AttributeInfo</a>&gt;</td>
<td><p>The set of attributes this Istio component will be responsible for producing at runtime. We map from attribute name to the attribute's specification. The name of an attribute, which is how attributes are referred to in aspect configuration, must conform to:</p>
<pre><code>Name = IDENT { SEPARATOR IDENT };
</code></pre><p>Where <code>IDENT</code> must match the regular expression <code>[a-z][a-z0-9]+</code> and <code>SEPARATOR</code> must match the regular expression <code>[\.-]</code>.</p><p>Attribute names must be unique within a single Istio deployment. The set of canonical attributes are described at <a href="https://istio.io/docs/reference/config/mixer/attribute-vocabulary.html">https://istio.io/docs/reference/config/mixer/attribute-vocabulary.html</a>. Attributes not in that list should be named with a component-specific suffix such as request.count-my.component</p></td>
</tr>
</table>
<a name="istio.mixer.v1.config.AttributeManifest.AttributeInfo"></a>
### AttributeInfo
AttributeInfo describes the schema of an Istio `Attribute`.
<table>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
<a name="istio.mixer.v1.config.AttributeManifest.AttributeInfo.description"></a>
<tr>
<td><code>description</code></td>
<td>string</td>
<td>Optional. A human-readable description of the attribute's purpose.</td>
</tr>
<a name="istio.mixer.v1.config.AttributeManifest.AttributeInfo.valueType"></a>
<tr>
<td><code>valueType</code></td>
<td><a href="{{home}}/docs/reference/config/mixer/value-type.html#istio.mixer.v1.config.descriptor.ValueType">ValueType</a></td>
<td>Required. The type of data carried by this attribute.</td>
</tr>
</table>
<a name="rpcIstio.mixer.v1.configIstio.mixer.v1.config.AttributeManifest.AttributeInfoDescriptionSubsectionSubsection"></a>
#### Istio Attributes
Istio uses `attributes` to describe runtime activities of Istio services.
An Istio attribute carries a specific piece of information about an activity,
such as the error code of an API request, the latency of an API request, or the
original IP address of a TCP connection. The attributes are often generated
and consumed by different services. For example, a frontend service can
generate an authenticated user attribute and pass it to a backend service for
access control purpose.
To simplify the system and improve developer experience, Istio uses
shared attribute definitions across all components. For example, the same
authenticated user attribute will be used for logging, monitoring, analytics,
billing, access control, auditing. Many Istio components provide their
functionality by collecting, generating, and operating on attributes.
For example, the proxy collects the error code attribute, and the logging
stores it into a log.
<a name="rpcIstio.mixer.v1.configIstio.mixer.v1.config.AttributeManifest.AttributeInfoDescriptionSubsectionSubsection_1"></a>
#### Design
Each Istio attribute must conform to an `AttributeInfo` in an
`AttributeManifest` in the current Istio deployment at runtime. An
`AttributeInfo` is used to define an attribute's
metadata: the type of its value and a detailed description that explains
the semantics of the attribute type. Each attribute's name is globally unique;
in other words an attribute name can only appear once across all manifests.
The runtime presentation of an attribute is intentionally left out of this
specification, because passing attribute using JSON, XML, or Protocol Buffers
does not change the semantics of the attribute. Different implementations
can choose different representations based on their needs.
<a name="rpcIstio.mixer.v1.configIstio.mixer.v1.config.AttributeManifest.AttributeInfoDescriptionSubsectionSubsection_2"></a>
#### HTTP Mapping
Because many systems already have REST APIs, it makes sense to define a
standard HTTP mapping for Istio attributes that are compatible with typical
REST APIs. The design is to map one attribute to one HTTP header, the
attribute name and value becomes the HTTP header name and value. The actual
encoding scheme will be decided later.
### Custom Resource Definition
```yaml
kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1
metadata:
name: attributemanifests.config.istio.io
labels:
package: istio.io.mixer
istio: core
spec:
group: config.istio.io
names:
kind: attributemanifest
plural: attributemanifests
singular: attributemanifest
scope: Namespaced
version: v1alpha2
```
### Example Manifest
```yaml
apiVersion: "config.istio.io/v1alpha2"
kind: attributemanifest
metadata:
name: kubernetes
namespace: istio-system
spec:
attributes:
source.ip:
valueType: IP_ADDRESS
source.labels:
valueType: STRING_MAP
source.name:
valueType: STRING
source.namespace:
valueType: STRING
source.service:
valueType: STRING
source.serviceAccount:
valueType: STRING
destination.ip:
valueType: IP_ADDRESS
destination.labels:
valueType: STRING_MAP
destination.name:
valueType: STRING
destination.namespace:
valueType: STRING
destination.service:
valueType: STRING
destination.serviceAccount:
valueType: STRING
```

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,190 @@
---
title: Policy and Telemetry Rules
overview: Describes the rules used to configure Mixer policy and telemetry.
order: 40
layout: docs
type: markdown
---
{% include home.html %}
<a name="rpcIstio.mixer.v1.configIndex"></a>
### Index
* [Rule](#istio.mixer.v1.config.Rule)
(message)
* [Action](#istio.mixer.v1.config.Action)
(message)
* [Handler](#istio.mixer.v1.config.Handler)
(message)
* [Instance](#istio.mixer.v1.config.Instance)
(message)
<a name="istio.mixer.v1.config.Rule"></a>
### Rule
A Rule is a selector and a set of intentions to be executed when the
selector evaluates to `true`.
<table>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
<a name="istio.mixer.v1.config.Rule.match"></a>
<tr>
<td><code>match</code></td>
<td>string</td>
<td><p>Required. Match is an attribute based predicate. When Mixer receives a request it evaluates the match expression and executes all the associated <code>actions</code> if the match evaluates to true.</p><p>A few example match:</p>
<ul>
<li>an empty match evaluates to <code>true</code></li>
<li><code>true</code>, a boolean literal; a rule with this match will always be executed</li>
<li><code>destination.service == ratings*</code> selects any request targeting a service whose name starts with "ratings"</li>
<li><code>attr1 == &quot;20&quot; &amp;&amp; attr2 == &quot;30&quot;</code> logical AND, OR, and NOT are also available</li>
</ul></td>
</tr>
<a name="istio.mixer.v1.config.Rule.actions"></a>
<tr>
<td><code>actions[]</code></td>
<td>repeated <a href="#istio.mixer.v1.config.Action">Action</a></td>
<td>Optional. The actions that will be executed when match evaluates to <code>true</code>.</td>
</tr>
</table>
The following example instructs Mixer to invoke 'handler.prometheus' handler for
all services and pass it the instance constructed using the
`RequestCount` metric instance.
```yaml
apiVersion: "config.istio.io/v1alpha2"
kind: rule
metadata:
name: promcount
namespace: istio-system
spec:
- match: destination.service == "*"
actions:
- handler: handler.prometheus
instances:
- RequestCount.metric
```
#### Custom Resource Definition
```yaml
kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1
metadata:
name: rules.config.istio.io
labels:
package: istio.io.mixer
istio: core
spec:
group: config.istio.io
names:
kind: rule
plural: rules
singular: rule
scope: Namespaced
version: v1alpha2
```
<a name="istio.mixer.v1.config.Action"></a>
### Action
Action describes which [Handler](#istio.mixer.v1.config.Handler) to invoke and
what data to pass to it for processing.
<table>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
<a name="istio.mixer.v1.config.Action.handler"></a>
<tr>
<td><code>handler</code></td>
<td>string</td>
<td>Required. Fully qualified name of the handler to invoke. Must match the <code>name</code> of a <a href="#istio.mixer.v1.config.Handler">Handler</a>.</td>
</tr>
<a name="istio.mixer.v1.config.Action.instances"></a>
<tr>
<td><code>instances[]</code></td>
<td>repeated string</td>
<td>Required. Each value must match the fully qualified name of the <a href="#istio.mixer.v1.config.Instance">Instance</a>s. Referenced instances are evaluated by resolving the attributes/literals for all the fields. The constructed objects are then passed to the <code>handler</code> referenced within this action.</td>
</tr>
</table>
The following example instructs Mixer to invoke the `handler.prometheus` handler
and pass it the instance constructed using the `RequestCount` metric instance.
```yaml
handler: handler.prometheus
instances:
- RequestCount.metric
```
<a name="istio.mixer.v1.config.Handler"></a>
### Handler
Handler allows the operator to configure a specific adapter implementation.
In the following example we define a `prometheus` handler using the Mixer's
prepackaged [prometheus
adapter]({{home}}/docs/reference/config/mixer/adapters/prometheus.html). Here,
we define how the handler should generate prometheus metrics from the metric
instances provided by Mixer.
```yaml
apiVersion: "config.istio.io/v1alpha2"
kind: prometheus
metadata:
name: handler
namespace: istio-system
spec:
metrics:
- name: request_count
instance_name: RequestCount.metric.istio-system
kind: COUNTER
label_names:
- source_service
- source_version
- destination_service
- destination_version
- response_code
```
<a name="istio.mixer.v1.config.Instance"></a>
### Instance
A Instance tells Mixer how to create values for particular template.
Instance is defined by the operator. Instance is defined relative to a known
template. Their purpose is to tell Mixer how to use attributes or literals to
produce values for the specified template at runtime.
The following example instructs Mixer to construct an instance associated with
[metric template]({{home}}/docs/reference/config/mixer/template/metric.html). It
provides a mapping from the template's fields to expressions. Instances produced
with this instance configuration can be referenced by
[Actions](#istio.mixer.v1.config.Action) using name `RequestCount`.
```yaml
apiVersion: "config.istio.io/v1alpha2"
kind: metric
metadata:
name: RequestCount
namespace: istio-system
spec:
value: "1"
dimensions:
source_service: source.service | "unknown"
source_version: source.labels["version"] | "unknown"
destination_service: destination.service | "unknown"
destination_version: destination.labels["version"] | "unknown"
response_code: response.code | 200
monitored_resource_type: '"UNSPECIFIED"'
```

View File

@ -1,5 +1,5 @@
---
title: Mixer Templates
title: Templates
overview: Generated documentation for Mixer's Templates.
order: 50

View File

@ -1,27 +0,0 @@
---
title: listentry
overview: listentry template configuration schema
order: 0
layout: docs
type: markdown
---
### Params
<table>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
<a name="template.listentry.InstanceParam.value"></a>
<tr>
<td><code>value</code></td>
<td>Value</td>
<td>Specifies the entry to verify in the list.</td>
</tr>
</table>

View File

@ -8,88 +8,6 @@ layout: docs
type: markdown
---
<a name="rpcIstio.mixer.v1.config.descriptorIndex"></a>
### Index
* [ValueType](#istio.mixer.v1.config.descriptor.ValueType)
(enum)
<a name="istio.mixer.v1.config.descriptor.ValueType"></a>
### ValueType
ValueType describes the types that values in the Istio system can take. These
are used to describe the type of Attributes at run time, describe the type of
the result of evaluating an expression, and to describe the runtime type of
fields of other descriptors.
<table>
<tr>
<th>Value</th>
<th>Description</th>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.VALUETYPEUNSPECIFIED"></a>
<tr>
<td>VALUETYPEUNSPECIFIED</td>
<td>Invalid, default value.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.STRING"></a>
<tr>
<td>STRING</td>
<td>An undiscriminated variable-length string.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.INT64"></a>
<tr>
<td>INT64</td>
<td>An undiscriminated 64-bit signed integer.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.DOUBLE"></a>
<tr>
<td>DOUBLE</td>
<td>An undiscriminated 64-bit floating-point value.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.BOOL"></a>
<tr>
<td>BOOL</td>
<td>An undiscriminated boolean value.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.TIMESTAMP"></a>
<tr>
<td>TIMESTAMP</td>
<td>A point in time.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.IPADDRESS"></a>
<tr>
<td>IPADDRESS</td>
<td>An IP address.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.EMAILADDRESS"></a>
<tr>
<td>EMAILADDRESS</td>
<td>An email address.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.URI"></a>
<tr>
<td>URI</td>
<td>A URI.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.DNSNAME"></a>
<tr>
<td>DNSNAME</td>
<td>A DNS name.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.DURATION"></a>
<tr>
<td>DURATION</td>
<td>A span between two points in time.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.STRINGMAP"></a>
<tr>
<td>STRINGMAP</td>
<td>A map string -&gt; string, typically used by headers.</td>
</tr>
</table>
<a name="rpcLogentry"></a>
## Package logentry
@ -141,7 +59,7 @@ spec:
<a name="logentry.Template.variables"></a>
<tr>
<td><code>variables</code></td>
<td>repeated map&lt;string, <a href="#istio.mixer.v1.config.descriptor.ValueType">ValueType</a>&gt;</td>
<td>repeated map&lt;string, <a href="{{home}}/docs/reference/config/mixer/value-type.html#istio.mixer.v1.config.descriptor.ValueType">ValueType</a>&gt;</td>
<td>Variables that are delivered for each log entry.</td>
</tr>
<a name="logentry.Template.timestamp"></a>
@ -165,7 +83,7 @@ spec:
<a name="logentry.Template.monitoredResourceDimensions"></a>
<tr>
<td><code>monitoredResourceDimensions</code></td>
<td>repeated map&lt;string, <a href="#istio.mixer.v1.config.descriptor.ValueType">ValueType</a>&gt;</td>
<td>repeated map&lt;string, <a href="{{home}}/docs/reference/config/mixer/value-type.html#istio.mixer.v1.config.descriptor.ValueType">ValueType</a>&gt;</td>
<td>Optional. A set of expressions that will form the dimensions of the monitored resource this log entry is being recorded on. If the logging backend supports monitored resources, these fields are used to populate that resource. Otherwise these fields will be ignored by the adapter.</td>
</tr>
</table>

View File

@ -8,88 +8,6 @@ layout: docs
type: markdown
---
<a name="rpcIstio.mixer.v1.config.descriptorIndex"></a>
### Index
* [ValueType](#istio.mixer.v1.config.descriptor.ValueType)
(enum)
<a name="istio.mixer.v1.config.descriptor.ValueType"></a>
### ValueType
ValueType describes the types that values in the Istio system can take. These
are used to describe the type of Attributes at run time, describe the type of
the result of evaluating an expression, and to describe the runtime type of
fields of other descriptors.
<table>
<tr>
<th>Value</th>
<th>Description</th>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.VALUETYPEUNSPECIFIED"></a>
<tr>
<td>VALUETYPEUNSPECIFIED</td>
<td>Invalid, default value.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.STRING"></a>
<tr>
<td>STRING</td>
<td>An undiscriminated variable-length string.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.INT64"></a>
<tr>
<td>INT64</td>
<td>An undiscriminated 64-bit signed integer.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.DOUBLE"></a>
<tr>
<td>DOUBLE</td>
<td>An undiscriminated 64-bit floating-point value.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.BOOL"></a>
<tr>
<td>BOOL</td>
<td>An undiscriminated boolean value.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.TIMESTAMP"></a>
<tr>
<td>TIMESTAMP</td>
<td>A point in time.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.IPADDRESS"></a>
<tr>
<td>IPADDRESS</td>
<td>An IP address.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.EMAILADDRESS"></a>
<tr>
<td>EMAILADDRESS</td>
<td>An email address.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.URI"></a>
<tr>
<td>URI</td>
<td>A URI.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.DNSNAME"></a>
<tr>
<td>DNSNAME</td>
<td>A DNS name.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.DURATION"></a>
<tr>
<td>DURATION</td>
<td>A span between two points in time.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.STRINGMAP"></a>
<tr>
<td>STRINGMAP</td>
<td>A map string -&gt; string, typically used by headers.</td>
</tr>
</table>
<a name="rpcMetric"></a>
## Package metric
@ -135,13 +53,13 @@ spec:
<a name="metric.Template.value"></a>
<tr>
<td><code>value</code></td>
<td><a href="#istio.mixer.v1.config.descriptor.ValueType">ValueType</a></td>
<td><a href="{{home}}/docs/reference/config/mixer/value-type.html#istio.mixer.v1.config.descriptor.ValueType">ValueType</a></td>
<td>The value being reported.</td>
</tr>
<a name="metric.Template.dimensions"></a>
<tr>
<td><code>dimensions</code></td>
<td>repeated map&lt;string, <a href="#istio.mixer.v1.config.descriptor.ValueType">ValueType</a>&gt;</td>
<td>repeated map&lt;string, <a href="{{home}}/docs/reference/config/mixer/value-type.html#istio.mixer.v1.config.descriptor.ValueType">ValueType</a>&gt;</td>
<td>The unique identity of the particular metric to report.</td>
</tr>
<a name="metric.Template.monitoredResourceType"></a>
@ -153,7 +71,7 @@ spec:
<a name="metric.Template.monitoredResourceDimensions"></a>
<tr>
<td><code>monitoredResourceDimensions</code></td>
<td>repeated map&lt;string, <a href="#istio.mixer.v1.config.descriptor.ValueType">ValueType</a>&gt;</td>
<td>repeated map&lt;string, <a href="{{home}}/docs/reference/config/mixer/value-type.html#istio.mixer.v1.config.descriptor.ValueType">ValueType</a>&gt;</td>
<td>Optional. A set of expressions that will form the dimensions of the monitored resource this metric is being reported on. If the metric backend supports monitored resources, these fields are used to populate that resource. Otherwise these fields will be ignored by the adapter.</td>
</tr>
</table>

View File

@ -8,88 +8,6 @@ layout: docs
type: markdown
---
<a name="rpcIstio.mixer.v1.config.descriptorIndex"></a>
### Index
* [ValueType](#istio.mixer.v1.config.descriptor.ValueType)
(enum)
<a name="istio.mixer.v1.config.descriptor.ValueType"></a>
### ValueType
ValueType describes the types that values in the Istio system can take. These
are used to describe the type of Attributes at run time, describe the type of
the result of evaluating an expression, and to describe the runtime type of
fields of other descriptors.
<table>
<tr>
<th>Value</th>
<th>Description</th>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.VALUETYPEUNSPECIFIED"></a>
<tr>
<td>VALUETYPEUNSPECIFIED</td>
<td>Invalid, default value.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.STRING"></a>
<tr>
<td>STRING</td>
<td>An undiscriminated variable-length string.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.INT64"></a>
<tr>
<td>INT64</td>
<td>An undiscriminated 64-bit signed integer.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.DOUBLE"></a>
<tr>
<td>DOUBLE</td>
<td>An undiscriminated 64-bit floating-point value.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.BOOL"></a>
<tr>
<td>BOOL</td>
<td>An undiscriminated boolean value.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.TIMESTAMP"></a>
<tr>
<td>TIMESTAMP</td>
<td>A point in time.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.IPADDRESS"></a>
<tr>
<td>IPADDRESS</td>
<td>An IP address.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.EMAILADDRESS"></a>
<tr>
<td>EMAILADDRESS</td>
<td>An email address.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.URI"></a>
<tr>
<td>URI</td>
<td>A URI.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.DNSNAME"></a>
<tr>
<td>DNSNAME</td>
<td>A DNS name.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.DURATION"></a>
<tr>
<td>DURATION</td>
<td>A span between two points in time.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.STRINGMAP"></a>
<tr>
<td>STRINGMAP</td>
<td>A map string -&gt; string, typically used by headers.</td>
</tr>
</table>
<a name="rpcQuota"></a>
## Package quota
@ -132,7 +50,7 @@ spec:
<a name="quota.Template.dimensions"></a>
<tr>
<td><code>dimensions</code></td>
<td>repeated map&lt;string, <a href="#istio.mixer.v1.config.descriptor.ValueType">ValueType</a>&gt;</td>
<td>repeated map&lt;string, <a href="{{home}}/docs/reference/config/mixer/value-type.html#istio.mixer.v1.config.descriptor.ValueType">ValueType</a>&gt;</td>
<td>The unique identity of the particular quota to manipulate.</td>
</tr>
</table>

View File

@ -0,0 +1,88 @@
---
title: Value Type
overview: Generated documentation for Mixer Config's Value Type
order: 50
layout: docs
type: markdown
---
### Index
* [ValueType](#istio.mixer.v1.config.descriptor.ValueType)
(enum)
<a name="istio.mixer.v1.config.descriptor.ValueType"></a>
### ValueType
ValueType describes the types that values in the Istio system can take. These
are used to describe the type of Attributes at run time, describe the type of
the result of evaluating an expression, and to describe the runtime type of
fields of templates.
<table>
<tr>
<th>Value</th>
<th>Description</th>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.VALUE_TYPE_UNSPECIFIED"></a>
<tr>
<td>VALUE_TYPE_UNSPECIFIED</td>
<td>Invalid, default value.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.STRING"></a>
<tr>
<td>STRING</td>
<td>An undiscriminated variable-length string.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.INT64"></a>
<tr>
<td>INT64</td>
<td>An undiscriminated 64-bit signed integer.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.DOUBLE"></a>
<tr>
<td>DOUBLE</td>
<td>An undiscriminated 64-bit floating-point value.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.BOOL"></a>
<tr>
<td>BOOL</td>
<td>An undiscriminated boolean value.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.TIMESTAMP"></a>
<tr>
<td>TIMESTAMP</td>
<td>A point in time.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.IP_ADDRESS"></a>
<tr>
<td>IP_ADDRESS</td>
<td>An IP address. Encoded as bytes.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.EMAIL_ADDRESS"></a>
<tr>
<td>EMAIL_ADDRESS</td>
<td>An email address.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.URI"></a>
<tr>
<td>URI</td>
<td>A URI.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.DNS_NAME"></a>
<tr>
<td>DNS_NAME</td>
<td>A DNS name.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.DURATION"></a>
<tr>
<td>DURATION</td>
<td>A span between two points in time.</td>
</tr>
<a name="istio.mixer.v1.config.descriptor.ValueType.STRING_MAP"></a>
<tr>
<td>STRING_MAP</td>
<td>A map string -&gt; string, typically used by headers.</td>
</tr>
</table>