// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.AliCloud.ServiceMesh.Inputs
{

    public sealed class ServiceMeshMeshConfigArgs : global::Pulumi.ResourceArgs
    {
        /// <summary>
        /// The configuration of the access logging.
        /// </summary>
        [Input("accessLog")]
        public Input<Inputs.ServiceMeshMeshConfigAccessLogArgs>? AccessLog { get; set; }

        /// <summary>
        /// The configuration of the audit. See the following `Block audit`.
        /// </summary>
        [Input("audit")]
        public Input<Inputs.ServiceMeshMeshConfigAuditArgs>? Audit { get; set; }

        /// <summary>
        /// The configuration of the control plane logging.
        /// </summary>
        [Input("controlPlaneLog")]
        public Input<Inputs.ServiceMeshMeshConfigControlPlaneLogArgs>? ControlPlaneLog { get; set; }

        /// <summary>
        /// Whether to enable the use of a custom zipkin.
        /// </summary>
        [Input("customizedZipkin")]
        public Input<bool>? CustomizedZipkin { get; set; }

        /// <summary>
        /// The enable locality lb.
        /// </summary>
        [Input("enableLocalityLb")]
        public Input<bool>? EnableLocalityLb { get; set; }

        /// <summary>
        /// The configuration of the Kiali. See the following `Block kiali`.
        /// </summary>
        [Input("kiali")]
        public Input<Inputs.ServiceMeshMeshConfigKialiArgs>? Kiali { get; set; }

        /// <summary>
        /// The open-door policy of agent (OPA) plug-in information. See the following `Block opa`.
        /// </summary>
        [Input("opa")]
        public Input<Inputs.ServiceMeshMeshConfigOpaArgs>? Opa { get; set; }

        /// <summary>
        /// The policy of the Out to the traffic. Valid values: `ALLOW_ANY` and `REGISTRY_ONLY`.
        /// </summary>
        [Input("outboundTrafficPolicy")]
        public Input<string>? OutboundTrafficPolicy { get; set; }

        /// <summary>
        /// The configuration of the Link trace sampling. See the following `Block pilot`.
        /// </summary>
        [Input("pilot")]
        public Input<Inputs.ServiceMeshMeshConfigPilotArgs>? Pilot { get; set; }

        /// <summary>
        /// The configuration of the Proxy. See the following `Block proxy`.
        /// </summary>
        [Input("proxy")]
        public Input<Inputs.ServiceMeshMeshConfigProxyArgs>? Proxy { get; set; }

        /// <summary>
        /// The configuration of the Sidecar injector. See the following `Block sidecar_injector`.
        /// </summary>
        [Input("sidecarInjector")]
        public Input<Inputs.ServiceMeshMeshConfigSidecarInjectorArgs>? SidecarInjector { get; set; }

        /// <summary>
        /// Whether to enable acquisition Prometheus metrics (it is recommended that you use [Alibaba Cloud Prometheus monitoring](https://arms.console.aliyun.com/).
        /// </summary>
        [Input("telemetry")]
        public Input<bool>? Telemetry { get; set; }

        /// <summary>
        /// Whether to enable link trace (you need to have [Alibaba Cloud link tracking service](https://tracing-analysis.console.aliyun.com/).
        /// </summary>
        [Input("tracing")]
        public Input<bool>? Tracing { get; set; }

        public ServiceMeshMeshConfigArgs()
        {
        }
        public static new ServiceMeshMeshConfigArgs Empty => new ServiceMeshMeshConfigArgs();
    }
}
