1. Packages
  2. LBr Labs EKS
  3. API Docs
  4. Cluster
LBr Labs EKS v0.23.0 published on Saturday, Nov 16, 2024 by lbrlabs

lbrlabs-eks.Cluster

Explore with Pulumi AI

lbrlabs-eks logo
LBr Labs EKS v0.23.0 published on Saturday, Nov 16, 2024 by lbrlabs

    Create Cluster Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Cluster(name: string, args: ClusterArgs, opts?: ComponentResourceOptions);
    @overload
    def Cluster(resource_name: str,
                args: ClusterArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Cluster(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                cluster_subnet_ids: Optional[Sequence[str]] = None,
                system_node_subnet_ids: Optional[Sequence[str]] = None,
                enable_otel: Optional[bool] = None,
                tags: Optional[Mapping[str, str]] = None,
                admin_access_principal: Optional[str] = None,
                certificate_arn: Optional[str] = None,
                cluster_version: Optional[str] = None,
                eks_iam_auth_controller_version: Optional[str] = None,
                enable_cert_manager: Optional[bool] = None,
                enable_cloud_watch_agent: Optional[bool] = None,
                enable_external_dns: Optional[bool] = None,
                enable_external_ingress: Optional[bool] = None,
                enable_internal_ingress: Optional[bool] = None,
                enable_karpenter: Optional[bool] = None,
                cluster_endpoint_public_access: Optional[bool] = None,
                cluster_endpoint_private_access: Optional[bool] = None,
                system_node_desired_count: Optional[float] = None,
                ingress_config: Optional[IngressConfigArgs] = None,
                karpenter_version: Optional[str] = None,
                lb_type: Optional[str] = None,
                lets_encrypt_email: Optional[str] = None,
                nginx_ingress_registry: Optional[str] = None,
                nginx_ingress_version: Optional[str] = None,
                external_dns_version: Optional[str] = None,
                system_node_instance_types: Optional[Sequence[str]] = None,
                system_node_max_count: Optional[float] = None,
                system_node_min_count: Optional[float] = None,
                cert_manager_version: Optional[str] = None,
                enabled_cluster_log_types: Optional[Sequence[str]] = None)
    func NewCluster(ctx *Context, name string, args ClusterArgs, opts ...ResourceOption) (*Cluster, error)
    public Cluster(string name, ClusterArgs args, ComponentResourceOptions? opts = null)
    public Cluster(String name, ClusterArgs args)
    public Cluster(String name, ClusterArgs args, ComponentResourceOptions options)
    
    type: lbrlabs-eks:Cluster
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    opts ComponentResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    opts ComponentResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    options ComponentResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var clusterResource = new Eks.Cluster("clusterResource", new()
    {
        ClusterSubnetIds = new[]
        {
            "string",
        },
        SystemNodeSubnetIds = new[]
        {
            "string",
        },
        EnableOtel = false,
        Tags = 
        {
            { "string", "string" },
        },
        AdminAccessPrincipal = "string",
        CertificateArn = "string",
        ClusterVersion = "string",
        EksIamAuthControllerVersion = "string",
        EnableCertManager = false,
        EnableCloudWatchAgent = false,
        EnableExternalDns = false,
        EnableExternalIngress = false,
        EnableInternalIngress = false,
        EnableKarpenter = false,
        ClusterEndpointPublicAccess = false,
        ClusterEndpointPrivateAccess = false,
        SystemNodeDesiredCount = 0,
        IngressConfig = new Eks.Inputs.IngressConfigArgs
        {
            AdditionalConfig = 
            {
                { "string", "string" },
            },
            ControllerReplicas = 0,
            EnableMetrics = false,
            EnableServiceMonitor = false,
            NlbTargetType = "string",
            ServiceMonitorNamespace = "string",
        },
        KarpenterVersion = "string",
        LbType = "string",
        LetsEncryptEmail = "string",
        NginxIngressRegistry = "string",
        NginxIngressVersion = "string",
        ExternalDNSVersion = "string",
        SystemNodeInstanceTypes = new[]
        {
            "string",
        },
        SystemNodeMaxCount = 0,
        SystemNodeMinCount = 0,
        CertManagerVersion = "string",
        EnabledClusterLogTypes = new[]
        {
            "string",
        },
    });
    
    example, err := lbrlabseks.NewCluster(ctx, "clusterResource", &lbrlabseks.ClusterArgs{
    	ClusterSubnetIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	SystemNodeSubnetIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	EnableOtel: false,
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	AdminAccessPrincipal:         pulumi.String("string"),
    	CertificateArn:               pulumi.String("string"),
    	ClusterVersion:               pulumi.String("string"),
    	EksIamAuthControllerVersion:  pulumi.String("string"),
    	EnableCertManager:            false,
    	EnableCloudWatchAgent:        false,
    	EnableExternalDns:            false,
    	EnableExternalIngress:        false,
    	EnableInternalIngress:        false,
    	EnableKarpenter:              false,
    	ClusterEndpointPublicAccess:  pulumi.Bool(false),
    	ClusterEndpointPrivateAccess: pulumi.Bool(false),
    	SystemNodeDesiredCount:       pulumi.Float64(0),
    	IngressConfig: &eks.IngressConfigArgs{
    		AdditionalConfig: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		ControllerReplicas:      pulumi.Int(0),
    		EnableMetrics:           pulumi.Bool(false),
    		EnableServiceMonitor:    pulumi.Bool(false),
    		NlbTargetType:           pulumi.String("string"),
    		ServiceMonitorNamespace: pulumi.String("string"),
    	},
    	KarpenterVersion:     pulumi.String("string"),
    	LbType:               pulumi.String("string"),
    	LetsEncryptEmail:     "string",
    	NginxIngressRegistry: pulumi.String("string"),
    	NginxIngressVersion:  pulumi.String("string"),
    	ExternalDNSVersion:   pulumi.String("string"),
    	SystemNodeInstanceTypes: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	SystemNodeMaxCount: pulumi.Float64(0),
    	SystemNodeMinCount: pulumi.Float64(0),
    	CertManagerVersion: pulumi.String("string"),
    	EnabledClusterLogTypes: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var clusterResource = new Cluster("clusterResource", ClusterArgs.builder()
        .clusterSubnetIds("string")
        .systemNodeSubnetIds("string")
        .enableOtel(false)
        .tags(Map.of("string", "string"))
        .adminAccessPrincipal("string")
        .certificateArn("string")
        .clusterVersion("string")
        .eksIamAuthControllerVersion("string")
        .enableCertManager(false)
        .enableCloudWatchAgent(false)
        .enableExternalDns(false)
        .enableExternalIngress(false)
        .enableInternalIngress(false)
        .enableKarpenter(false)
        .clusterEndpointPublicAccess(false)
        .clusterEndpointPrivateAccess(false)
        .systemNodeDesiredCount(0)
        .ingressConfig(IngressConfigArgs.builder()
            .additionalConfig(Map.of("string", "string"))
            .controllerReplicas(0)
            .enableMetrics(false)
            .enableServiceMonitor(false)
            .nlbTargetType("string")
            .serviceMonitorNamespace("string")
            .build())
        .karpenterVersion("string")
        .lbType("string")
        .letsEncryptEmail("string")
        .nginxIngressRegistry("string")
        .nginxIngressVersion("string")
        .externalDNSVersion("string")
        .systemNodeInstanceTypes("string")
        .systemNodeMaxCount(0)
        .systemNodeMinCount(0)
        .certManagerVersion("string")
        .enabledClusterLogTypes("string")
        .build());
    
    cluster_resource = lbrlabs_eks.Cluster("clusterResource",
        cluster_subnet_ids=["string"],
        system_node_subnet_ids=["string"],
        enable_otel=False,
        tags={
            "string": "string",
        },
        admin_access_principal="string",
        certificate_arn="string",
        cluster_version="string",
        eks_iam_auth_controller_version="string",
        enable_cert_manager=False,
        enable_cloud_watch_agent=False,
        enable_external_dns=False,
        enable_external_ingress=False,
        enable_internal_ingress=False,
        enable_karpenter=False,
        cluster_endpoint_public_access=False,
        cluster_endpoint_private_access=False,
        system_node_desired_count=0,
        ingress_config={
            "additional_config": {
                "string": "string",
            },
            "controller_replicas": 0,
            "enable_metrics": False,
            "enable_service_monitor": False,
            "nlb_target_type": "string",
            "service_monitor_namespace": "string",
        },
        karpenter_version="string",
        lb_type="string",
        lets_encrypt_email="string",
        nginx_ingress_registry="string",
        nginx_ingress_version="string",
        external_dns_version="string",
        system_node_instance_types=["string"],
        system_node_max_count=0,
        system_node_min_count=0,
        cert_manager_version="string",
        enabled_cluster_log_types=["string"])
    
    const clusterResource = new lbrlabs_eks.Cluster("clusterResource", {
        clusterSubnetIds: ["string"],
        systemNodeSubnetIds: ["string"],
        enableOtel: false,
        tags: {
            string: "string",
        },
        adminAccessPrincipal: "string",
        certificateArn: "string",
        clusterVersion: "string",
        eksIamAuthControllerVersion: "string",
        enableCertManager: false,
        enableCloudWatchAgent: false,
        enableExternalDns: false,
        enableExternalIngress: false,
        enableInternalIngress: false,
        enableKarpenter: false,
        clusterEndpointPublicAccess: false,
        clusterEndpointPrivateAccess: false,
        systemNodeDesiredCount: 0,
        ingressConfig: {
            additionalConfig: {
                string: "string",
            },
            controllerReplicas: 0,
            enableMetrics: false,
            enableServiceMonitor: false,
            nlbTargetType: "string",
            serviceMonitorNamespace: "string",
        },
        karpenterVersion: "string",
        lbType: "string",
        letsEncryptEmail: "string",
        nginxIngressRegistry: "string",
        nginxIngressVersion: "string",
        externalDNSVersion: "string",
        systemNodeInstanceTypes: ["string"],
        systemNodeMaxCount: 0,
        systemNodeMinCount: 0,
        certManagerVersion: "string",
        enabledClusterLogTypes: ["string"],
    });
    
    type: lbrlabs-eks:Cluster
    properties:
        adminAccessPrincipal: string
        certManagerVersion: string
        certificateArn: string
        clusterEndpointPrivateAccess: false
        clusterEndpointPublicAccess: false
        clusterSubnetIds:
            - string
        clusterVersion: string
        eksIamAuthControllerVersion: string
        enableCertManager: false
        enableCloudWatchAgent: false
        enableExternalDns: false
        enableExternalIngress: false
        enableInternalIngress: false
        enableKarpenter: false
        enableOtel: false
        enabledClusterLogTypes:
            - string
        externalDNSVersion: string
        ingressConfig:
            additionalConfig:
                string: string
            controllerReplicas: 0
            enableMetrics: false
            enableServiceMonitor: false
            nlbTargetType: string
            serviceMonitorNamespace: string
        karpenterVersion: string
        lbType: string
        letsEncryptEmail: string
        nginxIngressRegistry: string
        nginxIngressVersion: string
        systemNodeDesiredCount: 0
        systemNodeInstanceTypes:
            - string
        systemNodeMaxCount: 0
        systemNodeMinCount: 0
        systemNodeSubnetIds:
            - string
        tags:
            string: string
    

    Cluster Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Cluster resource accepts the following input properties:

    ClusterSubnetIds List<string>
    SystemNodeSubnetIds List<string>
    AdminAccessPrincipal string
    The ARN of the AWS principal that should get admin access.
    CertManagerVersion string
    The version of the cert-manager helm chart to deploy.
    CertificateArn string
    The ARN of the certificate to use for the ingress controller.
    ClusterEndpointPrivateAccess bool
    Indicates whether or not the Amazon EKS private API server endpoint is enabled.
    ClusterEndpointPublicAccess bool
    Indicates whether or not the Amazon EKS public API server endpoint is enabled.
    ClusterVersion string
    The version of the EKS cluster to create.
    EksIamAuthControllerVersion string
    The version of the eks-iam-auth-controller helm chart to deploy.
    EnableCertManager bool
    Whether to enable cert-manager with route 53 integration.
    EnableCloudWatchAgent bool
    Whether to enable cloudwatch container insights for EKS.
    EnableExternalDns bool
    Whether to enable external dns with route 53 integration.
    EnableExternalIngress bool
    Whether to create an ingress controller for external traffic.
    EnableInternalIngress bool
    Whether to create an ingress controller for internal traffic.
    EnableKarpenter bool
    Whether to enable karpenter.
    EnableOtel bool
    Whether to enable the OTEL Distro for EKS.
    EnabledClusterLogTypes List<string>
    ExternalDNSVersion string
    The version of the external-dns helm chart to deploy.
    IngressConfig Lbrlabs.PulumiPackage.Eks.Inputs.IngressConfig
    Configuration for the ingress controller.
    KarpenterVersion string
    The version of karpenter to deploy.
    LbType string
    The type of loadbalancer to provision.
    LetsEncryptEmail string
    The email address to use to issue certificates from Lets Encrypt.
    NginxIngressRegistry string
    The container registry to pull images from.
    NginxIngressVersion string
    The version of the nginx ingress controller helm chart to deploy.
    SystemNodeDesiredCount double
    The initial number of nodes in the system autoscaling group.
    SystemNodeInstanceTypes List<string>
    SystemNodeMaxCount double
    The maximum number of nodes in the system autoscaling group.
    SystemNodeMinCount double
    The minimum number of nodes in the system autoscaling group.
    Tags Dictionary<string, string>
    Key-value map of tags to apply to the cluster.
    ClusterSubnetIds []string
    SystemNodeSubnetIds []string
    AdminAccessPrincipal string
    The ARN of the AWS principal that should get admin access.
    CertManagerVersion string
    The version of the cert-manager helm chart to deploy.
    CertificateArn string
    The ARN of the certificate to use for the ingress controller.
    ClusterEndpointPrivateAccess bool
    Indicates whether or not the Amazon EKS private API server endpoint is enabled.
    ClusterEndpointPublicAccess bool
    Indicates whether or not the Amazon EKS public API server endpoint is enabled.
    ClusterVersion string
    The version of the EKS cluster to create.
    EksIamAuthControllerVersion string
    The version of the eks-iam-auth-controller helm chart to deploy.
    EnableCertManager bool
    Whether to enable cert-manager with route 53 integration.
    EnableCloudWatchAgent bool
    Whether to enable cloudwatch container insights for EKS.
    EnableExternalDns bool
    Whether to enable external dns with route 53 integration.
    EnableExternalIngress bool
    Whether to create an ingress controller for external traffic.
    EnableInternalIngress bool
    Whether to create an ingress controller for internal traffic.
    EnableKarpenter bool
    Whether to enable karpenter.
    EnableOtel bool
    Whether to enable the OTEL Distro for EKS.
    EnabledClusterLogTypes []string
    ExternalDNSVersion string
    The version of the external-dns helm chart to deploy.
    IngressConfig IngressConfigArgs
    Configuration for the ingress controller.
    KarpenterVersion string
    The version of karpenter to deploy.
    LbType string
    The type of loadbalancer to provision.
    LetsEncryptEmail string
    The email address to use to issue certificates from Lets Encrypt.
    NginxIngressRegistry string
    The container registry to pull images from.
    NginxIngressVersion string
    The version of the nginx ingress controller helm chart to deploy.
    SystemNodeDesiredCount float64
    The initial number of nodes in the system autoscaling group.
    SystemNodeInstanceTypes []string
    SystemNodeMaxCount float64
    The maximum number of nodes in the system autoscaling group.
    SystemNodeMinCount float64
    The minimum number of nodes in the system autoscaling group.
    Tags map[string]string
    Key-value map of tags to apply to the cluster.
    clusterSubnetIds List<String>
    systemNodeSubnetIds List<String>
    adminAccessPrincipal String
    The ARN of the AWS principal that should get admin access.
    certManagerVersion String
    The version of the cert-manager helm chart to deploy.
    certificateArn String
    The ARN of the certificate to use for the ingress controller.
    clusterEndpointPrivateAccess Boolean
    Indicates whether or not the Amazon EKS private API server endpoint is enabled.
    clusterEndpointPublicAccess Boolean
    Indicates whether or not the Amazon EKS public API server endpoint is enabled.
    clusterVersion String
    The version of the EKS cluster to create.
    eksIamAuthControllerVersion String
    The version of the eks-iam-auth-controller helm chart to deploy.
    enableCertManager Boolean
    Whether to enable cert-manager with route 53 integration.
    enableCloudWatchAgent Boolean
    Whether to enable cloudwatch container insights for EKS.
    enableExternalDns Boolean
    Whether to enable external dns with route 53 integration.
    enableExternalIngress Boolean
    Whether to create an ingress controller for external traffic.
    enableInternalIngress Boolean
    Whether to create an ingress controller for internal traffic.
    enableKarpenter Boolean
    Whether to enable karpenter.
    enableOtel Boolean
    Whether to enable the OTEL Distro for EKS.
    enabledClusterLogTypes List<String>
    externalDNSVersion String
    The version of the external-dns helm chart to deploy.
    ingressConfig IngressConfig
    Configuration for the ingress controller.
    karpenterVersion String
    The version of karpenter to deploy.
    lbType String
    The type of loadbalancer to provision.
    letsEncryptEmail String
    The email address to use to issue certificates from Lets Encrypt.
    nginxIngressRegistry String
    The container registry to pull images from.
    nginxIngressVersion String
    The version of the nginx ingress controller helm chart to deploy.
    systemNodeDesiredCount Double
    The initial number of nodes in the system autoscaling group.
    systemNodeInstanceTypes List<String>
    systemNodeMaxCount Double
    The maximum number of nodes in the system autoscaling group.
    systemNodeMinCount Double
    The minimum number of nodes in the system autoscaling group.
    tags Map<String,String>
    Key-value map of tags to apply to the cluster.
    clusterSubnetIds string[]
    systemNodeSubnetIds string[]
    adminAccessPrincipal string
    The ARN of the AWS principal that should get admin access.
    certManagerVersion string
    The version of the cert-manager helm chart to deploy.
    certificateArn string
    The ARN of the certificate to use for the ingress controller.
    clusterEndpointPrivateAccess boolean
    Indicates whether or not the Amazon EKS private API server endpoint is enabled.
    clusterEndpointPublicAccess boolean
    Indicates whether or not the Amazon EKS public API server endpoint is enabled.
    clusterVersion string
    The version of the EKS cluster to create.
    eksIamAuthControllerVersion string
    The version of the eks-iam-auth-controller helm chart to deploy.
    enableCertManager boolean
    Whether to enable cert-manager with route 53 integration.
    enableCloudWatchAgent boolean
    Whether to enable cloudwatch container insights for EKS.
    enableExternalDns boolean
    Whether to enable external dns with route 53 integration.
    enableExternalIngress boolean
    Whether to create an ingress controller for external traffic.
    enableInternalIngress boolean
    Whether to create an ingress controller for internal traffic.
    enableKarpenter boolean
    Whether to enable karpenter.
    enableOtel boolean
    Whether to enable the OTEL Distro for EKS.
    enabledClusterLogTypes string[]
    externalDNSVersion string
    The version of the external-dns helm chart to deploy.
    ingressConfig IngressConfig
    Configuration for the ingress controller.
    karpenterVersion string
    The version of karpenter to deploy.
    lbType string
    The type of loadbalancer to provision.
    letsEncryptEmail string
    The email address to use to issue certificates from Lets Encrypt.
    nginxIngressRegistry string
    The container registry to pull images from.
    nginxIngressVersion string
    The version of the nginx ingress controller helm chart to deploy.
    systemNodeDesiredCount number
    The initial number of nodes in the system autoscaling group.
    systemNodeInstanceTypes string[]
    systemNodeMaxCount number
    The maximum number of nodes in the system autoscaling group.
    systemNodeMinCount number
    The minimum number of nodes in the system autoscaling group.
    tags {[key: string]: string}
    Key-value map of tags to apply to the cluster.
    cluster_subnet_ids Sequence[str]
    system_node_subnet_ids Sequence[str]
    admin_access_principal str
    The ARN of the AWS principal that should get admin access.
    cert_manager_version str
    The version of the cert-manager helm chart to deploy.
    certificate_arn str
    The ARN of the certificate to use for the ingress controller.
    cluster_endpoint_private_access bool
    Indicates whether or not the Amazon EKS private API server endpoint is enabled.
    cluster_endpoint_public_access bool
    Indicates whether or not the Amazon EKS public API server endpoint is enabled.
    cluster_version str
    The version of the EKS cluster to create.
    eks_iam_auth_controller_version str
    The version of the eks-iam-auth-controller helm chart to deploy.
    enable_cert_manager bool
    Whether to enable cert-manager with route 53 integration.
    enable_cloud_watch_agent bool
    Whether to enable cloudwatch container insights for EKS.
    enable_external_dns bool
    Whether to enable external dns with route 53 integration.
    enable_external_ingress bool
    Whether to create an ingress controller for external traffic.
    enable_internal_ingress bool
    Whether to create an ingress controller for internal traffic.
    enable_karpenter bool
    Whether to enable karpenter.
    enable_otel bool
    Whether to enable the OTEL Distro for EKS.
    enabled_cluster_log_types Sequence[str]
    external_dns_version str
    The version of the external-dns helm chart to deploy.
    ingress_config IngressConfigArgs
    Configuration for the ingress controller.
    karpenter_version str
    The version of karpenter to deploy.
    lb_type str
    The type of loadbalancer to provision.
    lets_encrypt_email str
    The email address to use to issue certificates from Lets Encrypt.
    nginx_ingress_registry str
    The container registry to pull images from.
    nginx_ingress_version str
    The version of the nginx ingress controller helm chart to deploy.
    system_node_desired_count float
    The initial number of nodes in the system autoscaling group.
    system_node_instance_types Sequence[str]
    system_node_max_count float
    The maximum number of nodes in the system autoscaling group.
    system_node_min_count float
    The minimum number of nodes in the system autoscaling group.
    tags Mapping[str, str]
    Key-value map of tags to apply to the cluster.
    clusterSubnetIds List<String>
    systemNodeSubnetIds List<String>
    adminAccessPrincipal String
    The ARN of the AWS principal that should get admin access.
    certManagerVersion String
    The version of the cert-manager helm chart to deploy.
    certificateArn String
    The ARN of the certificate to use for the ingress controller.
    clusterEndpointPrivateAccess Boolean
    Indicates whether or not the Amazon EKS private API server endpoint is enabled.
    clusterEndpointPublicAccess Boolean
    Indicates whether or not the Amazon EKS public API server endpoint is enabled.
    clusterVersion String
    The version of the EKS cluster to create.
    eksIamAuthControllerVersion String
    The version of the eks-iam-auth-controller helm chart to deploy.
    enableCertManager Boolean
    Whether to enable cert-manager with route 53 integration.
    enableCloudWatchAgent Boolean
    Whether to enable cloudwatch container insights for EKS.
    enableExternalDns Boolean
    Whether to enable external dns with route 53 integration.
    enableExternalIngress Boolean
    Whether to create an ingress controller for external traffic.
    enableInternalIngress Boolean
    Whether to create an ingress controller for internal traffic.
    enableKarpenter Boolean
    Whether to enable karpenter.
    enableOtel Boolean
    Whether to enable the OTEL Distro for EKS.
    enabledClusterLogTypes List<String>
    externalDNSVersion String
    The version of the external-dns helm chart to deploy.
    ingressConfig Property Map
    Configuration for the ingress controller.
    karpenterVersion String
    The version of karpenter to deploy.
    lbType String
    The type of loadbalancer to provision.
    letsEncryptEmail String
    The email address to use to issue certificates from Lets Encrypt.
    nginxIngressRegistry String
    The container registry to pull images from.
    nginxIngressVersion String
    The version of the nginx ingress controller helm chart to deploy.
    systemNodeDesiredCount Number
    The initial number of nodes in the system autoscaling group.
    systemNodeInstanceTypes List<String>
    systemNodeMaxCount Number
    The maximum number of nodes in the system autoscaling group.
    systemNodeMinCount Number
    The minimum number of nodes in the system autoscaling group.
    tags Map<String>
    Key-value map of tags to apply to the cluster.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Cluster resource produces the following output properties:

    ClusterName string
    The cluster name
    ControlPlane Pulumi.Aws.Eks.Cluster
    The Cluster control plane This type is defined in the AWS Classic package.
    Kubeconfig string
    The kubeconfig for this cluster.
    OidcProvider Pulumi.Aws.Iam.OpenIdConnectProvider
    The OIDC provider for this cluster. This type is defined in the AWS Classic package.
    SystemNodes Pulumi.Aws.Eks.NodeGroup
    The system node group. This type is defined in the AWS Classic package.
    KarpenterNodeRole Pulumi.Aws.Iam.Role
    The role created for karpenter nodes. This type is defined in the AWS Classic package.
    ClusterName string
    The cluster name
    ControlPlane Cluster
    The Cluster control plane This type is defined in the AWS Classic package.
    Kubeconfig string
    The kubeconfig for this cluster.
    OidcProvider OpenIdConnectProvider
    The OIDC provider for this cluster. This type is defined in the AWS Classic package.
    SystemNodes NodeGroup
    The system node group. This type is defined in the AWS Classic package.
    KarpenterNodeRole Role
    The role created for karpenter nodes. This type is defined in the AWS Classic package.
    clusterName String
    The cluster name
    controlPlane Cluster
    The Cluster control plane This type is defined in the AWS Classic package.
    kubeconfig String
    The kubeconfig for this cluster.
    oidcProvider OpenIdConnectProvider
    The OIDC provider for this cluster. This type is defined in the AWS Classic package.
    systemNodes NodeGroup
    The system node group. This type is defined in the AWS Classic package.
    karpenterNodeRole Role
    The role created for karpenter nodes. This type is defined in the AWS Classic package.
    clusterName string
    The cluster name
    controlPlane pulumiAwseksCluster
    The Cluster control plane This type is defined in the AWS Classic package.
    kubeconfig string
    The kubeconfig for this cluster.
    oidcProvider pulumiAwsiamOpenIdConnectProvider
    The OIDC provider for this cluster. This type is defined in the AWS Classic package.
    systemNodes pulumiAwseksNodeGroup
    The system node group. This type is defined in the AWS Classic package.
    karpenterNodeRole pulumiAwsiamRole
    The role created for karpenter nodes. This type is defined in the AWS Classic package.
    cluster_name str
    The cluster name
    control_plane pulumi_aws.eks.Cluster
    The Cluster control plane This type is defined in the AWS Classic package.
    kubeconfig str
    The kubeconfig for this cluster.
    oidc_provider pulumi_aws.iam.OpenIdConnectProvider
    The OIDC provider for this cluster. This type is defined in the AWS Classic package.
    system_nodes pulumi_aws.eks.NodeGroup
    The system node group. This type is defined in the AWS Classic package.
    karpenter_node_role pulumi_aws.iam.Role
    The role created for karpenter nodes. This type is defined in the AWS Classic package.
    clusterName String
    The cluster name
    controlPlane aws:eks:Cluster
    The Cluster control plane This type is defined in the AWS Classic package.
    kubeconfig String
    The kubeconfig for this cluster.
    oidcProvider aws:iam:OpenIdConnectProvider
    The OIDC provider for this cluster. This type is defined in the AWS Classic package.
    systemNodes aws:eks:NodeGroup
    The system node group. This type is defined in the AWS Classic package.
    karpenterNodeRole aws:iam:Role
    The role created for karpenter nodes. This type is defined in the AWS Classic package.

    Supporting Types

    IngressConfig, IngressConfigArgs

    AdditionalConfig Dictionary<string, string>
    Additional configuration for the ingress controller.
    ControllerReplicas int
    The number of replicas of the ingress controller.
    EnableMetrics bool
    Enable metrics for the ingress controller.
    EnableServiceMonitor bool
    Enable the service monitor for kube-prometheus-stackl.
    NlbTargetType string
    NLB target type for NLB loadbalancers.
    ServiceMonitorNamespace string
    The namespace to deploy the service monitor to.
    AdditionalConfig map[string]string
    Additional configuration for the ingress controller.
    ControllerReplicas int
    The number of replicas of the ingress controller.
    EnableMetrics bool
    Enable metrics for the ingress controller.
    EnableServiceMonitor bool
    Enable the service monitor for kube-prometheus-stackl.
    NlbTargetType string
    NLB target type for NLB loadbalancers.
    ServiceMonitorNamespace string
    The namespace to deploy the service monitor to.
    additionalConfig Map<String,String>
    Additional configuration for the ingress controller.
    controllerReplicas Integer
    The number of replicas of the ingress controller.
    enableMetrics Boolean
    Enable metrics for the ingress controller.
    enableServiceMonitor Boolean
    Enable the service monitor for kube-prometheus-stackl.
    nlbTargetType String
    NLB target type for NLB loadbalancers.
    serviceMonitorNamespace String
    The namespace to deploy the service monitor to.
    additionalConfig {[key: string]: string}
    Additional configuration for the ingress controller.
    controllerReplicas number
    The number of replicas of the ingress controller.
    enableMetrics boolean
    Enable metrics for the ingress controller.
    enableServiceMonitor boolean
    Enable the service monitor for kube-prometheus-stackl.
    nlbTargetType string
    NLB target type for NLB loadbalancers.
    serviceMonitorNamespace string
    The namespace to deploy the service monitor to.
    additional_config Mapping[str, str]
    Additional configuration for the ingress controller.
    controller_replicas int
    The number of replicas of the ingress controller.
    enable_metrics bool
    Enable metrics for the ingress controller.
    enable_service_monitor bool
    Enable the service monitor for kube-prometheus-stackl.
    nlb_target_type str
    NLB target type for NLB loadbalancers.
    service_monitor_namespace str
    The namespace to deploy the service monitor to.
    additionalConfig Map<String>
    Additional configuration for the ingress controller.
    controllerReplicas Number
    The number of replicas of the ingress controller.
    enableMetrics Boolean
    Enable metrics for the ingress controller.
    enableServiceMonitor Boolean
    Enable the service monitor for kube-prometheus-stackl.
    nlbTargetType String
    NLB target type for NLB loadbalancers.
    serviceMonitorNamespace String
    The namespace to deploy the service monitor to.

    Package Details

    Repository
    lbrlabs-eks lbrlabs/pulumi-lbrlabs-eks
    License
    lbrlabs-eks logo
    LBr Labs EKS v0.23.0 published on Saturday, Nov 16, 2024 by lbrlabs