github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/eks/getAddonVersion.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package eks 5 6 import ( 7 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Retrieve information about a specific EKS add-on version compatible with an EKS cluster version. 15 // 16 // ## Example Usage 17 // 18 // <!--Start PulumiCodeChooser --> 19 // ```go 20 // package main 21 // 22 // import ( 23 // 24 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks" 25 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 26 // 27 // ) 28 // 29 // func main() { 30 // pulumi.Run(func(ctx *pulumi.Context) error { 31 // _default, err := eks.GetAddonVersion(ctx, &eks.GetAddonVersionArgs{ 32 // AddonName: "vpc-cni", 33 // KubernetesVersion: example.Version, 34 // }, nil) 35 // if err != nil { 36 // return err 37 // } 38 // latest, err := eks.GetAddonVersion(ctx, &eks.GetAddonVersionArgs{ 39 // AddonName: "vpc-cni", 40 // KubernetesVersion: example.Version, 41 // MostRecent: pulumi.BoolRef(true), 42 // }, nil) 43 // if err != nil { 44 // return err 45 // } 46 // _, err = eks.NewAddon(ctx, "vpc_cni", &eks.AddonArgs{ 47 // ClusterName: pulumi.Any(example.Name), 48 // AddonName: pulumi.String("vpc-cni"), 49 // AddonVersion: pulumi.String(latest.Version), 50 // }) 51 // if err != nil { 52 // return err 53 // } 54 // ctx.Export("default", _default.Version) 55 // ctx.Export("latest", latest.Version) 56 // return nil 57 // }) 58 // } 59 // 60 // ``` 61 // <!--End PulumiCodeChooser --> 62 func GetAddonVersion(ctx *pulumi.Context, args *GetAddonVersionArgs, opts ...pulumi.InvokeOption) (*GetAddonVersionResult, error) { 63 opts = internal.PkgInvokeDefaultOpts(opts) 64 var rv GetAddonVersionResult 65 err := ctx.Invoke("aws:eks/getAddonVersion:getAddonVersion", args, &rv, opts...) 66 if err != nil { 67 return nil, err 68 } 69 return &rv, nil 70 } 71 72 // A collection of arguments for invoking getAddonVersion. 73 type GetAddonVersionArgs struct { 74 // Name of the EKS add-on. The name must match one of 75 // the names returned by [list-addon](https://docs.aws.amazon.com/cli/latest/reference/eks/list-addons.html). 76 AddonName string `pulumi:"addonName"` 77 // 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\-_]+$`). 78 KubernetesVersion string `pulumi:"kubernetesVersion"` 79 // Determines if the most recent or default version of the addon should be returned. 80 MostRecent *bool `pulumi:"mostRecent"` 81 } 82 83 // A collection of values returned by getAddonVersion. 84 type GetAddonVersionResult struct { 85 AddonName string `pulumi:"addonName"` 86 // The provider-assigned unique ID for this managed resource. 87 Id string `pulumi:"id"` 88 KubernetesVersion string `pulumi:"kubernetesVersion"` 89 MostRecent *bool `pulumi:"mostRecent"` 90 // Version of the EKS add-on. 91 Version string `pulumi:"version"` 92 } 93 94 func GetAddonVersionOutput(ctx *pulumi.Context, args GetAddonVersionOutputArgs, opts ...pulumi.InvokeOption) GetAddonVersionResultOutput { 95 return pulumi.ToOutputWithContext(context.Background(), args). 96 ApplyT(func(v interface{}) (GetAddonVersionResult, error) { 97 args := v.(GetAddonVersionArgs) 98 r, err := GetAddonVersion(ctx, &args, opts...) 99 var s GetAddonVersionResult 100 if r != nil { 101 s = *r 102 } 103 return s, err 104 }).(GetAddonVersionResultOutput) 105 } 106 107 // A collection of arguments for invoking getAddonVersion. 108 type GetAddonVersionOutputArgs struct { 109 // Name of the EKS add-on. The name must match one of 110 // the names returned by [list-addon](https://docs.aws.amazon.com/cli/latest/reference/eks/list-addons.html). 111 AddonName pulumi.StringInput `pulumi:"addonName"` 112 // 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\-_]+$`). 113 KubernetesVersion pulumi.StringInput `pulumi:"kubernetesVersion"` 114 // Determines if the most recent or default version of the addon should be returned. 115 MostRecent pulumi.BoolPtrInput `pulumi:"mostRecent"` 116 } 117 118 func (GetAddonVersionOutputArgs) ElementType() reflect.Type { 119 return reflect.TypeOf((*GetAddonVersionArgs)(nil)).Elem() 120 } 121 122 // A collection of values returned by getAddonVersion. 123 type GetAddonVersionResultOutput struct{ *pulumi.OutputState } 124 125 func (GetAddonVersionResultOutput) ElementType() reflect.Type { 126 return reflect.TypeOf((*GetAddonVersionResult)(nil)).Elem() 127 } 128 129 func (o GetAddonVersionResultOutput) ToGetAddonVersionResultOutput() GetAddonVersionResultOutput { 130 return o 131 } 132 133 func (o GetAddonVersionResultOutput) ToGetAddonVersionResultOutputWithContext(ctx context.Context) GetAddonVersionResultOutput { 134 return o 135 } 136 137 func (o GetAddonVersionResultOutput) AddonName() pulumi.StringOutput { 138 return o.ApplyT(func(v GetAddonVersionResult) string { return v.AddonName }).(pulumi.StringOutput) 139 } 140 141 // The provider-assigned unique ID for this managed resource. 142 func (o GetAddonVersionResultOutput) Id() pulumi.StringOutput { 143 return o.ApplyT(func(v GetAddonVersionResult) string { return v.Id }).(pulumi.StringOutput) 144 } 145 146 func (o GetAddonVersionResultOutput) KubernetesVersion() pulumi.StringOutput { 147 return o.ApplyT(func(v GetAddonVersionResult) string { return v.KubernetesVersion }).(pulumi.StringOutput) 148 } 149 150 func (o GetAddonVersionResultOutput) MostRecent() pulumi.BoolPtrOutput { 151 return o.ApplyT(func(v GetAddonVersionResult) *bool { return v.MostRecent }).(pulumi.BoolPtrOutput) 152 } 153 154 // Version of the EKS add-on. 155 func (o GetAddonVersionResultOutput) Version() pulumi.StringOutput { 156 return o.ApplyT(func(v GetAddonVersionResult) string { return v.Version }).(pulumi.StringOutput) 157 } 158 159 func init() { 160 pulumi.RegisterOutputType(GetAddonVersionResultOutput{}) 161 }