// *** 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 ClusterApiLoadBalancer
    {
        public readonly Outputs.ClusterApiLoadBalancerAccessLog? AccessLog;
        public readonly ImmutableArray<string> AdditionalSecurityGroups;
        public readonly string? Class;
        public readonly bool? CrossZoneLoadBalancing;
        public readonly int? IdleTimeoutSeconds;
        public readonly string? SecurityGroupOverride;
        public readonly string? SslCertificate;
        public readonly string? SslPolicy;
        public readonly ImmutableArray<Outputs.ClusterApiLoadBalancerSubnet> Subnets;
        public readonly string Type;
        public readonly bool? UseForInternalApi;

        [OutputConstructor]
        private ClusterApiLoadBalancer(
            Outputs.ClusterApiLoadBalancerAccessLog? accessLog,

            ImmutableArray<string> additionalSecurityGroups,

            string? @class,

            bool? crossZoneLoadBalancing,

            int? idleTimeoutSeconds,

            string? securityGroupOverride,

            string? sslCertificate,

            string? sslPolicy,

            ImmutableArray<Outputs.ClusterApiLoadBalancerSubnet> subnets,

            string type,

            bool? useForInternalApi)
        {
            AccessLog = accessLog;
            AdditionalSecurityGroups = additionalSecurityGroups;
            Class = @class;
            CrossZoneLoadBalancing = crossZoneLoadBalancing;
            IdleTimeoutSeconds = idleTimeoutSeconds;
            SecurityGroupOverride = securityGroupOverride;
            SslCertificate = sslCertificate;
            SslPolicy = sslPolicy;
            Subnets = subnets;
            Type = type;
            UseForInternalApi = useForInternalApi;
        }
    }
}
