@cloudtoolkit/aws
Version:
The Cloud Toolkit AWS provider for Pulumi provision well-architected solutions in [AWS](https://aws.amazon.com/). With Cloud Toolkit AWS you can use your preferred programming language to manage your platform with Infrastructure as Code.
137 lines (136 loc) • 5.01 kB
TypeScript
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<pulumiAws.eks.Cluster>;
/**
* The VPC CNI Chart installed in the cluster.
*/
readonly clusterAddons: pulumi.Output<ClusterAddons | undefined>;
/**
* The VPC CNI Chart installed in the cluster.
*/
readonly cniChart: pulumi.Output<pulumiKubernetes.helm.v3.Release>;
/**
* The default OIDC Provider.
*/
readonly defaultOidcProvider: pulumi.Output<pulumiAws.iam.OpenIdConnectProvider | undefined>;
/**
* The IAM Authenticator to integrate AWS IAM with Kubernetes authentication.
*/
readonly iamAuthenticator: pulumi.Output<IamAuthenticator>;
/**
* The kubeconfig content for this cluster.
*/
readonly kubeconfig: pulumi.Output<string>;
/**
* The Node Groups associated to the cluster.
*/
readonly nodeGroups: pulumi.Output<NodeGroup[]>;
/**
* The Kubernetes provider for this cluster.
*/
readonly provider: pulumi.Output<pulumiKubernetes.Provider>;
/**
* The Provider to provision EKS cluster.
*/
readonly provisionerProvider: pulumi.Output<pulumiAws.Provider>;
/**
* The IAM Role to provision EKS cluster.
*/
readonly provisionerRole: pulumi.Output<pulumiAws.iam.Role>;
/**
* The IAM Role Polity to provision EKS cluster.
*/
readonly provisionerRolePolicy: pulumi.Output<pulumiAws.iam.RolePolicy>;
/**
* The IAM Role assumed by the EKS Cluster.
*/
readonly role: pulumi.Output<pulumiAws.iam.Role>;
/**
* The IAM Role Policy Attachment to assign the IAM Policies to the IAM Role.
*/
readonly rolePolicyAttachment: pulumi.Output<pulumiAws.iam.RolePolicyAttachment>;
/**
* The Security Group associated to the EKS Cluster.
*/
readonly securityGroup: pulumi.Output<pulumiAws.ec2.SecurityGroup>;
/**
* EC2 Tags used for provisioning Load Balancers.
*/
readonly subnetTags: pulumi.Output<pulumiAws.ec2.Tag[]>;
/**
* 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<inputs.kubernetes.AddonsArgs>;
/**
* Configure the Kubernetes cluster API.
*/
api?: pulumi.Input<inputs.kubernetes.ClusterApiArgs>;
/**
* Configure authentication integrated with AWS IAM.
*/
authentication?: pulumi.Input<inputs.kubernetes.ClusterAuthenticationArgs>;
/**
* Configure the cluster observability for logging.
*/
logging?: pulumi.Input<inputs.kubernetes.FluentbitLoggingArgs>;
/**
* Configure the cluster observability for metrics.
*/
metrics?: pulumi.Input<inputs.kubernetes.AdotApplicationMetricsArgs>;
/**
* Configure the cluster networking.
*/
networking?: pulumi.Input<inputs.kubernetes.ClusterNetworkingArgs>;
/**
* The NodeGroups to be assigned to this cluster.
*/
nodeGroups?: pulumi.Input<pulumi.Input<inputs.kubernetes.ClusterNodeGroupArgs>[]>;
/**
* The OIDC Providers configuration.
*/
oidcProviders?: pulumi.Input<inputs.kubernetes.ClusterOidcProvidersArgs>;
/**
* The list of private subnet ids where for the EKS cluster. These subnets will be tagged for Kubernetes purposes.
*/
privateSubnetIds?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The list of public subnet ids where for the EKS cluster. These subnets will be tagged for Kubernetes purposes.
*/
publicSubnetIds?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Desired Kubernetes version for control plane. Defaults to '1.23'.
*/
version?: pulumi.Input<string>;
/**
* The VPC ID where the cluster will be deployed
*/
vpcId?: pulumi.Input<string>;
}