832 lines
30 KiB
JSON
832 lines
30 KiB
JSON
{
|
|
"openapi": "3.0.0",
|
|
"info": {
|
|
"title": "Configuration state for the Mixer client library.",
|
|
"version": "client"
|
|
},
|
|
"components": {
|
|
"schemas": {
|
|
"istio.mixer.v1.config.client.HTTPAPISpec": {
|
|
"description": "HTTPAPISpec defines the canonical configuration for generating API-related attributes from HTTP requests based on the method and uri templated path matches. It is sufficient for defining the API surface of a service for the purposes of API attribute generation. It is not intended to represent auth, quota, documentation, or other information commonly found in other API specifications, e.g. OpenAPI.",
|
|
"type": "object",
|
|
"properties": {
|
|
"attributes": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.Attributes"
|
|
},
|
|
"patterns": {
|
|
"description": "List of HTTP patterns to match.",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.HTTPAPISpecPattern"
|
|
}
|
|
},
|
|
"apiKeys": {
|
|
"description": "List of APIKey that describes how to extract an API-KEY from an HTTP request. The first API-Key match found in the list is used, i.e. 'OR' semantics.",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.APIKey"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"istio.mixer.v1.config.client.HTTPAPISpecPattern": {
|
|
"description": "HTTPAPISpecPattern defines a single pattern to match against incoming HTTP requests. The per-pattern list of attributes is generated if both the http_method and uri_template match. In addition, the top-level list of attributes in the HTTPAPISpec is also generated.",
|
|
"type": "object",
|
|
"properties": {
|
|
"attributes": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.Attributes"
|
|
},
|
|
"httpMethod": {
|
|
"description": "HTTP request method to match against as defined by [rfc7231](https://tools.ietf.org/html/rfc7231#page-21). For example: GET, HEAD, POST, PUT, DELETE.",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
},
|
|
"oneOf": [
|
|
{
|
|
"not": {
|
|
"anyOf": [
|
|
{
|
|
"required": [
|
|
"uriTemplate"
|
|
],
|
|
"properties": {
|
|
"uriTemplate": {
|
|
"description": "URI template to match against as defined by [rfc6570](https://tools.ietf.org/html/rfc6570). For example, the following are valid URI templates: /pets /pets/{id} /dictionary/{term:1}/{term} /search{?q*,lang}",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"regex"
|
|
],
|
|
"properties": {
|
|
"regex": {
|
|
"description": "RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax)",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"uriTemplate"
|
|
],
|
|
"properties": {
|
|
"uriTemplate": {
|
|
"description": "URI template to match against as defined by [rfc6570](https://tools.ietf.org/html/rfc6570). For example, the following are valid URI templates: /pets /pets/{id} /dictionary/{term:1}/{term} /search{?q*,lang}",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"regex"
|
|
],
|
|
"properties": {
|
|
"regex": {
|
|
"description": "RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax)",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"istio.mixer.v1.config.client.APIKey": {
|
|
"description": "APIKey defines the explicit configuration for generating the `request.api_key` attribute from HTTP requests.",
|
|
"type": "object",
|
|
"oneOf": [
|
|
{
|
|
"not": {
|
|
"anyOf": [
|
|
{
|
|
"required": [
|
|
"query"
|
|
],
|
|
"properties": {
|
|
"query": {
|
|
"description": "API Key is sent as a query parameter. `query` represents the query string parameter name.",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"header"
|
|
],
|
|
"properties": {
|
|
"header": {
|
|
"description": "API key is sent in a request header. `header` represents the header name.",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"cookie"
|
|
],
|
|
"properties": {
|
|
"cookie": {
|
|
"description": "API key is sent in a [cookie](https://swagger.io/docs/specification/authentication/cookie-authentication),",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"query"
|
|
],
|
|
"properties": {
|
|
"query": {
|
|
"description": "API Key is sent as a query parameter. `query` represents the query string parameter name.",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"header"
|
|
],
|
|
"properties": {
|
|
"header": {
|
|
"description": "API key is sent in a request header. `header` represents the header name.",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"cookie"
|
|
],
|
|
"properties": {
|
|
"cookie": {
|
|
"description": "API key is sent in a [cookie](https://swagger.io/docs/specification/authentication/cookie-authentication),",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"istio.mixer.v1.config.client.HTTPAPISpecReference": {
|
|
"description": "HTTPAPISpecReference defines a reference to an HTTPAPISpec. This is typically used for establishing bindings between an HTTPAPISpec and an IstioService. For example, the following defines an HTTPAPISpecReference for service `foo` in namespace `bar`.",
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"description": "The short name of the HTTPAPISpec. This is the resource name defined by the metadata name field.",
|
|
"type": "string",
|
|
"format": "string"
|
|
},
|
|
"namespace": {
|
|
"description": "Optional namespace of the HTTPAPISpec. Defaults to the encompassing HTTPAPISpecBinding's metadata namespace field.",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
},
|
|
"istio.mixer.v1.config.client.HTTPAPISpecBinding": {
|
|
"description": "HTTPAPISpecBinding defines the binding between HTTPAPISpecs and one or more IstioService. For example, the following establishes a binding between the HTTPAPISpec `petstore` and service `foo` in namespace `bar`.",
|
|
"type": "object",
|
|
"properties": {
|
|
"services": {
|
|
"description": "One or more services to map the listed HTTPAPISpec onto.",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.IstioService"
|
|
}
|
|
},
|
|
"apiSpecs": {
|
|
"description": "One or more HTTPAPISpec references that should be mapped to the specified service(s). The aggregate collection of match conditions defined in the HTTPAPISpecs should not overlap.",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.HTTPAPISpecReference"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"istio.mixer.v1.config.client.IstioService": {
|
|
"description": "IstioService identifies a service and optionally service version. The FQDN of the service is composed from the name, namespace, and implementation-specific domain suffix (e.g. on Kubernetes, \"reviews\" + \"default\" + \"svc.cluster.local\" -\u003e \"reviews.default.svc.cluster.local\").",
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"description": "The short name of the service such as \"foo\".",
|
|
"type": "string",
|
|
"format": "string"
|
|
},
|
|
"namespace": {
|
|
"description": "Optional namespace of the service. Defaults to value of metadata namespace field.",
|
|
"type": "string",
|
|
"format": "string"
|
|
},
|
|
"domain": {
|
|
"description": "Domain suffix used to construct the service FQDN in implementations that support such specification.",
|
|
"type": "string",
|
|
"format": "string"
|
|
},
|
|
"service": {
|
|
"description": "The service FQDN.",
|
|
"type": "string",
|
|
"format": "string"
|
|
},
|
|
"labels": {
|
|
"description": "Optional one or more labels that uniquely identify the service version.",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"istio.mixer.v1.config.client.NetworkFailPolicy": {
|
|
"description": "Specifies the behavior when the client is unable to connect to Mixer.",
|
|
"type": "object",
|
|
"properties": {
|
|
"policy": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.NetworkFailPolicy.FailPolicy"
|
|
},
|
|
"maxRetry": {
|
|
"description": "Max retries on transport error.",
|
|
"type": "integer"
|
|
},
|
|
"baseRetryWait": {
|
|
"description": "Base time to wait between retries. Will be adjusted by exponential backoff and jitter.",
|
|
"type": "string"
|
|
},
|
|
"maxRetryWait": {
|
|
"description": "Max time to wait between retries.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"istio.mixer.v1.config.client.NetworkFailPolicy.FailPolicy": {
|
|
"description": "Describes the policy.",
|
|
"type": "string",
|
|
"enum": [
|
|
"FAIL_OPEN",
|
|
"FAIL_CLOSE"
|
|
]
|
|
},
|
|
"istio.mixer.v1.config.client.ServiceConfig": {
|
|
"description": "Defines the per-service client configuration.",
|
|
"type": "object",
|
|
"properties": {
|
|
"disableCheckCalls": {
|
|
"description": "If true, do not call Mixer Check.",
|
|
"type": "boolean"
|
|
},
|
|
"disableReportCalls": {
|
|
"description": "If true, do not call Mixer Report.",
|
|
"type": "boolean"
|
|
},
|
|
"mixerAttributes": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.Attributes"
|
|
},
|
|
"httpApiSpec": {
|
|
"description": "HTTP API specifications to generate API attributes.",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.HTTPAPISpec"
|
|
}
|
|
},
|
|
"quotaSpec": {
|
|
"description": "Quota specifications to generate quota requirements.",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.QuotaSpec"
|
|
}
|
|
},
|
|
"networkFailPolicy": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.NetworkFailPolicy"
|
|
},
|
|
"forwardAttributes": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.Attributes"
|
|
}
|
|
}
|
|
},
|
|
"istio.mixer.v1.config.client.QuotaSpec": {
|
|
"description": "Determines the quotas used for individual requests.",
|
|
"type": "object",
|
|
"properties": {
|
|
"rules": {
|
|
"description": "A list of Quota rules.",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.QuotaRule"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"istio.mixer.v1.config.client.TransportConfig": {
|
|
"description": "Defines the transport config on how to call Mixer.",
|
|
"type": "object",
|
|
"properties": {
|
|
"networkFailPolicy": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.NetworkFailPolicy"
|
|
},
|
|
"disableCheckCache": {
|
|
"description": "The flag to disable check cache.",
|
|
"type": "boolean"
|
|
},
|
|
"disableQuotaCache": {
|
|
"description": "The flag to disable quota cache.",
|
|
"type": "boolean"
|
|
},
|
|
"disableReportBatch": {
|
|
"description": "The flag to disable report batch.",
|
|
"type": "boolean"
|
|
},
|
|
"statsUpdateInterval": {
|
|
"description": "Specify refresh interval to write Mixer client statistics to Envoy share memory. If not specified, the interval is 10 seconds.",
|
|
"type": "string"
|
|
},
|
|
"checkCluster": {
|
|
"description": "Name of the cluster that will forward check calls to a pool of mixer servers. Defaults to \"mixer_server\". By using different names for checkCluster and reportCluster, it is possible to have one set of Mixer servers handle check calls, while another set of Mixer servers handle report calls.",
|
|
"type": "string",
|
|
"format": "string"
|
|
},
|
|
"reportCluster": {
|
|
"description": "Name of the cluster that will forward report calls to a pool of mixer servers. Defaults to \"mixer_server\". By using different names for checkCluster and reportCluster, it is possible to have one set of Mixer servers handle check calls, while another set of Mixer servers handle report calls.",
|
|
"type": "string",
|
|
"format": "string"
|
|
},
|
|
"attributesForMixerProxy": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.Attributes"
|
|
},
|
|
"reportBatchMaxEntries": {
|
|
"description": "When disable_report_batch is false, this value specifies the maximum number of requests that are batched in report. If left unspecified, the default value of report_batch_max_entries == 0 will use the hardcoded defaults of istio::mixerclient::ReportOptions.",
|
|
"type": "integer"
|
|
},
|
|
"reportBatchMaxTime": {
|
|
"description": "When disable_report_batch is false, this value specifies the maximum elapsed time a batched report will be sent after a user request is processed. If left unspecified, the default report_batch_max_time == 0 will use the hardcoded defaults of istio::mixerclient::ReportOptions.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"istio.mixer.v1.config.client.HttpClientConfig": {
|
|
"description": "Defines the client config for HTTP.",
|
|
"type": "object",
|
|
"properties": {
|
|
"mixerAttributes": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.Attributes"
|
|
},
|
|
"forwardAttributes": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.Attributes"
|
|
},
|
|
"transport": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.TransportConfig"
|
|
},
|
|
"serviceConfigs": {
|
|
"description": "Map of control configuration indexed by destination.service. This is used to support per-service configuration for cases where a mixerclient serves multiple services.",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.ServiceConfig"
|
|
}
|
|
},
|
|
"defaultDestinationService": {
|
|
"description": "Default destination service name if none was specified in the client request.",
|
|
"type": "string",
|
|
"format": "string"
|
|
},
|
|
"ignoreForwardedAttributes": {
|
|
"description": "Whether or not to use attributes forwarded in the request headers to create the attribute bag to send to mixer. For intra-mesh traffic, this should be set to \"false\". For ingress/egress gateways, this should be set to \"true\".",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"istio.mixer.v1.config.client.TcpClientConfig": {
|
|
"description": "Defines the client config for TCP.",
|
|
"type": "object",
|
|
"properties": {
|
|
"disableCheckCalls": {
|
|
"description": "If set to true, disables Mixer check calls.",
|
|
"type": "boolean"
|
|
},
|
|
"disableReportCalls": {
|
|
"description": "If set to true, disables Mixer check calls.",
|
|
"type": "boolean"
|
|
},
|
|
"mixerAttributes": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.Attributes"
|
|
},
|
|
"transport": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.TransportConfig"
|
|
},
|
|
"connectionQuotaSpec": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.QuotaSpec"
|
|
},
|
|
"reportInterval": {
|
|
"description": "Specify report interval to send periodical reports for long TCP connections. If not specified, the interval is 10 seconds. This interval should not be less than 1 second, otherwise it will be reset to 1 second.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"istio.mixer.v1.config.client.QuotaRule": {
|
|
"description": "Specifies a rule with list of matches and list of quotas. If any clause matched, the list of quotas will be used.",
|
|
"type": "object",
|
|
"properties": {
|
|
"quotas": {
|
|
"description": "The list of quotas to charge.",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.Quota"
|
|
}
|
|
},
|
|
"match": {
|
|
"description": "If empty, match all request. If any of match is true, it is matched.",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.AttributeMatch"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"istio.mixer.v1.config.client.AttributeMatch": {
|
|
"description": "Specifies a match clause to match Istio attributes",
|
|
"type": "object",
|
|
"properties": {
|
|
"clause": {
|
|
"description": "Map of attribute names to StringMatch type. Each map element specifies one condition to match.",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.StringMatch"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"istio.mixer.v1.config.client.Quota": {
|
|
"description": "Specifies a quota to use with quota name and amount.",
|
|
"type": "object",
|
|
"properties": {
|
|
"quota": {
|
|
"description": "The quota name to charge",
|
|
"type": "string",
|
|
"format": "string"
|
|
},
|
|
"charge": {
|
|
"description": "The quota amount to charge",
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
}
|
|
},
|
|
"istio.mixer.v1.config.client.StringMatch": {
|
|
"description": "Describes how to match a given string in HTTP headers. Match is case-sensitive.",
|
|
"type": "object",
|
|
"oneOf": [
|
|
{
|
|
"not": {
|
|
"anyOf": [
|
|
{
|
|
"required": [
|
|
"exact"
|
|
],
|
|
"properties": {
|
|
"exact": {
|
|
"description": "exact string match",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"prefix"
|
|
],
|
|
"properties": {
|
|
"prefix": {
|
|
"description": "prefix-based match",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"regex"
|
|
],
|
|
"properties": {
|
|
"regex": {
|
|
"description": "RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"exact"
|
|
],
|
|
"properties": {
|
|
"exact": {
|
|
"description": "exact string match",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"prefix"
|
|
],
|
|
"properties": {
|
|
"prefix": {
|
|
"description": "prefix-based match",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"regex"
|
|
],
|
|
"properties": {
|
|
"regex": {
|
|
"description": "RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"istio.mixer.v1.config.client.QuotaSpecBinding": {
|
|
"description": "QuotaSpecBinding defines the binding between QuotaSpecs and one or more IstioService.",
|
|
"type": "object",
|
|
"properties": {
|
|
"services": {
|
|
"description": "One or more services to map the listed QuotaSpec onto.",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.IstioService"
|
|
}
|
|
},
|
|
"quotaSpecs": {
|
|
"description": "One or more QuotaSpec references that should be mapped to the specified service(s). The aggregate collection of match conditions defined in the QuotaSpecs should not overlap.",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.config.client.QuotaSpecBinding.QuotaSpecReference"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"istio.mixer.v1.config.client.QuotaSpecBinding.QuotaSpecReference": {
|
|
"description": "QuotaSpecReference uniquely identifies the QuotaSpec used in the Binding.",
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"description": "The short name of the QuotaSpec. This is the resource name defined by the metadata name field.",
|
|
"type": "string",
|
|
"format": "string"
|
|
},
|
|
"namespace": {
|
|
"description": "Optional namespace of the QuotaSpec. Defaults to the value of the metadata namespace field.",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
},
|
|
"istio.mixer.v1.Attributes": {
|
|
"description": "Default attributes to send to Mixer in both Check and Report. This typically includes \"destination.ip\" and \"destination.uid\" attributes.",
|
|
"type": "object",
|
|
"properties": {
|
|
"attributes": {
|
|
"description": "A map of attribute name to its value.",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.Attributes.AttributeValue"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"istio.mixer.v1.Attributes.AttributeValue": {
|
|
"type": "object",
|
|
"oneOf": [
|
|
{
|
|
"not": {
|
|
"anyOf": [
|
|
{
|
|
"required": [
|
|
"stringValue"
|
|
],
|
|
"properties": {
|
|
"stringValue": {
|
|
"description": "Used for values of type STRING, DNS_NAME, EMAIL_ADDRESS, and URI",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"int64Value"
|
|
],
|
|
"properties": {
|
|
"int64Value": {
|
|
"description": "Used for values of type INT64",
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"doubleValue"
|
|
],
|
|
"properties": {
|
|
"doubleValue": {
|
|
"description": "Used for values of type DOUBLE",
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"boolValue"
|
|
],
|
|
"properties": {
|
|
"boolValue": {
|
|
"description": "Used for values of type BOOL",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"bytesValue"
|
|
],
|
|
"properties": {
|
|
"bytesValue": {
|
|
"description": "Used for values of type BYTES",
|
|
"type": "string",
|
|
"format": "binary"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"timestampValue"
|
|
],
|
|
"properties": {
|
|
"timestampValue": {
|
|
"description": "Used for values of type TIMESTAMP",
|
|
"type": "string",
|
|
"format": "dateTime"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"durationValue"
|
|
],
|
|
"properties": {
|
|
"durationValue": {
|
|
"description": "Used for values of type DURATION",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"stringMapValue"
|
|
],
|
|
"properties": {
|
|
"stringMapValue": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.Attributes.StringMap"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"stringValue"
|
|
],
|
|
"properties": {
|
|
"stringValue": {
|
|
"description": "Used for values of type STRING, DNS_NAME, EMAIL_ADDRESS, and URI",
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"int64Value"
|
|
],
|
|
"properties": {
|
|
"int64Value": {
|
|
"description": "Used for values of type INT64",
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"doubleValue"
|
|
],
|
|
"properties": {
|
|
"doubleValue": {
|
|
"description": "Used for values of type DOUBLE",
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"boolValue"
|
|
],
|
|
"properties": {
|
|
"boolValue": {
|
|
"description": "Used for values of type BOOL",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"bytesValue"
|
|
],
|
|
"properties": {
|
|
"bytesValue": {
|
|
"description": "Used for values of type BYTES",
|
|
"type": "string",
|
|
"format": "binary"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"timestampValue"
|
|
],
|
|
"properties": {
|
|
"timestampValue": {
|
|
"description": "Used for values of type TIMESTAMP",
|
|
"type": "string",
|
|
"format": "dateTime"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"durationValue"
|
|
],
|
|
"properties": {
|
|
"durationValue": {
|
|
"description": "Used for values of type DURATION",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"required": [
|
|
"stringMapValue"
|
|
],
|
|
"properties": {
|
|
"stringMapValue": {
|
|
"$ref": "#/components/schemas/istio.mixer.v1.Attributes.StringMap"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"istio.mixer.v1.Attributes.StringMap": {
|
|
"description": "Used for values of type STRING_MAP",
|
|
"type": "object",
|
|
"properties": {
|
|
"entries": {
|
|
"description": "Holds a set of name/value pairs.",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string",
|
|
"format": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |