import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as pulumiAws from "@pulumi/aws"; import * as pulumiKubernetes from "@pulumi/kubernetes"; import { ClusterAddons, IamAuthenticator, NodeGroup } from "./index"; /** * Cluster is a component that deploys a production-ready Kubernetes cluster. It setups the AWS IAM and netwokring, as well many Kubernetes services to run application in production. */ export declare class Cluster extends pulumi.ComponentResource { /** * Returns true if the given object is an instance of Cluster. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Cluster; /** * The EKS Cluster. */ readonly cluster: pulumi.Output; /** * The VPC CNI Chart installed in the cluster. */ readonly clusterAddons: pulumi.Output; /** * The VPC CNI Chart installed in the cluster. */ readonly cniChart: pulumi.Output; /** * The default OIDC Provider. */ readonly defaultOidcProvider: pulumi.Output; /** * The IAM Authenticator to integrate AWS IAM with Kubernetes authentication. */ readonly iamAuthenticator: pulumi.Output; /** * The kubeconfig content for this cluster. */ readonly kubeconfig: pulumi.Output; /** * The Node Groups associated to the cluster. */ readonly nodeGroups: pulumi.Output; /** * The Kubernetes provider for this cluster. */ readonly provider: pulumi.Output; /** * The Provider to provision EKS cluster. */ readonly provisionerProvider: pulumi.Output; /** * The IAM Role to provision EKS cluster. */ readonly provisionerRole: pulumi.Output; /** * The IAM Role Polity to provision EKS cluster. */ readonly provisionerRolePolicy: pulumi.Output; /** * The IAM Role assumed by the EKS Cluster. */ readonly role: pulumi.Output; /** * The IAM Role Policy Attachment to assign the IAM Policies to the IAM Role. */ readonly rolePolicyAttachment: pulumi.Output; /** * The Security Group associated to the EKS Cluster. */ readonly securityGroup: pulumi.Output; /** * EC2 Tags used for provisioning Load Balancers. */ readonly subnetTags: pulumi.Output; /** * Create a Cluster resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args?: ClusterArgs, opts?: pulumi.ComponentResourceOptions); } /** * The set of arguments for constructing a Cluster resource. */ export interface ClusterArgs { /** * The addons installed in the cluster. */ addons?: pulumi.Input; /** * Configure the Kubernetes cluster API. */ api?: pulumi.Input; /** * Configure authentication integrated with AWS IAM. */ authentication?: pulumi.Input; /** * Configure the cluster observability for logging. */ logging?: pulumi.Input; /** * Configure the cluster observability for metrics. */ metrics?: pulumi.Input; /** * Configure the cluster networking. */ networking?: pulumi.Input; /** * The NodeGroups to be assigned to this cluster. */ nodeGroups?: pulumi.Input[]>; /** * The OIDC Providers configuration. */ oidcProviders?: pulumi.Input; /** * The list of private subnet ids where for the EKS cluster. These subnets will be tagged for Kubernetes purposes. */ privateSubnetIds?: pulumi.Input[]>; /** * The list of public subnet ids where for the EKS cluster. These subnets will be tagged for Kubernetes purposes. */ publicSubnetIds?: pulumi.Input[]>; /** * Desired Kubernetes version for control plane. Defaults to '1.23'. */ version?: pulumi.Input; /** * The VPC ID where the cluster will be deployed */ vpcId?: pulumi.Input; }