UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

81 lines (80 loc) 2.38 kB
import { Construct, IConstruct } from 'constructs'; import { ICluster } from './cluster'; import * as iam from '../../aws-iam'; import { NestedStack } from '../../core'; /** * Properties for a KubectlProvider */ export interface KubectlProviderProps { /** * The cluster to control. */ readonly cluster: ICluster; } /** * Kubectl Provider Attributes */ export interface KubectlProviderAttributes { /** * The custom resource provider's service token. */ readonly functionArn: string; /** * The IAM role to assume in order to perform kubectl operations against this cluster. */ readonly kubectlRoleArn: string; /** * The IAM execution role of the handler. This role must be able to assume kubectlRoleArn */ readonly handlerRole: iam.IRole; } /** * Imported KubectlProvider that can be used in place of the default one created by CDK */ export interface IKubectlProvider extends IConstruct { /** * The custom resource provider's service token. */ readonly serviceToken: string; /** * The IAM role to assume in order to perform kubectl operations against this cluster. */ readonly roleArn: string; /** * The IAM execution role of the handler. */ readonly handlerRole: iam.IRole; } /** * Implementation of Kubectl Lambda */ export declare class KubectlProvider extends NestedStack implements IKubectlProvider { /** * Take existing provider or create new based on cluster * * @param scope Construct * @param cluster k8s cluster */ static getOrCreate(scope: Construct, cluster: ICluster): IKubectlProvider; /** * Import an existing provider * * @param scope Construct * @param id an id of resource * @param attrs attributes for the provider */ static fromKubectlProviderAttributes(scope: Construct, id: string, attrs: KubectlProviderAttributes): IKubectlProvider; /** * The custom resource provider's service token. */ readonly serviceToken: string; /** * The IAM role to assume in order to perform kubectl operations against this cluster. */ readonly roleArn: string; /** * The IAM execution role of the handler. */ readonly handlerRole: iam.IRole; constructor(scope: Construct, id: string, props: KubectlProviderProps); }