// *** 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.Kops.Inputs
{

    public sealed class ClusterNetworkingCalicoArgs : global::Pulumi.ResourceArgs
    {
        [Input("allowIpForwarding")]
        public Input<bool>? AllowIpForwarding { get; set; }

        [Input("awsSrcDstCheck")]
        public Input<string>? AwsSrcDstCheck { get; set; }

        [Input("bpfEnabled")]
        public Input<bool>? BpfEnabled { get; set; }

        [Input("bpfExternalServiceMode")]
        public Input<string>? BpfExternalServiceMode { get; set; }

        [Input("bpfKubeProxyIptablesCleanupEnabled")]
        public Input<bool>? BpfKubeProxyIptablesCleanupEnabled { get; set; }

        [Input("bpfLogLevel")]
        public Input<string>? BpfLogLevel { get; set; }

        [Input("chainInsertMode")]
        public Input<string>? ChainInsertMode { get; set; }

        [Input("cpuRequest")]
        public Input<string>? CpuRequest { get; set; }

        [Input("crossSubnet")]
        public Input<bool>? CrossSubnet { get; set; }

        [Input("encapsulationMode")]
        public Input<string>? EncapsulationMode { get; set; }

        [Input("ipIpMode")]
        public Input<string>? IpIpMode { get; set; }

        [Input("iptablesBackend")]
        public Input<string>? IptablesBackend { get; set; }

        [Input("ipv4AutoDetectionMethod")]
        public Input<string>? Ipv4AutoDetectionMethod { get; set; }

        [Input("ipv6AutoDetectionMethod")]
        public Input<string>? Ipv6AutoDetectionMethod { get; set; }

        [Input("logSeverityScreen")]
        public Input<string>? LogSeverityScreen { get; set; }

        [Input("mtu")]
        public Input<int>? Mtu { get; set; }

        [Input("prometheusGoMetricsEnabled")]
        public Input<bool>? PrometheusGoMetricsEnabled { get; set; }

        [Input("prometheusMetricsEnabled")]
        public Input<bool>? PrometheusMetricsEnabled { get; set; }

        [Input("prometheusMetricsPort")]
        public Input<int>? PrometheusMetricsPort { get; set; }

        [Input("prometheusProcessMetricsEnabled")]
        public Input<bool>? PrometheusProcessMetricsEnabled { get; set; }

        [Input("registry")]
        public Input<string>? Registry { get; set; }

        [Input("typhaPrometheusMetricsEnabled")]
        public Input<bool>? TyphaPrometheusMetricsEnabled { get; set; }

        [Input("typhaPrometheusMetricsPort")]
        public Input<int>? TyphaPrometheusMetricsPort { get; set; }

        [Input("typhaReplicas")]
        public Input<int>? TyphaReplicas { get; set; }

        [Input("version")]
        public Input<string>? Version { get; set; }

        [Input("vxlanMode")]
        public Input<string>? VxlanMode { get; set; }

        [Input("wireguardEnabled")]
        public Input<bool>? WireguardEnabled { get; set; }

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