Skip to content

Commit

Permalink
ssh role add missing parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
Fernando J Pando committed Feb 19, 2019
1 parent 6d38490 commit ec788d7
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 0 deletions.
18 changes: 18 additions & 0 deletions vault/resource_ssh_secret_backend_role.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,14 @@ func sshSecretBackendRoleResource() *schema.Resource {
Type: schema.TypeString,
Optional: true,
},
"default_extensions": {
Type: schema.TypeMap,
Optional: true,
},
"default_critical_options": {
Type: schema.TypeMap,
Optional: true,
},
"allowed_users": {
Type: schema.TypeString,
Optional: true,
Expand Down Expand Up @@ -134,6 +142,14 @@ func sshSecretBackendRoleWrite(d *schema.ResourceData, meta interface{}) error {
data["allowed_extensions"] = v.(string)
}

if v, ok := d.GetOk("default_extensions"); ok {
data["default_extensions"] = v
}

if v, ok := d.GetOk("default_critical_options"); ok {
data["default_critical_options"] = v
}

if v, ok := d.GetOk("allowed_users"); ok {
data["allowed_users"] = v.(string)
}
Expand Down Expand Up @@ -206,6 +222,8 @@ func sshSecretBackendRoleRead(d *schema.ResourceData, meta interface{}) error {
d.Set("allowed_critical_options", role.Data["allowed_critical_options"])
d.Set("allowed_domains", role.Data["allowed_domains"])
d.Set("allowed_extensions", role.Data["allowed_extensions"])
d.Set("default_extensions", role.Data["default_extensions"])
d.Set("default_critical_options", role.Data["default_critical_options"])
d.Set("allowed_users", role.Data["allowed_users"])
d.Set("default_user", role.Data["default_user"])
d.Set("key_id_format", role.Data["key_id_format"])
Expand Down
8 changes: 8 additions & 0 deletions vault/resource_ssh_secret_backend_role_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ func TestAccSSHSecretBackendRole_basic(t *testing.T) {
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "allowed_critical_options", ""),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "allowed_domains", ""),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "allowed_extensions", ""),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "default_extensions.%", "0"),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "default_critical_options.%", "0"),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "allowed_users", ""),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "default_user", ""),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "key_id_format", ""),
Expand All @@ -52,6 +54,8 @@ func TestAccSSHSecretBackendRole_basic(t *testing.T) {
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "allowed_critical_options", "foo,bar"),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "allowed_domains", "example.com,foo.com"),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "allowed_extensions", "ext1,ext2"),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "default_extensions.ext1", ""),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "default_critical_options.opt1", ""),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "allowed_users", "usr1,usr2"),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "default_user", "usr"),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "key_id_format", "{{role_name}}-test"),
Expand Down Expand Up @@ -85,6 +89,8 @@ func TestAccSSHSecretBackendRole_import(t *testing.T) {
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "allowed_critical_options", "foo,bar"),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "allowed_domains", "example.com,foo.com"),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "allowed_extensions", "ext1,ext2"),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "default_extensions.ext1", ""),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "default_critical_options.opt1", ""),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "allowed_users", "usr1,usr2"),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "default_user", "usr"),
resource.TestCheckResourceAttr("vault_ssh_secret_backend_role.test_role", "key_id_format", "{{role_name}}-test"),
Expand Down Expand Up @@ -155,6 +161,8 @@ resource "vault_ssh_secret_backend_role" "test_role" {
allowed_critical_options = "foo,bar"
allowed_domains = "example.com,foo.com"
allowed_extensions = "ext1,ext2"
default_extensions = { "ext1" = "" }
default_critical_options = { "opt1" = "" }
allowed_users = "usr1,usr2"
default_user = "usr"
key_id_format = "{{role_name}}-test"
Expand Down
4 changes: 4 additions & 0 deletions website/docs/r/ssh_secret_backend_role.html.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ The following arguments are supported:

* `allowed_extensions` - (Optional) Specifies a comma-separated list of extensions that certificates can have when signed.

* `default_extensions` - (Optional) Specifies a map of extensions that certificates have when signed.

* `default_critical_options` - (Optional) Specifies a map of critical options that certificates have when signed.

* `allowed_users` - (Optional) Specifies a comma-separated list of usernames that are to be allowed, only if certain usernames are to be allowed.

* `default_user` - (Optional) Specifies the default username for which a credential will be generated.
Expand Down

0 comments on commit ec788d7

Please sign in to comment.