Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
177f163
Initial changes for supporting EKS Capability
punkwalker Nov 17, 2025
5f9f000
use public SDK release
punkwalker Dec 1, 2025
c992f1b
update go.mod and go.sum
punkwalker Dec 1, 2025
612560c
add changelog entry
punkwalker Dec 1, 2025
53fccf2
remove go dependency changes
punkwalker Dec 1, 2025
cb800c6
Merge commit '9b36407fafa2094edc842fcff478cb5da93b69d9' into HEAD
ewbankkit Dec 1, 2025
872cc34
r/aws_eks_capability: Terraform Plugin Framework implementation.
ewbankkit Dec 1, 2025
38e11de
r/aws_eks_capability: Switch to Terraform Plugin Framework implementa…
ewbankkit Dec 1, 2025
4327cc6
r/aws_eks_capability: Update documentation.
ewbankkit Dec 1, 2025
9e13d9f
r/aws_eks_capability: Initial acceptance tests.
ewbankkit Dec 1, 2025
1185987
Acceptance test output:
ewbankkit Dec 1, 2025
1895d18
r/aws_eks_capability: Remove Terraform Plugin SDK implementation.
ewbankkit Dec 1, 2025
4a6747b
Correct source file name.
ewbankkit Dec 1, 2025
2912d6e
eks: Tidy up finders.
ewbankkit Dec 1, 2025
6fa6b5c
r/aws_eks_capability: Better error reporting.
ewbankkit Dec 1, 2025
c84723e
Merge branch 'main' into HEAD
ewbankkit Dec 1, 2025
1b5b398
Fix terrafmt errors.
ewbankkit Dec 1, 2025
440ecc4
Fix documentation subcategory.
ewbankkit Dec 1, 2025
4c05dbf
Fix tdproviderdocs "import section code block type 'console' should b…
ewbankkit Dec 1, 2025
fccf2fc
Add 'TestAccEKSCapability_argoCD'.
ewbankkit Dec 1, 2025
c18a8b4
Acceptance test output:
ewbankkit Dec 1, 2025
a8397c2
Add 'TestAccEKSCapability_ArgoCD_rbac'.
ewbankkit Dec 2, 2025
787af24
Standardize acceptance testing Identity Store user and group handling.
ewbankkit Dec 2, 2025
ec2c4ee
TestAccEKSCapability_ArgoCD_rbac: Use standard environment variables.
ewbankkit Dec 2, 2025
82b53fa
r/aws_eks_capability: fix `gocritic` linter finding
jar-b Dec 2, 2025
4851f27
docs: document `AWS_IDENTITY_STORE_GROUP_ID` acctest variable
jar-b Dec 2, 2025
e84781c
r/aws_eks_capability(test): switch to `AWS_IDENTITY_STORE_GROUP_ID` e…
jar-b Dec 2, 2025
7cb65c6
r/aws_ssoadmin_account_assignment: Use 'AWS_IDENTITY_STORE_USER_NAME'.
ewbankkit Dec 2, 2025
725b9fc
r/aws_eks_capability: Add 'configuration.argo_cd.server_url' attribute.
ewbankkit Dec 2, 2025
d1a6f00
Ignore 'RbacRoleMappings' for AutoFlEx during update.
ewbankkit Dec 2, 2025
7a57a35
Update website/docs/r/eks_capability.html.markdown
ewbankkit Dec 2, 2025
4e2b376
Normalize.
ewbankkit Dec 2, 2025
03bcbad
Merge commit '4e2b376ee156774c1cfa98163bb87170cb99183a' into HEAD
ewbankkit Dec 2, 2025
1a2f3af
Merge branch 'main' into HEAD
ewbankkit Dec 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .changelog/45326.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:new-resource
aws_eks_capability
```
4 changes: 4 additions & 0 deletions docs/acc-test-environment-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,10 @@ Environment variables (beyond standard AWS Go SDK ones) used by acceptance testi
| `AWS_EC2_VERIFIED_ACCESS_INSTANCE_LIMIT` | Concurrency limit for Verified Access acceptance tests. [Default is 5](https://docs.aws.amazon.com/verified-access/latest/ug/verified-access-quotas.html) if not specified. |
| `AWS_GUARDDUTY_MEMBER_ACCOUNT_ID` | Identifier of AWS Account for GuardDuty Member testing. **DEPRECATED:** Should be replaced with standard alternate account handling for tests. |
| `AWS_GUARDDUTY_MEMBER_EMAIL` | Email address for GuardDuty Member testing. **DEPRECATED:** It may be possible to use a placeholder email address instead. |
| `AWS_IDENTITY_STORE_GROUP_ID` | ID of a valid AWS Identity Store group. |
| `AWS_IDENTITY_STORE_GROUP_NAME` | Name of a valid AWS Identity Store group. |
| `AWS_IDENTITY_STORE_USER_ID` | ID of a valid AWS Identity Store user. |
| `AWS_IDENTITY_STORE_USER_NAME` | Name of a valid AWS Identity Store user. |
| `AWS_LAMBDA_IMAGE_LATEST_ID` | ECR repository image URI (tagged as `latest`) for Lambda container image acceptance tests. |
| `AWS_LAMBDA_IMAGE_V1_ID` | ECR repository image URI (tagged as `v1`) for Lambda container image acceptance tests. |
| `AWS_LAMBDA_IMAGE_V2_ID` | ECR repository image URI (tagged as `v2`) for Lambda container image acceptance tests. |
Expand Down
7 changes: 1 addition & 6 deletions internal/acctest/acctest.go
Original file line number Diff line number Diff line change
Expand Up @@ -2180,12 +2180,7 @@ func CheckResourceAttrIsJSONString(n, key string) resource.TestCheckFunc {
// The variable's value is returned.
func SkipIfEnvVarNotSet(t *testing.T, key string) string {
t.Helper()

v := os.Getenv(key)
if v == "" {
t.Skipf("Environment variable %s is not set, skipping test", key)
}
return v
return envvar.SkipIfEmpty(t, key, "")
}

// SkipIfExeNotOnPath skips the current test if the specified executable is not found in the directories named by the PATH environment variable.
Expand Down
6 changes: 5 additions & 1 deletion internal/envvar/envvar.go
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,11 @@ func SkipIfEmpty(t testing.T, name string, usageMessage string) string {
value := os.Getenv(name)

if value == "" {
t.Skipf("skipping test; environment variable %s must be set. Usage: %s", name, usageMessage)
msg := fmt.Sprintf("skipping test; environment variable %s must be set", name)
if usageMessage != "" {
msg += ". Usage: " + usageMessage
}
t.Skip(msg)
}

return value
Expand Down
27 changes: 7 additions & 20 deletions internal/service/eks/addon.go
Original file line number Diff line number Diff line change
Expand Up @@ -411,11 +411,15 @@ func flattenAddonPodIdentityAssociations(ctx context.Context, associations []str
}

func findAddonByTwoPartKey(ctx context.Context, conn *eks.Client, clusterName, addonName string) (*types.Addon, error) {
input := &eks.DescribeAddonInput{
input := eks.DescribeAddonInput{
AddonName: aws.String(addonName),
ClusterName: aws.String(clusterName),
}

return findAddon(ctx, conn, &input)
}

func findAddon(ctx context.Context, conn *eks.Client, input *eks.DescribeAddonInput) (*types.Addon, error) {
output, err := conn.DescribeAddon(ctx, input)

if errs.IsA[*types.ResourceNotFoundException](err) {
Expand All @@ -437,30 +441,13 @@ func findAddonByTwoPartKey(ctx context.Context, conn *eks.Client, clusterName, a
}

func findAddonUpdateByThreePartKey(ctx context.Context, conn *eks.Client, clusterName, addonName, id string) (*types.Update, error) {
input := &eks.DescribeUpdateInput{
input := eks.DescribeUpdateInput{
AddonName: aws.String(addonName),
Name: aws.String(clusterName),
UpdateId: aws.String(id),
}

output, err := conn.DescribeUpdate(ctx, input)

if errs.IsA[*types.ResourceNotFoundException](err) {
return nil, &retry.NotFoundError{
LastError: err,
LastRequest: input,
}
}

if err != nil {
return nil, err
}

if output == nil || output.Update == nil {
return nil, tfresource.NewEmptyResultError(input)
}

return output.Update, nil
return findUpdate(ctx, conn, &input)
}

func statusAddon(ctx context.Context, conn *eks.Client, clusterName, addonName string) retry.StateRefreshFunc {
Expand Down
Loading
Loading