UNPKG

@pulumi/eks

Version:

[![Build Status](https://github.com/pulumi/pulumi-eks/actions/workflows/master.yml/badge.svg)](https://github.com/pulumi/pulumi-eks/actions/workflows/master.yml) [![Slack](http://www.pulumi.com/images/docs/badges/slack.svg)](https://slack.pulumi.com) [![n

72 lines (71 loc) 3.25 kB
import * as aws from '@pulumi/aws'; import * as pulumi from '@pulumi/pulumi'; import { NodeGroup } from './nodeGroup'; import { ClusterArgs } from './cluster'; import { Provider } from '@pulumi/kubernetes'; import { ClusterNodeGroupOptionsArgs, KubeconfigOptionsArgs, RoleMappingArgs } from './types/input'; declare module "./cluster" { interface Cluster { /** * A Kubernetes resource provider that can be used to deploy into this cluster. For example, the code below will * create a new Pod in the EKS cluster. * * let eks = new Cluster("eks"); * let pod = new kubernetes.core.v1.Pod("pod", { ... }, { provider: eks.provider }); * */ provider: Provider; /** * Create a self-managed node group using CloudFormation and an ASG. * * See for more details: * https://docs.aws.amazon.com/eks/latest/userguide/worker.html */ createNodeGroup(name: string, args: ClusterNodeGroupOptionsArgs): NodeGroup; } } /** * KubeconfigOptions represents the AWS credentials to scope a given kubeconfig * when using a non-default credential chain. * * The options can be used independently, or additively. * * A scoped kubeconfig is necessary for certain auth scenarios. For example: * 1. Assume a role on the default account caller, * 2. Use an AWS creds profile instead of the default account caller, * 3. Use an AWS creds creds profile instead of the default account caller, * and then assume a given role on the profile. This scenario is also * possible by only using a profile, iff the profile includes a role to * assume in its settings. * * See for more details: * - https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html * - https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html * - https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html */ export interface KubeconfigOptions extends KubeconfigOptionsArgs { } /** * RoleMapping describes a mapping from an AWS IAM role to a Kubernetes user and groups. */ export interface RoleMapping extends RoleMappingArgs { } /** * ClusterOptions describes the configuration options accepted by an EKSCluster component. */ export interface ClusterOptions extends ClusterArgs { } /** * CreationRoleProvider is a component containing the AWS Role and Provider necessary to override the `[system:master]` * entity ARN. This is an optional argument used in `ClusterOptions`. Read more: https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html */ export interface CreationRoleProvider { role: aws.iam.Role; provider: pulumi.ProviderResource; } /** * getRoleProvider creates a role provider that can be passed to `new eks.Cluster("test", { * creationRoleProvider: ... })`. This can be used to provide a specific role to use for the * creation of the EKS cluster different from the role being used to run the Pulumi deployment. */ export declare function getRoleProvider(name: string, region?: pulumi.Input<aws.Region>, profile?: pulumi.Input<string>, parent?: pulumi.ComponentResource, provider?: pulumi.ProviderResource): CreationRoleProvider;