diff --git a/modules/apigee-x-instance/README.md b/modules/apigee-x-instance/README.md
index 90f5d11e..bca575dc 100644
--- a/modules/apigee-x-instance/README.md
+++ b/modules/apigee-x-instance/README.md
@@ -11,7 +11,7 @@ module "apigee-x-instance" {
source = "./modules/apigee-x-instance"
name = "my-us-instance"
region = "us-central1"
- cidr_mask = 22
+ ip_range = "10.0.0.0/22"
apigee_org_id = "my-project"
apigee_environments = [
@@ -29,7 +29,7 @@ module "apigee-x-instance" {
source = "./modules/apigee-x-instance"
name = "my-us-instance"
region = "us-central1"
- cidr_mask = 16
+ ip_range = "10.0.0.0/22"
disk_encryption_key = "my-disk-key"
apigee_org_id = "my-project"
@@ -49,7 +49,7 @@ module "apigee-x-instance" {
| name | description | type | required | default |
|---|---|:---:|:---:|:---:|
| [apigee_org_id](variables.tf#L32) | Apigee Organization ID. | string
| ✓ | |
-| [cidr_mask](variables.tf#L37) | CIDR mask for the Apigee instance. | number
| ✓ | |
+| [ip_range](variables.tf#L37) | Customer-provided CIDR block of length 22 for the Apigee instance. | string
| ✓ | |
| [name](variables.tf#L52) | Apigee instance name. | string
| ✓ | |
| [region](variables.tf#L57) | Compute region. | string
| ✓ | |
| [apigee_envgroups](variables.tf#L17) | Apigee Environment Groups. | map(object({…}))
| | {}
|
diff --git a/modules/apigee-x-instance/main.tf b/modules/apigee-x-instance/main.tf
index 1d6f84e8..1ef2c66b 100644
--- a/modules/apigee-x-instance/main.tf
+++ b/modules/apigee-x-instance/main.tf
@@ -18,7 +18,7 @@ resource "google_apigee_instance" "apigee_instance" {
org_id = var.apigee_org_id
name = var.name
location = var.region
- peering_cidr_range = "SLASH_${var.cidr_mask}"
+ ip_range = var.ip_range
disk_encryption_key_name = var.disk_encryption_key
}
diff --git a/modules/apigee-x-instance/variables.tf b/modules/apigee-x-instance/variables.tf
index b50daf0a..10122a2b 100644
--- a/modules/apigee-x-instance/variables.tf
+++ b/modules/apigee-x-instance/variables.tf
@@ -34,12 +34,12 @@ variable "apigee_org_id" {
type = string
}
-variable "cidr_mask" {
- description = "CIDR mask for the Apigee instance."
- type = number
+variable "ip_range" {
+ description = "Customer-provided CIDR block of length 22 for the Apigee instance."
+ type = string
validation {
- condition = contains([16, 20, 22], var.cidr_mask)
- error_message = "Invalid CIDR mask; Allowed values for cidr_mask: [16, 20, 22]."
+ condition = try(cidrnetmask(var.ip_range), null) == "255.255.252.0"
+ error_message = "Invalid CIDR block provided; Allowed pattern for ip_range: X.X.X.X/22."
}
}
diff --git a/tests/modules/apigee_x_instance/fixture/main.tf b/tests/modules/apigee_x_instance/fixture/main.tf
index a7c8c9a0..19373a3b 100644
--- a/tests/modules/apigee_x_instance/fixture/main.tf
+++ b/tests/modules/apigee_x_instance/fixture/main.tf
@@ -15,10 +15,10 @@
*/
module "apigee-x-instance" {
- source = "../../../../modules/apigee-x-instance"
- name = var.name
- region = var.region
- cidr_mask = 22
+ source = "../../../../modules/apigee-x-instance"
+ name = var.name
+ region = var.region
+ ip_range = var.ip_range
apigee_org_id = "my-project"
apigee_environments = [
diff --git a/tests/modules/apigee_x_instance/fixture/variables.tf b/tests/modules/apigee_x_instance/fixture/variables.tf
index 4fc58d62..b55e641f 100644
--- a/tests/modules/apigee_x_instance/fixture/variables.tf
+++ b/tests/modules/apigee_x_instance/fixture/variables.tf
@@ -23,3 +23,8 @@ variable "region" {
type = string
default = "europe-west1"
}
+
+variable "ip_range" {
+ type = string
+ default = "10.0.0.0/22"
+}
\ No newline at end of file
diff --git a/tests/modules/apigee_x_instance/test_plan.py b/tests/modules/apigee_x_instance/test_plan.py
index 4e695b8c..e7d2f60a 100644
--- a/tests/modules/apigee_x_instance/test_plan.py
+++ b/tests/modules/apigee_x_instance/test_plan.py
@@ -39,6 +39,6 @@ def test_instance(resources):
instances = [r['values'] for r in resources if r['type']
== 'google_apigee_instance']
assert len(instances) == 1
- assert instances[0]['peering_cidr_range'] == 'SLASH_22'
+ assert instances[0]['ip_range'] == '10.0.0.0/22'
assert instances[0]['name'] == 'my-test-instance'
assert instances[0]['location'] == 'europe-west1'