Class KubectlProvider

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.Stack
software.amazon.awscdk.NestedStack
software.amazon.awscdk.services.eks.KubectlProvider
All Implemented Interfaces:
ITaggable, IKubectlProvider, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.98.0 (build 00b106d)", date="2024-05-02T15:58:25.548Z") @Stability(Stable) public class KubectlProvider extends NestedStack implements IKubectlProvider
Implementation of Kubectl Lambda.

Example:

 IRole handlerRole = Role.fromRoleArn(this, "HandlerRole", "arn:aws:iam::123456789012:role/lambda-role");
 // get the serivceToken from the custom resource provider
 String functionArn = Function.fromFunctionName(this, "ProviderOnEventFunc", "ProviderframeworkonEvent-XXX").getFunctionArn();
 IKubectlProvider kubectlProvider = KubectlProvider.fromKubectlProviderAttributes(this, "KubectlProvider", KubectlProviderAttributes.builder()
         .functionArn(functionArn)
         .kubectlRoleArn("arn:aws:iam::123456789012:role/kubectl-role")
         .handlerRole(handlerRole)
         .build());
 ICluster cluster = Cluster.fromClusterAttributes(this, "Cluster", ClusterAttributes.builder()
         .clusterName("cluster")
         .kubectlProvider(kubectlProvider)
         .build());
 
  • Constructor Details

    • KubectlProvider

      protected KubectlProvider(software.amazon.jsii.JsiiObjectRef objRef)
    • KubectlProvider

      protected KubectlProvider(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • KubectlProvider

      @Stability(Stable) public KubectlProvider(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull KubectlProviderProps props)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      props - This parameter is required.
  • Method Details

    • fromKubectlProviderAttributes

      @Stability(Stable) @NotNull public static IKubectlProvider fromKubectlProviderAttributes(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull KubectlProviderAttributes attrs)
      Import an existing provider.

      Parameters:
      scope - Construct. This parameter is required.
      id - an id of resource. This parameter is required.
      attrs - attributes for the provider. This parameter is required.
    • getOrCreate

      @Stability(Stable) @NotNull public static IKubectlProvider getOrCreate(@NotNull software.constructs.Construct scope, @NotNull ICluster cluster)
      Take existing provider or create new based on cluster.

      Parameters:
      scope - Construct. This parameter is required.
      cluster - k8s cluster. This parameter is required.
    • getHandlerRole

      @Stability(Stable) @NotNull public IRole getHandlerRole()
      The IAM execution role of the handler.
      Specified by:
      getHandlerRole in interface IKubectlProvider
    • getRoleArn

      @Stability(Stable) @NotNull public String getRoleArn()
      The IAM role to assume in order to perform kubectl operations against this cluster.
      Specified by:
      getRoleArn in interface IKubectlProvider
    • getServiceToken

      @Stability(Stable) @NotNull public String getServiceToken()
      The custom resource provider's service token.
      Specified by:
      getServiceToken in interface IKubectlProvider