Using `EksFunctions.getCluster` in java throws an error
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 85
- Forks
- 26
- Avg merge
- 11h 49m
- Merged PRs (30d)
- 22
Description
What happened?
When getting a cluster by it's name, the pulumi program throws an error
Example
EksFunctions.getCluster( GetClusterArgs.builder().name(clusterName).build() )
throws
error: Running program [PID: 125](/opt/java/openjdk/bin/java -jar ../../app/classpath/installer.jar) failed with an unhandled exception:
2025-02-18T16:24:29.864957006Z java.lang.UnsupportedOperationException: Convert [aws-native:eks:getCluster result]: Error converting 'com.google.common.collect.RegularImmutableMap' to 'TypeShape{type=class com.pulumi.awsnative.eks.outputs.GetClusterResult, parameters=[]}'. Expected type 'com.pulumi.awsnative.eks.outputs.GetClusterResult' (annotated with 'com.pulumi.core.annotations.CustomType') to have a setter annotated with @com.pulumi.core.annotations.CustomType$Setter("encryptionConfig"), got: storageConfig,computeConfig,zonalShiftConfig,version,tags,upgradePolicy,clusterSecurityGroupId,endpoint,resourcesVpcConfig,openIdConnectIssuerUrl,accessConfig,logging,certificateAuthorityData,id,arn,encryptionConfigKeyArn,kubernetesNetworkConfig
2025-02-18T16:24:29.864967798Z at com.pulumi.serialization.internal.Converter.convertObjectUntyped(Converter.java:119)
2025-02-18T16:24:29.864969465Z at com.pulumi.serialization.internal.Converter.convertValue(Converter.java:86)
2025-02-18T16:24:29.864971631Z at com.pulumi.deployment.internal.DeploymentImpl$Invoke.parseInvokeResponse(DeploymentImpl.java:596)
2025-02-18T16:24:29.864973173Z at com.pulumi.deployment.internal.DeploymentImpl$Invoke.lambda$invoke$2(DeploymentImpl.java:535)
2025-02-18T16:24:29.864974673Z at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)
2025-02-18T16:24:29.864976131Z at java.base/java.util.concurrent.CompletableFuture.postComplete(Unknown Source)
2025-02-18T16:24:29.864977590Z at java.base/java.util.concurrent.CompletableFuture.complete(Unknown Source)
2025-02-18T16:24:29.864979090Z at net.javacrumbs.futureconverter.guavacommon.GuavaFutureUtils$ListenableFutureBackedValueSourceFuture$1.onSuccess(GuavaFutureUtils.java:139)
2025-02-18T16:24:29.864980673Z at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1133)
2025-02-18T16:24:29.864982090Z at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31)
2025-02-18T16:24:29.864983548Z at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1286)
2025-02-18T16:24:29.864985006Z at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:1055)
2025-02-18T16:24:29.864986465Z at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:782)
2025-02-18T16:24:29.864987881Z at io.grpc.stub.ClientCalls$GrpcFuture.set(ClientCalls.java:573)
2025-02-18T16:24:29.864989298Z at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:546)
2025-02-18T16:24:29.864990756Z at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:567)
2025-02-18T16:24:29.864992173Z at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:71)
2025-02-18T16:24:29.864993715Z at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:735)
2025-02-18T16:24:29.864995256Z at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:716)
2025-02-18T16:24:29.864996756Z at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
2025-02-18T16:24:29.864998215Z at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
2025-02-18T16:24:29.864999631Z at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
2025-02-18T16:24:29.865002381Z at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
2025-02-18T16:24:29.865003840Z at java.base/java.lang.Thread.run(Unknown Source)
2025-02-18T16:24:29.865005715Z Caused by: java.lang.IllegalArgumentException: Expected type 'com.pulumi.awsnative.eks.outputs.GetClusterResult' (annotated with 'com.pulumi.core.annotations.CustomType') to have a setter annotated with @com.pulumi.core.annotations.CustomType$Setter("encryptionConfig"), got: storageConfig,computeConfig,zonalShiftConfig,version,tags,upgradePolicy,clusterSecurityGroupId,endpoint,resourcesVpcConfig,openIdConnectIssuerUrl,accessConfig,logging,certificateAuthorityData,id,arn,encryptionConfigKeyArn,kubernetesNetworkConfig
2025-02-18T16:24:29.865008048Z at com.pulumi.serialization.internal.Converter.lambda$tryConvertObjectInner$5(Converter.java:315)
2025-02-18T16:24:29.865009590Z at java.base/java.util.HashMap.forEach(Unknown Source)
2025-02-18T16:24:29.865010965Z at com.pulumi.serialization.internal.Converter.tryConvertObjectInner(Converter.java:313)
2025-02-18T16:24:29.865012423Z at com.pulumi.serialization.internal.Converter.convertObjectUntyped(Converter.java:115)
2025-02-18T16:24:29.865013840Z ... 23 more
2025-02-18T16:24:29.865015256Z error: an unhandled error occurred: '/opt/java/openjdk/bin/java -jar ../../app/classpath/installer.jar' exited with non-zero exit code: 32
Output of pulumi about
CLI
2025-02-18T16:38:56.540849463Z Version 3.149.0
2025-02-18T16:38:56.540855171Z Go Version go1.23.6
2025-02-18T16:38:56.540858130Z Go Compiler gc
2025-02-18T16:38:56.540860796Z
2025-02-18T16:38:56.540863338Z Plugins
2025-02-18T16:38:56.540865755Z KIND NAME VERSION
2025-02-18T16:38:56.540868338Z resource aws-native 1.25.0
2025-02-18T16:38:56.540870755Z language java 1.2.0
2025-02-18T16:38:56.540873171Z resource kubernetes 4.21.1
2025-02-18T16:38:56.540875713Z
2025-02-18T16:38:56.540878046Z Host
2025-02-18T16:38:56.540880546Z OS redhat
2025-02-18T16:38:56.540882921Z Version 9.5
2025-02-18T16:38:56.540885338Z Arch aarch64
2025-02-18T16:38:56.540887796Z
2025-02-18T16:38:56.540890255Z This project is written in java: executable='/opt/java/openjdk/bin/java' version='openjdk 21.0.5 2024-10-15 LTS
2025-02-18T16:38:56.540893755Z OpenJDK Runtime Environment Temurin-21.0.5+11 (build 21.0.5+11-LTS)
2025-02-18T16:38:56.540896630Z OpenJDK 64-Bit Server VM Temurin-21.0.5+11 (build 21.0.5+11-LTS, mixed mode, sharing)' java='/opt/java/openjdk/bin/java' javac='unknown'
2025-02-18T16:38:56.540917630Z
Additional context
I am migrating from aws to aws-native and am trying to map the functionality 1 to 1
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with EksFunctions.getCluster and GetClusterArgs, then trace the Converter.java failure shown in the stack trace for the encryptionConfig field. Compare the returned fields with GetClusterResult and run a reproduction using the provided Pulumi versions; done means the call converts successfully without the UnsupportedOperationException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, java
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100