@@ -2,6 +2,7 @@ package vault
22
33import (
44 "fmt"
5+ "regexp"
56 "testing"
67
78 "github.com/hashicorp/terraform-plugin-sdk/helper/acctest"
@@ -96,6 +97,21 @@ func TestAccAWSAuthBackendClient_withoutSecretKey(t *testing.T) {
9697 })
9798}
9899
100+ func TestAccAWSAuthBackendClientStsRegionNoEndpoint (t * testing.T ) {
101+ backend := acctest .RandomWithPrefix ("aws" )
102+ resource .Test (t , resource.TestCase {
103+ PreCheck : func () { testAccPreCheck (t ) },
104+ Providers : testProviders ,
105+ CheckDestroy : testAccCheckAWSAuthBackendClientDestroy ,
106+ Steps : []resource.TestStep {
107+ {
108+ Config : testAccAWSAuthBackendClientConfigSTSRegionNoEndpoint (backend ),
109+ ExpectError : regexp .MustCompile ("both sts_endpoint and sts_region need to be set" ),
110+ },
111+ },
112+ })
113+ }
114+
99115func testAccCheckAWSAuthBackendClientDestroy (s * terraform.State ) error {
100116 client := testProvider .Meta ().(* api.Client )
101117
@@ -146,6 +162,7 @@ func testAccAWSAuthBackendClientCheck_attrs(backend string) resource.TestCheckFu
146162 "ec2_endpoint" : "endpoint" ,
147163 "iam_endpoint" : "iam_endpoint" ,
148164 "sts_endpoint" : "sts_endpoint" ,
165+ "sts_region" : "sts_region" ,
149166 "iam_server_id_header_value" : "iam_server_id_header_value" ,
150167 }
151168 for stateAttr , apiAttr := range attrs {
@@ -175,6 +192,7 @@ resource "vault_aws_auth_backend_client" "client" {
175192 ec2_endpoint = "http://vault.test/ec2"
176193 iam_endpoint = "http://vault.test/iam"
177194 sts_endpoint = "http://vault.test/sts"
195+ sts_region = "vault-test"
178196 iam_server_id_header_value = "vault.test"
179197}
180198` , backend )
@@ -195,6 +213,7 @@ resource "vault_aws_auth_backend_client" "client" {
195213 ec2_endpoint = "http://updated.vault.test/ec2"
196214 iam_endpoint = "http://updated.vault.test/iam"
197215 sts_endpoint = "http://updated.vault.test/sts"
216+ sts_region = "updated-vault-test"
198217 iam_server_id_header_value = "updated.vault.test"
199218}` , backend )
200219}
@@ -213,6 +232,7 @@ resource "vault_aws_auth_backend_client" "client" {
213232 ec2_endpoint = "http://vault.test/ec2"
214233 iam_endpoint = "http://vault.test/iam"
215234 sts_endpoint = "http://vault.test/sts"
235+ sts_region = "vault-test"
216236 iam_server_id_header_value = "vault.test"
217237}` , backend )
218238}
@@ -231,6 +251,25 @@ resource "vault_aws_auth_backend_client" "client" {
231251 ec2_endpoint = "http://updated2.vault.test/ec2"
232252 iam_endpoint = "http://updated2.vault.test/iam"
233253 sts_endpoint = "http://updated2.vault.test/sts"
254+ sts_region = "updated-vault-test"
234255 iam_server_id_header_value = "updated2.vault.test"
235256}` , backend )
236257}
258+
259+ func testAccAWSAuthBackendClientConfigSTSRegionNoEndpoint (backend string ) string {
260+ return fmt .Sprintf (`
261+ resource "vault_auth_backend" "aws" {
262+ path = "%s"
263+ type = "aws"
264+ description = "Test auth backend for AWS backend client config"
265+ }
266+
267+ resource "vault_aws_auth_backend_client" "client" {
268+ backend = "${vault_auth_backend.aws.path}"
269+ access_key = "AWSACCESSKEY"
270+ ec2_endpoint = "http://vault.test/ec2"
271+ iam_endpoint = "http://vault.test/iam"
272+ sts_region = "vault-test"
273+ iam_server_id_header_value = "vault.test"
274+ }` , backend )
275+ }
0 commit comments