<gh_stars>0// *** 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.Outputs
{

    [OutputType]
    public sealed class ClusterKubeApiServer
    {
        public readonly string? Address;
        public readonly string? AdmissionControlConfigFile;
        public readonly ImmutableArray<string> AdmissionControls;
        public readonly string? AdvertiseAddress;
        public readonly bool? AllowPrivileged;
        public readonly Outputs.ClusterKubeApiServerAnonymousAuth? AnonymousAuth;
        public readonly ImmutableArray<string> ApiAudiences;
        public readonly int? ApiServerCount;
        public readonly ImmutableArray<string> AppendAdmissionPlugins;
        public readonly bool? AuditDynamicConfiguration;
        public readonly string? AuditLogFormat;
        public readonly int? AuditLogMaxAge;
        public readonly int? AuditLogMaxBackups;
        public readonly int? AuditLogMaxSize;
        public readonly string? AuditLogPath;
        public readonly string? AuditPolicyFile;
        public readonly int? AuditWebhookBatchBufferSize;
        public readonly int? AuditWebhookBatchMaxSize;
        public readonly string? AuditWebhookBatchMaxWait;
        public readonly int? AuditWebhookBatchThrottleBurst;
        public readonly bool? AuditWebhookBatchThrottleEnable;
        public readonly string? AuditWebhookBatchThrottleQps;
        public readonly string? AuditWebhookConfigFile;
        public readonly string? AuditWebhookInitialBackoff;
        public readonly string? AuditWebhookMode;
        public readonly string? AuthenticationTokenWebhookCacheTtl;
        public readonly string? AuthenticationTokenWebhookConfigFile;
        public readonly string? AuthorizationMode;
        public readonly string? AuthorizationRbacSuperUser;
        public readonly string? AuthorizationWebhookCacheAuthorizedTtl;
        public readonly string? AuthorizationWebhookCacheUnauthorizedTtl;
        public readonly string? AuthorizationWebhookConfigFile;
        public readonly string? BasicAuthFile;
        public readonly string? BindAddress;
        public readonly string? ClientCaFile;
        /// <summary>
        /// - cloud_provider_spec - CloudProvider configures the cloud provider to use.
        /// </summary>
        public readonly string? CloudProvider;
        public readonly ImmutableArray<string> CorsAllowedOrigins;
        public readonly string? CpuLimit;
        public readonly string? CpuRequest;
        public readonly int? DefaultNotReadyTolerationSeconds;
        public readonly int? DefaultUnreachableTolerationSeconds;
        public readonly ImmutableArray<string> DisableAdmissionPlugins;
        public readonly bool? DisableBasicAuth;
        public readonly ImmutableArray<string> EnableAdmissionPlugins;
        public readonly bool? EnableAggregatorRouting;
        public readonly bool? EnableBootstrapAuthToken;
        public readonly bool? EnableProfiling;
        public readonly string? EncryptionProviderConfig;
        public readonly string? EtcdCaFile;
        public readonly string? EtcdCertFile;
        public readonly string? EtcdKeyFile;
        public readonly bool? EtcdQuorumRead;
        public readonly ImmutableArray<string> EtcdServers;
        public readonly ImmutableArray<string> EtcdServersOverrides;
        public readonly string? EventTtl;
        public readonly string? ExperimentalEncryptionProviderConfig;
        public readonly ImmutableDictionary<string, string>? FeatureGates;
        public readonly int? Http2MaxStreamsPerConnection;
        public readonly string? Image;
        public readonly string? InsecureBindAddress;
        public readonly int? InsecurePort;
        public readonly string? KubeletCertificateAuthority;
        public readonly string? KubeletClientCertificate;
        public readonly string? KubeletClientKey;
        public readonly ImmutableArray<string> KubeletPreferredAddressTypes;
        public readonly string? LogFormat;
        public readonly int? LogLevel;
        public readonly int? MaxMutatingRequestsInflight;
        public readonly int? MaxRequestsInflight;
        public readonly string? MemoryLimit;
        public readonly string? MemoryRequest;
        public readonly int? MinRequestTimeout;
        public readonly string? OidcCaFile;
        public readonly string? OidcClientId;
        public readonly string? OidcGroupsClaim;
        public readonly string? OidcGroupsPrefix;
        public readonly string? OidcIssuerUrl;
        public readonly ImmutableArray<string> OidcRequiredClaims;
        public readonly string? OidcUsernameClaim;
        public readonly string? OidcUsernamePrefix;
        public readonly string? ProxyClientCertFile;
        public readonly string? ProxyClientKeyFile;
        public readonly string? RequestTimeout;
        public readonly ImmutableArray<string> RequestheaderAllowedNames;
        public readonly string? RequestheaderClientCaFile;
        public readonly ImmutableArray<string> RequestheaderExtraHeaderPrefixes;
        public readonly ImmutableArray<string> RequestheaderGroupHeaders;
        public readonly ImmutableArray<string> RequestheaderUsernameHeaders;
        public readonly ImmutableDictionary<string, string>? RuntimeConfig;
        public readonly int? SecurePort;
        public readonly string? ServiceAccountIssuer;
        public readonly string? ServiceAccountJwksuri;
        public readonly ImmutableArray<string> ServiceAccountKeyFiles;
        public readonly string? ServiceAccountSigningKeyFile;
        /// <summary>
        /// - String - ServiceClusterIPRange is the CIDR, from the internal network, where we allocate IPs for services.
        /// </summary>
        public readonly string? ServiceClusterIpRange;
        public readonly string? ServiceNodePortRange;
        public readonly string? StorageBackend;
        public readonly int? TargetRamMb;
        public readonly string? TlsCertFile;
        public readonly ImmutableArray<string> TlsCipherSuites;
        public readonly string? TlsMinVersion;
        public readonly string? TlsPrivateKeyFile;
        public readonly string? TokenAuthFile;

        [OutputConstructor]
        private ClusterKubeApiServer(
            string? address,

            string? admissionControlConfigFile,

            ImmutableArray<string> admissionControls,

            string? advertiseAddress,

            bool? allowPrivileged,

            Outputs.ClusterKubeApiServerAnonymousAuth? anonymousAuth,

            ImmutableArray<string> apiAudiences,

            int? apiServerCount,

            ImmutableArray<string> appendAdmissionPlugins,

            bool? auditDynamicConfiguration,

            string? auditLogFormat,

            int? auditLogMaxAge,

            int? auditLogMaxBackups,

            int? auditLogMaxSize,

            string? auditLogPath,

            string? auditPolicyFile,

            int? auditWebhookBatchBufferSize,

            int? auditWebhookBatchMaxSize,

            string? auditWebhookBatchMaxWait,

            int? auditWebhookBatchThrottleBurst,

            bool? auditWebhookBatchThrottleEnable,

            string? auditWebhookBatchThrottleQps,

            string? auditWebhookConfigFile,

            string? auditWebhookInitialBackoff,

            string? auditWebhookMode,

            string? authenticationTokenWebhookCacheTtl,

            string? authenticationTokenWebhookConfigFile,

            string? authorizationMode,

            string? authorizationRbacSuperUser,

            string? authorizationWebhookCacheAuthorizedTtl,

            string? authorizationWebhookCacheUnauthorizedTtl,

            string? authorizationWebhookConfigFile,

            string? basicAuthFile,

            string? bindAddress,

            string? clientCaFile,

            string? cloudProvider,

            ImmutableArray<string> corsAllowedOrigins,

            string? cpuLimit,

            string? cpuRequest,

            int? defaultNotReadyTolerationSeconds,

            int? defaultUnreachableTolerationSeconds,

            ImmutableArray<string> disableAdmissionPlugins,

            bool? disableBasicAuth,

            ImmutableArray<string> enableAdmissionPlugins,

            bool? enableAggregatorRouting,

            bool? enableBootstrapAuthToken,

            bool? enableProfiling,

            string? encryptionProviderConfig,

            string? etcdCaFile,

            string? etcdCertFile,

            string? etcdKeyFile,

            bool? etcdQuorumRead,

            ImmutableArray<string> etcdServers,

            ImmutableArray<string> etcdServersOverrides,

            string? eventTtl,

            string? experimentalEncryptionProviderConfig,

            ImmutableDictionary<string, string>? featureGates,

            int? http2MaxStreamsPerConnection,

            string? image,

            string? insecureBindAddress,

            int? insecurePort,

            string? kubeletCertificateAuthority,

            string? kubeletClientCertificate,

            string? kubeletClientKey,

            ImmutableArray<string> kubeletPreferredAddressTypes,

            string? logFormat,

            int? logLevel,

            int? maxMutatingRequestsInflight,

            int? maxRequestsInflight,

            string? memoryLimit,

            string? memoryRequest,

            int? minRequestTimeout,

            string? oidcCaFile,

            string? oidcClientId,

            string? oidcGroupsClaim,

            string? oidcGroupsPrefix,

            string? oidcIssuerUrl,

            ImmutableArray<string> oidcRequiredClaims,

            string? oidcUsernameClaim,

            string? oidcUsernamePrefix,

            string? proxyClientCertFile,

            string? proxyClientKeyFile,

            string? requestTimeout,

            ImmutableArray<string> requestheaderAllowedNames,

            string? requestheaderClientCaFile,

            ImmutableArray<string> requestheaderExtraHeaderPrefixes,

            ImmutableArray<string> requestheaderGroupHeaders,

            ImmutableArray<string> requestheaderUsernameHeaders,

            ImmutableDictionary<string, string>? runtimeConfig,

            int? securePort,

            string? serviceAccountIssuer,

            string? serviceAccountJwksuri,

            ImmutableArray<string> serviceAccountKeyFiles,

            string? serviceAccountSigningKeyFile,

            string? serviceClusterIpRange,

            string? serviceNodePortRange,

            string? storageBackend,

            int? targetRamMb,

            string? tlsCertFile,

            ImmutableArray<string> tlsCipherSuites,

            string? tlsMinVersion,

            string? tlsPrivateKeyFile,

            string? tokenAuthFile)
        {
            Address = address;
            AdmissionControlConfigFile = admissionControlConfigFile;
            AdmissionControls = admissionControls;
            AdvertiseAddress = advertiseAddress;
            AllowPrivileged = allowPrivileged;
            AnonymousAuth = anonymousAuth;
            ApiAudiences = apiAudiences;
            ApiServerCount = apiServerCount;
            AppendAdmissionPlugins = appendAdmissionPlugins;
            AuditDynamicConfiguration = auditDynamicConfiguration;
            AuditLogFormat = auditLogFormat;
            AuditLogMaxAge = auditLogMaxAge;
            AuditLogMaxBackups = auditLogMaxBackups;
            AuditLogMaxSize = auditLogMaxSize;
            AuditLogPath = auditLogPath;
            AuditPolicyFile = auditPolicyFile;
            AuditWebhookBatchBufferSize = auditWebhookBatchBufferSize;
            AuditWebhookBatchMaxSize = auditWebhookBatchMaxSize;
            AuditWebhookBatchMaxWait = auditWebhookBatchMaxWait;
            AuditWebhookBatchThrottleBurst = auditWebhookBatchThrottleBurst;
            AuditWebhookBatchThrottleEnable = auditWebhookBatchThrottleEnable;
            AuditWebhookBatchThrottleQps = auditWebhookBatchThrottleQps;
            AuditWebhookConfigFile = auditWebhookConfigFile;
            AuditWebhookInitialBackoff = auditWebhookInitialBackoff;
            AuditWebhookMode = auditWebhookMode;
            AuthenticationTokenWebhookCacheTtl = authenticationTokenWebhookCacheTtl;
            AuthenticationTokenWebhookConfigFile = authenticationTokenWebhookConfigFile;
            AuthorizationMode = authorizationMode;
            AuthorizationRbacSuperUser = authorizationRbacSuperUser;
            AuthorizationWebhookCacheAuthorizedTtl = authorizationWebhookCacheAuthorizedTtl;
            AuthorizationWebhookCacheUnauthorizedTtl = authorizationWebhookCacheUnauthorizedTtl;
            AuthorizationWebhookConfigFile = authorizationWebhookConfigFile;
            BasicAuthFile = basicAuthFile;
            BindAddress = bindAddress;
            ClientCaFile = clientCaFile;
            CloudProvider = cloudProvider;
            CorsAllowedOrigins = corsAllowedOrigins;
            CpuLimit = cpuLimit;
            CpuRequest = cpuRequest;
            DefaultNotReadyTolerationSeconds = defaultNotReadyTolerationSeconds;
            DefaultUnreachableTolerationSeconds = defaultUnreachableTolerationSeconds;
            DisableAdmissionPlugins = disableAdmissionPlugins;
            DisableBasicAuth = disableBasicAuth;
            EnableAdmissionPlugins = enableAdmissionPlugins;
            EnableAggregatorRouting = enableAggregatorRouting;
            EnableBootstrapAuthToken = enableBootstrapAuthToken;
            EnableProfiling = enableProfiling;
            EncryptionProviderConfig = encryptionProviderConfig;
            EtcdCaFile = etcdCaFile;
            EtcdCertFile = etcdCertFile;
            EtcdKeyFile = etcdKeyFile;
            EtcdQuorumRead = etcdQuorumRead;
            EtcdServers = etcdServers;
            EtcdServersOverrides = etcdServersOverrides;
            EventTtl = eventTtl;
            ExperimentalEncryptionProviderConfig = experimentalEncryptionProviderConfig;
            FeatureGates = featureGates;
            Http2MaxStreamsPerConnection = http2MaxStreamsPerConnection;
            Image = image;
            InsecureBindAddress = insecureBindAddress;
            InsecurePort = insecurePort;
            KubeletCertificateAuthority = kubeletCertificateAuthority;
            KubeletClientCertificate = kubeletClientCertificate;
            KubeletClientKey = kubeletClientKey;
            KubeletPreferredAddressTypes = kubeletPreferredAddressTypes;
            LogFormat = logFormat;
            LogLevel = logLevel;
            MaxMutatingRequestsInflight = maxMutatingRequestsInflight;
            MaxRequestsInflight = maxRequestsInflight;
            MemoryLimit = memoryLimit;
            MemoryRequest = memoryRequest;
            MinRequestTimeout = minRequestTimeout;
            OidcCaFile = oidcCaFile;
            OidcClientId = oidcClientId;
            OidcGroupsClaim = oidcGroupsClaim;
            OidcGroupsPrefix = oidcGroupsPrefix;
            OidcIssuerUrl = oidcIssuerUrl;
            OidcRequiredClaims = oidcRequiredClaims;
            OidcUsernameClaim = oidcUsernameClaim;
            OidcUsernamePrefix = oidcUsernamePrefix;
            ProxyClientCertFile = proxyClientCertFile;
            ProxyClientKeyFile = proxyClientKeyFile;
            RequestTimeout = requestTimeout;
            RequestheaderAllowedNames = requestheaderAllowedNames;
            RequestheaderClientCaFile = requestheaderClientCaFile;
            RequestheaderExtraHeaderPrefixes = requestheaderExtraHeaderPrefixes;
            RequestheaderGroupHeaders = requestheaderGroupHeaders;
            RequestheaderUsernameHeaders = requestheaderUsernameHeaders;
            RuntimeConfig = runtimeConfig;
            SecurePort = securePort;
            ServiceAccountIssuer = serviceAccountIssuer;
            ServiceAccountJwksuri = serviceAccountJwksuri;
            ServiceAccountKeyFiles = serviceAccountKeyFiles;
            ServiceAccountSigningKeyFile = serviceAccountSigningKeyFile;
            ServiceClusterIpRange = serviceClusterIpRange;
            ServiceNodePortRange = serviceNodePortRange;
            StorageBackend = storageBackend;
            TargetRamMb = targetRamMb;
            TlsCertFile = tlsCertFile;
            TlsCipherSuites = tlsCipherSuites;
            TlsMinVersion = tlsMinVersion;
            TlsPrivateKeyFile = tlsPrivateKeyFile;
            TokenAuthFile = tokenAuthFile;
        }
    }
}
