1. Packages
  2. AWS
  3. API Docs
  4. eks
  5. getAddonVersion
AWS v6 v6.83.2 published on Thursday, Nov 20, 2025 by Pulumi
aws-v6 logo
AWS v6 v6.83.2 published on Thursday, Nov 20, 2025 by Pulumi

    Retrieve information about a specific EKS add-on version compatible with an EKS cluster version.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    export = async () => {
        const _default = await aws.eks.getAddonVersion({
            addonName: "vpc-cni",
            kubernetesVersion: example.version,
        });
        const latest = await aws.eks.getAddonVersion({
            addonName: "vpc-cni",
            kubernetesVersion: example.version,
            mostRecent: true,
        });
        const vpcCni = new aws.eks.Addon("vpc_cni", {
            clusterName: example.name,
            addonName: "vpc-cni",
            addonVersion: latest.version,
        });
        return {
            "default": _default.version,
            latest: latest.version,
        };
    }
    
    import pulumi
    import pulumi_aws as aws
    
    default = aws.eks.get_addon_version(addon_name="vpc-cni",
        kubernetes_version=example["version"])
    latest = aws.eks.get_addon_version(addon_name="vpc-cni",
        kubernetes_version=example["version"],
        most_recent=True)
    vpc_cni = aws.eks.Addon("vpc_cni",
        cluster_name=example["name"],
        addon_name="vpc-cni",
        addon_version=latest.version)
    pulumi.export("default", default.version)
    pulumi.export("latest", latest.version)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_default, err := eks.GetAddonVersion(ctx, &eks.GetAddonVersionArgs{
    			AddonName:         "vpc-cni",
    			KubernetesVersion: example.Version,
    		}, nil)
    		if err != nil {
    			return err
    		}
    		latest, err := eks.GetAddonVersion(ctx, &eks.GetAddonVersionArgs{
    			AddonName:         "vpc-cni",
    			KubernetesVersion: example.Version,
    			MostRecent:        pulumi.BoolRef(true),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = eks.NewAddon(ctx, "vpc_cni", &eks.AddonArgs{
    			ClusterName:  pulumi.Any(example.Name),
    			AddonName:    pulumi.String("vpc-cni"),
    			AddonVersion: pulumi.String(latest.Version),
    		})
    		if err != nil {
    			return err
    		}
    		ctx.Export("default", _default.Version)
    		ctx.Export("latest", latest.Version)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var @default = Aws.Eks.GetAddonVersion.Invoke(new()
        {
            AddonName = "vpc-cni",
            KubernetesVersion = example.Version,
        });
    
        var latest = Aws.Eks.GetAddonVersion.Invoke(new()
        {
            AddonName = "vpc-cni",
            KubernetesVersion = example.Version,
            MostRecent = true,
        });
    
        var vpcCni = new Aws.Eks.Addon("vpc_cni", new()
        {
            ClusterName = example.Name,
            AddonName = "vpc-cni",
            AddonVersion = latest.Apply(getAddonVersionResult => getAddonVersionResult.Version),
        });
    
        return new Dictionary<string, object?>
        {
            ["default"] = @default.Apply(@default => @default.Apply(getAddonVersionResult => getAddonVersionResult.Version)),
            ["latest"] = latest.Apply(getAddonVersionResult => getAddonVersionResult.Version),
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.eks.EksFunctions;
    import com.pulumi.aws.eks.inputs.GetAddonVersionArgs;
    import com.pulumi.aws.eks.Addon;
    import com.pulumi.aws.eks.AddonArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var default = EksFunctions.getAddonVersion(GetAddonVersionArgs.builder()
                .addonName("vpc-cni")
                .kubernetesVersion(example.version())
                .build());
    
            final var latest = EksFunctions.getAddonVersion(GetAddonVersionArgs.builder()
                .addonName("vpc-cni")
                .kubernetesVersion(example.version())
                .mostRecent(true)
                .build());
    
            var vpcCni = new Addon("vpcCni", AddonArgs.builder()
                .clusterName(example.name())
                .addonName("vpc-cni")
                .addonVersion(latest.version())
                .build());
    
            ctx.export("default", default_.version());
            ctx.export("latest", latest.version());
        }
    }
    
    resources:
      vpcCni:
        type: aws:eks:Addon
        name: vpc_cni
        properties:
          clusterName: ${example.name}
          addonName: vpc-cni
          addonVersion: ${latest.version}
    variables:
      default:
        fn::invoke:
          function: aws:eks:getAddonVersion
          arguments:
            addonName: vpc-cni
            kubernetesVersion: ${example.version}
      latest:
        fn::invoke:
          function: aws:eks:getAddonVersion
          arguments:
            addonName: vpc-cni
            kubernetesVersion: ${example.version}
            mostRecent: true
    outputs:
      default: ${default.version}
      latest: ${latest.version}
    

    Using getAddonVersion

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getAddonVersion(args: GetAddonVersionArgs, opts?: InvokeOptions): Promise<GetAddonVersionResult>
    function getAddonVersionOutput(args: GetAddonVersionOutputArgs, opts?: InvokeOptions): Output<GetAddonVersionResult>
    def get_addon_version(addon_name: Optional[str] = None,
                          kubernetes_version: Optional[str] = None,
                          most_recent: Optional[bool] = None,
                          opts: Optional[InvokeOptions] = None) -> GetAddonVersionResult
    def get_addon_version_output(addon_name: Optional[pulumi.Input[str]] = None,
                          kubernetes_version: Optional[pulumi.Input[str]] = None,
                          most_recent: Optional[pulumi.Input[bool]] = None,
                          opts: Optional[InvokeOptions] = None) -> Output[GetAddonVersionResult]
    func GetAddonVersion(ctx *Context, args *GetAddonVersionArgs, opts ...InvokeOption) (*GetAddonVersionResult, error)
    func GetAddonVersionOutput(ctx *Context, args *GetAddonVersionOutputArgs, opts ...InvokeOption) GetAddonVersionResultOutput

    > Note: This function is named GetAddonVersion in the Go SDK.

    public static class GetAddonVersion 
    {
        public static Task<GetAddonVersionResult> InvokeAsync(GetAddonVersionArgs args, InvokeOptions? opts = null)
        public static Output<GetAddonVersionResult> Invoke(GetAddonVersionInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetAddonVersionResult> getAddonVersion(GetAddonVersionArgs args, InvokeOptions options)
    public static Output<GetAddonVersionResult> getAddonVersion(GetAddonVersionArgs args, InvokeOptions options)
    
    fn::invoke:
      function: aws:eks/getAddonVersion:getAddonVersion
      arguments:
        # arguments dictionary

    The following arguments are supported:

    AddonName string
    Name of the EKS add-on. The name must match one of the names returned by list-addon.
    KubernetesVersion string
    Version of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (^[0-9A-Za-z][A-Za-z0-9\-_]+$).
    MostRecent bool
    Determines if the most recent or default version of the addon should be returned.
    AddonName string
    Name of the EKS add-on. The name must match one of the names returned by list-addon.
    KubernetesVersion string
    Version of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (^[0-9A-Za-z][A-Za-z0-9\-_]+$).
    MostRecent bool
    Determines if the most recent or default version of the addon should be returned.
    addonName String
    Name of the EKS add-on. The name must match one of the names returned by list-addon.
    kubernetesVersion String
    Version of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (^[0-9A-Za-z][A-Za-z0-9\-_]+$).
    mostRecent Boolean
    Determines if the most recent or default version of the addon should be returned.
    addonName string
    Name of the EKS add-on. The name must match one of the names returned by list-addon.
    kubernetesVersion string
    Version of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (^[0-9A-Za-z][A-Za-z0-9\-_]+$).
    mostRecent boolean
    Determines if the most recent or default version of the addon should be returned.
    addon_name str
    Name of the EKS add-on. The name must match one of the names returned by list-addon.
    kubernetes_version str
    Version of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (^[0-9A-Za-z][A-Za-z0-9\-_]+$).
    most_recent bool
    Determines if the most recent or default version of the addon should be returned.
    addonName String
    Name of the EKS add-on. The name must match one of the names returned by list-addon.
    kubernetesVersion String
    Version of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (^[0-9A-Za-z][A-Za-z0-9\-_]+$).
    mostRecent Boolean
    Determines if the most recent or default version of the addon should be returned.

    getAddonVersion Result

    The following output properties are available:

    AddonName string
    Id string
    The provider-assigned unique ID for this managed resource.
    KubernetesVersion string
    Version string
    Version of the EKS add-on.
    MostRecent bool
    AddonName string
    Id string
    The provider-assigned unique ID for this managed resource.
    KubernetesVersion string
    Version string
    Version of the EKS add-on.
    MostRecent bool
    addonName String
    id String
    The provider-assigned unique ID for this managed resource.
    kubernetesVersion String
    version String
    Version of the EKS add-on.
    mostRecent Boolean
    addonName string
    id string
    The provider-assigned unique ID for this managed resource.
    kubernetesVersion string
    version string
    Version of the EKS add-on.
    mostRecent boolean
    addon_name str
    id str
    The provider-assigned unique ID for this managed resource.
    kubernetes_version str
    version str
    Version of the EKS add-on.
    most_recent bool
    addonName String
    id String
    The provider-assigned unique ID for this managed resource.
    kubernetesVersion String
    version String
    Version of the EKS add-on.
    mostRecent Boolean

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws-v6 logo
    AWS v6 v6.83.2 published on Thursday, Nov 20, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate