AWS v6.73.0 published on Wednesday, Mar 19, 2025 by Pulumi
aws.eks.getAddonVersion
Explore with Pulumi AI
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.applyValue(getAddonVersionResult -> getAddonVersionResult.version()))
            .build());
        ctx.export("default", default_.version());
        ctx.export("latest", latest.applyValue(getAddonVersionResult -> getAddonVersionResult.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 dictionaryThe 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 awsTerraform Provider.