
//  Copyright 2017 Istio Authors
// 
//    Licensed under the Apache License, Version 2.0 (the "License");
//    you may not use this file except in compliance with the License.
//    You may obtain a copy of the License at
// 
//        http://www.apache.org/licenses/LICENSE-2.0
// 
//    Unless required by applicable law or agreed to in writing, software
//    distributed under the License is distributed on an "AS IS" BASIS,
//    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//    See the License for the specific language governing permissions and
//    limitations under the License.

//  $title: Mixer Client
//  $description: Configuration state for the Mixer client library.
//  $location: https://istio.io/docs/reference/config/policy-and-telemetry/istio.mixer.v1.config.client

//  Describes the configuration state for the Mixer client library that's built into Envoy.
package client

import (
	"istio.io/api/mixer/v1"
	"time"
)

//  Specifies the behavior when the client is unable to connect to Mixer.
NetworkFailPolicy: {

	//  Specifies the behavior when the client is unable to connect to Mixer.
	policy?: NetworkFailPolicy_FailPolicy @protobuf(1,type=FailPolicy)

	//  Max retries on transport error.
	maxRetry?: uint32 @protobuf(2,name=max_retry)

	//  Base time to wait between retries.  Will be adjusted by exponential
	//  backoff and jitter.
	baseRetryWait?: time.Duration @protobuf(3,type=google.protobuf.Duration,name=base_retry_wait)

	//  Max time to wait between retries.
	maxRetryWait?: time.Duration @protobuf(4,type=google.protobuf.Duration,name=max_retry_wait)
}

//  Example of single-value enum.
NetworkFailPolicy_FailPolicy:
	//  If network connection fails, request is allowed and delivered to the
	//  service.
	"FAIL_OPEN"

NetworkFailPolicy_FailPolicy_value FAIL_OPEN: 0

//  Defines the per-service client configuration.
ServiceConfig: {
	//  If true, do not call Mixer Check.
	disableCheckCalls?: bool @protobuf(1,name=disable_check_calls)

	//  If true, do not call Mixer Report.
	disableReportCalls?: bool @protobuf(2,name=disable_report_calls)

	//  Send these attributes to Mixer in both Check and Report. This
	//  typically includes the "destination.service" attribute.
	//  In case of a per-route override, per-route attributes take precedence
	//  over the attributes supplied in the client configuration.
	mixerAttributes?: v1.Attributes @protobuf(3,type=Attributes,name=mixer_attributes)

	//  HTTP API specifications to generate API attributes.
	httpApiSpec?: [...HTTPAPISpec] @protobuf(4,name=http_api_spec)

	//  Quota specifications to generate quota requirements.
	quotaSpec?: [...QuotaSpec] @protobuf(5,name=quota_spec)

	//  Specifies the behavior when the client is unable to connect to Mixer.
	//  This is the service-level policy. It overrides
	//  [mesh-level
	//  policy][istio.mixer.v1.config.client.TransportConfig.network_fail_policy].
	networkFailPolicy?: NetworkFailPolicy @protobuf(7,name=network_fail_policy)

	//  Default attributes to forward to upstream. This typically
	//  includes the "source.ip" and "source.uid" attributes.
	//  In case of a per-route override, per-route attributes take precedence
	//  over the attributes supplied in the client configuration.
	// 
	//  Forwarded attributes take precedence over the static Mixer attributes.
	//  The full order of application is as follows:
	//  1. static Mixer attributes from the filter config;
	//  2. static Mixer attributes from the route config;
	//  3. forwarded attributes from the source filter config (if any);
	//  4. forwarded attributes from the source route config (if any);
	//  5. derived attributes from the request metadata.
	forwardAttributes?: v1.Attributes @protobuf(8,type=Attributes,name=forward_attributes)
}

//  Defines the transport config on how to call Mixer.
TransportConfig: {
	//  The flag to disable check cache.
	disableCheckCache?: bool @protobuf(1,name=disable_check_cache)

	//  The flag to disable quota cache.
	disableQuotaCache?: bool @protobuf(2,name=disable_quota_cache)

	//  The flag to disable report batch.
	disableReportBatch?: bool @protobuf(3,name=disable_report_batch)

	//  Specifies the behavior when the client is unable to connect to Mixer.
	//  This is the mesh level policy. The default value for policy is FAIL_OPEN.
	networkFailPolicy?: NetworkFailPolicy @protobuf(4,name=network_fail_policy)

	//  Specify refresh interval to write Mixer client statistics to Envoy share
	//  memory. If not specified, the interval is 10 seconds.
	statsUpdateInterval?: time.Duration @protobuf(5,type=google.protobuf.Duration,name=stats_update_interval)

	//  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.
	// 
	//  NOTE: Any value other than the default "mixer_server" will require the
	//  Istio Grafana dashboards to be reconfigured to use the new name.
	checkCluster?: string @protobuf(6,name=check_cluster)

	//  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.
	// 
	//  NOTE: Any value other than the default "mixer_server" will require the
	//  Istio Grafana dashboards to be reconfigured to use the new name.
	reportCluster?: string @protobuf(7,name=report_cluster)

	//  Default attributes to forward to Mixer upstream. This typically
	//  includes the "source.ip" and "source.uid" attributes. These
	//  attributes are consumed by the proxy in front of mixer.
	attributesForMixerProxy?: v1.Attributes @protobuf(8,type=Attributes,name=attributes_for_mixer_proxy)
}

//  Defines the client config for HTTP.
HttpClientConfig: {
	//  The transport config.
	transport?: TransportConfig @protobuf(1)

	//  Map of control configuration indexed by destination.service. This
	//  is used to support per-service configuration for cases where a
	//  mixerclient serves multiple services.
	serviceConfigs <_>: ServiceConfig

	//  Default destination service name if none was specified in the
	//  client request.
	defaultDestinationService?: string @protobuf(3,name=default_destination_service)

	//  Default attributes to send to Mixer in both Check and
	//  Report. This typically includes "destination.ip" and
	//  "destination.uid" attributes.
	mixerAttributes?: v1.Attributes @protobuf(4,type=Attributes,name=mixer_attributes)

	//  Default attributes to forward to upstream. This typically
	//  includes the "source.ip" and "source.uid" attributes.
	forwardAttributes?: v1.Attributes @protobuf(5,type=Attributes,name=forward_attributes)
}

//  Defines the client config for TCP.
TcpClientConfig: {
	//  The transport config.
	transport?: TransportConfig @protobuf(1)

	//  Default attributes to send to Mixer in both Check and
	//  Report. This typically includes "destination.ip" and
	//  "destination.uid" attributes.
	mixerAttributes?: v1.Attributes @protobuf(2,type=Attributes,name=mixer_attributes)

	//  If set to true, disables Mixer check calls.
	disableCheckCalls?: bool @protobuf(3,name=disable_check_calls)

	//  If set to true, disables Mixer check calls.
	disableReportCalls?: bool @protobuf(4,name=disable_report_calls)

	//  Quota specifications to generate quota requirements.
	//  It applies on the new TCP connections.
	connectionQuotaSpec?: QuotaSpec @protobuf(5,name=connection_quota_spec)

	//  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.
	reportInterval?: time.Duration @protobuf(6,type=google.protobuf.Duration,name=report_interval)
}
