Skip to content

Commit 094ff7e

Browse files
DEVOPS-255 apim tf module
1 parent 3bbd727 commit 094ff7e

File tree

4 files changed

+96
-0
lines changed

4 files changed

+96
-0
lines changed

api-management/apim.tf

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
resource "azurerm_resource_group" "rg" {
2+
name = var.resource_group_name
3+
location = var.location
4+
}
5+
6+
resource "azurerm_api_management" "apim" {
7+
name = var.api_management_name
8+
location = var.location
9+
resource_group_name = azurerm_resource_group.rg.name
10+
publisher_name = tostring(var.publisher_name)
11+
publisher_email = tostring(var.publisher_email)
12+
13+
sku_name = "${var.sku_name_part1}_${var.sku_name_part2}"
14+
}

api-management/output.tf

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
output "azure_resource_group_name" {
2+
description = "Azure resource group name"
3+
value = azurerm_resource_group.rg.name
4+
}
5+
6+
output "azure_api_management_name" {
7+
description = "Azure API management name"
8+
value = azurerm_api_management.apim.name
9+
}
10+
11+
output "azure_api_management_location" {
12+
description = "Azure API management location"
13+
value = azurerm_api_management.apim.location
14+
}
15+
16+
output "azure_api_management_publisher_name" {
17+
description = "Azure API management"
18+
value = azurerm_api_management.apim.publisher_name
19+
}
20+
21+
output "azure_api_management_publisher_emailids" {
22+
description = "Azure API management publisher emails"
23+
value = azurerm_api_management.apim.publisher_email
24+
}
25+
26+
output "azure_api_management_sku" {
27+
description = "Azure API management SKU"
28+
value = azurerm_api_management.apim.sku_name
29+
}

api-management/variables.tf

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
variable "resource_group_name" {
2+
type = string
3+
description = "Azure Storage Account Rg"
4+
}
5+
6+
variable "location" {
7+
type = string
8+
description = "Azure storage account location"
9+
}
10+
11+
variable "api_management_name" {
12+
description = "Azure api management name"
13+
type = string
14+
}
15+
16+
variable "publisher_name" {
17+
description = "Publisher of API"
18+
type = list(string)
19+
validation {
20+
condition = can(index(var.publisher_name, 0))
21+
error_message = "A value is required for Publisher name."
22+
}
23+
}
24+
25+
variable "publisher_email" {
26+
description = "Email ID of API publishers"
27+
type = list(string)
28+
validation {
29+
condition = can(index(var.publisher_email, 0))
30+
error_message = "At least one Publisher email is required."
31+
}
32+
}
33+
34+
variable "sku_name_part1" {
35+
description = "SKU name of API management "
36+
type = string
37+
validation {
38+
condition = contains(["Consumption","Developer","Basic","Standard", "Premium"], var.sku_name_part1)
39+
error_message = "SKU name should be one among Consumption, Developer,Basic,Standard,Premium."
40+
}
41+
}
42+
43+
variable "sku_name_part2" {
44+
description = "Sku capacity part"
45+
type = string
46+
}

storage-account/output.tf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,34 @@
11
output "azurerm_resource_group" {
2+
description = "Azure resource group name"
23
value = azurerm_resource_group.storage_rg.name
34
}
45

56
output "storage_account_name" {
7+
description = "Azure storage account name"
68
value = azurerm_storage_account.storage.name
79
}
810

911
output "storage_account_location" {
12+
description = "Azure storage account location"
1013
value = azurerm_storage_account.storage.location
1114
}
1215

1316
output "storage_account_delete_retention_policy" {
17+
description = "Azure blob retention policy"
1418
value = azurerm_storage_account.storage.blob_properties[0].delete_retention_policy
1519
}
1620

1721
output "storage_account_tier" {
22+
description = "Azure storage account tier"
1823
value = azurerm_storage_account.storage.access_tier
1924
}
2025

2126
output "storage_account_replication_type" {
27+
description = "Azure storage account replication type"
2228
value = azurerm_storage_account.storage.account_replication_type
2329
}
2430

2531
output "storage_account_tags" {
32+
description = "Azure storage account tags"
2633
value = azurerm_storage_account.storage.tags
2734
}

0 commit comments

Comments
 (0)