Skip to content

Commit 8c693e4

Browse files
committed
Added create_sa variable
1 parent 64d2843 commit 8c693e4

File tree

5 files changed

+34
-25
lines changed

5 files changed

+34
-25
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ To use this module and leverage your existing credentials without provisioning a
1818
```hcl
1919
module "azure_cloud_credentials" {
2020
source = "f5devcentral/azure-cloud-credentials/xc"
21-
version = "0.0.3"
21+
version = "0.0.6"
2222
2323
name = "azure-tf-demo-creds"
2424
azure_subscription_id = "your_azure_subscription_id"
@@ -33,9 +33,10 @@ If you want to create a new Azure Service Principal
3333
```hcl
3434
module "azure_cloud_credentials" {
3535
source = "f5devcentral/azure-cloud-credentials/xc"
36-
version = "0.0.3"
36+
version = "0.0.6"
3737
3838
name = "azure-tf-demo-creds"
39+
create_sa = true
3940
end_date_relative = "10d"
4041
}
4142
```

examples/azure-new-account/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,6 @@ module "azure_cloud_credentials" {
1919
source = "../.."
2020

2121
name = "azure-tf-demo-creds"
22+
create_sa = true
2223
end_date_relative = "10h"
2324
}

main.tf

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
1-
locals {
2-
create_sa = var.azure_subscription_id == null || var.azure_tenant_id == null || var.azure_client_secret == null || var.azure_client_id == null
3-
}
4-
51
data "azuread_client_config" "current" {}
62

73
data "azurerm_subscription" "primary" {}
84

95
resource "azurerm_role_definition" "this" {
10-
count = local.create_sa ? 1 : 0
6+
count = var.create_sa ? 1 : 0
117

128
name = var.name
139
scope = data.azurerm_subscription.primary.id
@@ -71,7 +67,7 @@ resource "azurerm_role_definition" "this" {
7167
}
7268

7369
resource "azuread_application" "this" {
74-
count = local.create_sa ? 1 : 0
70+
count = var.create_sa ? 1 : 0
7571

7672
display_name = var.name
7773
owners = [
@@ -80,7 +76,7 @@ resource "azuread_application" "this" {
8076
}
8177

8278
resource "azuread_service_principal" "this" {
83-
count = local.create_sa ? 1 : 0
79+
count = var.create_sa ? 1 : 0
8480

8581
client_id = azuread_application.this[0].client_id
8682
owners = [
@@ -89,15 +85,15 @@ resource "azuread_service_principal" "this" {
8985
}
9086

9187
resource "azuread_service_principal_password" "this" {
92-
count = local.create_sa ? 1 : 0
88+
count = var.create_sa ? 1 : 0
9389

9490
service_principal_id = azuread_service_principal.this[0].id
9591
end_date_relative = var.end_date_relative
9692
end_date = var.end_date
9793
}
9894

9995
resource "azurerm_role_assignment" "this" {
100-
count = local.create_sa ? 1 : 0
96+
count = var.create_sa ? 1 : 0
10197

10298
scope = data.azurerm_subscription.primary.id
10399
role_definition_id = azurerm_role_definition.this[0].role_definition_resource_id
@@ -108,13 +104,13 @@ resource "volterra_cloud_credentials" "this" {
108104
name = var.name
109105
namespace = "system"
110106
azure_client_secret {
111-
client_id = local.create_sa ? azuread_application.this[0].client_id : var.azure_client_id
107+
client_id = var.create_sa ? azuread_application.this[0].client_id : var.azure_client_id
112108
client_secret {
113109
clear_secret_info {
114-
url = "string:///${base64encode(local.create_sa ? azuread_service_principal_password.this[0].value : var.azure_client_secret)}"
110+
url = "string:///${base64encode(var.create_sa ? azuread_service_principal_password.this[0].value : var.azure_client_secret)}"
115111
}
116112
}
117-
subscription_id = local.create_sa ? replace(data.azurerm_subscription.primary.id, "//subscriptions//", "") : var.azure_subscription_id
118-
tenant_id = local.create_sa ? data.azuread_client_config.current.tenant_id : var.azure_tenant_id
113+
subscription_id = var.create_sa ? replace(data.azurerm_subscription.primary.id, "//subscriptions//", "") : var.azure_subscription_id
114+
tenant_id = var.create_sa ? data.azuread_client_config.current.tenant_id : var.azure_tenant_id
119115
}
120116
}

outputs.tf

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,37 @@
11
output "azure_subscription_id" {
2-
value = local.create_sa ? replace(data.azurerm_subscription.primary.id, "//subscriptions//", "") : var.azure_subscription_id
2+
value = var.create_sa ? replace(data.azurerm_subscription.primary.id, "//subscriptions//", "") : var.azure_subscription_id
3+
sensitive = true
34
description = "Azure Subscription ID"
45
}
56

67
output "azure_tenant_id" {
7-
value = local.create_sa ? data.azuread_client_config.current.tenant_id : var.azure_tenant_id
8+
value = var.create_sa ? data.azuread_client_config.current.tenant_id : var.azure_tenant_id
9+
sensitive = true
810
description = "Azure Tenant ID"
911
}
1012

1113
output "azure_client_id" {
12-
value = local.create_sa ? azuread_application.this[0].client_id : var.azure_client_id
13-
description = "Azure Service Principal Application ID"
14+
value = var.create_sa ? azuread_application.this[0].client_id : null
15+
sensitive = true
16+
description = "Created Azure Service Principal Application ID"
1417
}
1518

1619
output "azure_client_secret" {
17-
value = local.create_sa ? azuread_service_principal_password.this[0].value : var.azure_client_secret
20+
value = var.create_sa ? azuread_service_principal_password.this[0].value : null
1821
sensitive = true
19-
description = "Azure Service Principal Password"
22+
description = "Created Azure Service Principal Password"
2023
}
2124

2225
output "azure_role_definition_resource_id" {
23-
value = local.create_sa ? azurerm_role_definition.this[0].role_definition_resource_id : null
24-
description = "Azure Service Principal Password"
26+
value = var.create_sa ? azurerm_role_definition.this[0].role_definition_resource_id : null
27+
sensitive = true
28+
description = "Created Azure Role Definition Resource ID"
2529
}
2630

2731
output "azure_service_principal_id" {
28-
value = local.create_sa ? azuread_service_principal.this[0].id : null
29-
description = "Azure Service Principal ID"
32+
value = var.create_sa ? azuread_service_principal.this[0].id : null
33+
sensitive = true
34+
description = "Created Azure Service Principal ID"
3035
}
3136

3237
output "name" {

variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ variable "name" {
1010
default = ""
1111
}
1212

13+
variable "create_sa" {
14+
description = "Create a new Service Principal"
15+
type = bool
16+
default = false
17+
}
18+
1319
variable "azure_subscription_id" {
1420
description = "Existing Azure Subscription ID"
1521
type = string

0 commit comments

Comments
 (0)