Merge pull request #1447 from apichick/apigee-refactoring

Refactored apigee module and adjusted the blueprints accordingly
This commit is contained in:
apichick 2023-06-19 09:15:59 +02:00 committed by GitHub
commit 604ca5afd8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 65 additions and 86 deletions

View File

@ -59,15 +59,15 @@ Do the following to verify that everything works as expected.
| name | description | type | required | default | | name | description | type | required | default |
|---|---|:---:|:---:|:---:| |---|---|:---:|:---:|:---:|
| [envgroups](variables.tf#L24) | Environment groups (NAME => [HOSTNAMES]). | <code>map&#40;list&#40;string&#41;&#41;</code> | ✓ | | | [envgroups](variables.tf#L24) | Environment groups (NAME => [HOSTNAMES]). | <code>map&#40;list&#40;string&#41;&#41;</code> | ✓ | |
| [environments](variables.tf#L30) | Environments. | <code title="map&#40;object&#40;&#123;&#10; display_name &#61; optional&#40;string&#41;&#10; description &#61; optional&#40;string&#41;&#10; node_config &#61; optional&#40;object&#40;&#123;&#10; min_node_count &#61; optional&#40;number&#41;&#10; max_node_count &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; iam &#61; optional&#40;map&#40;list&#40;string&#41;&#41;&#41;&#10; envgroups &#61; list&#40;string&#41;&#10;&#125;&#41;&#41;">map&#40;object&#40;&#123;&#8230;&#125;&#41;&#41;</code> | ✓ | | | [environments](variables.tf#L30) | Environments. | <code title="map&#40;object&#40;&#123;&#10; display_name &#61; optional&#40;string&#41;&#10; description &#61; optional&#40;string&#41;&#10; node_config &#61; optional&#40;object&#40;&#123;&#10; min_node_count &#61; optional&#40;number&#41;&#10; max_node_count &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; iam &#61; optional&#40;map&#40;list&#40;string&#41;&#41;&#41;&#10; envgroups &#61; optional&#40;list&#40;string&#41;&#41;&#10; regions &#61; optional&#40;list&#40;string&#41;&#41;&#10;&#125;&#41;&#41;">map&#40;object&#40;&#123;&#8230;&#125;&#41;&#41;</code> | ✓ | |
| [instances](variables.tf#L45) | Instance. | <code title="map&#40;object&#40;&#123;&#10; display_name &#61; optional&#40;string&#41;&#10; description &#61; optional&#40;string&#41;&#10; region &#61; string&#10; environments &#61; list&#40;string&#41;&#10; runtime_ip_cidr_range &#61; string&#10; troubleshooting_ip_cidr_range &#61; string&#10; disk_encryption_key &#61; optional&#40;string&#41;&#10; consumer_accept_list &#61; optional&#40;list&#40;string&#41;&#41;&#10;&#125;&#41;&#41;">map&#40;object&#40;&#123;&#8230;&#125;&#41;&#41;</code> | ✓ | | | [instances](variables.tf#L46) | Instance. | <code title="map&#40;object&#40;&#123;&#10; display_name &#61; optional&#40;string&#41;&#10; description &#61; optional&#40;string&#41;&#10; runtime_ip_cidr_range &#61; string&#10; troubleshooting_ip_cidr_range &#61; string&#10; disk_encryption_key &#61; optional&#40;string&#41;&#10; consumer_accept_list &#61; optional&#40;list&#40;string&#41;&#41;&#10;&#125;&#41;&#41;">map&#40;object&#40;&#123;&#8230;&#125;&#41;&#41;</code> | ✓ | |
| [project_id](variables.tf#L92) | Project ID. | <code>string</code> | ✓ | | | [project_id](variables.tf#L91) | Project ID. | <code>string</code> | ✓ | |
| [psc_config](variables.tf#L98) | PSC configuration. | <code>map&#40;string&#41;</code> | ✓ | | | [psc_config](variables.tf#L97) | PSC configuration. | <code>map&#40;string&#41;</code> | ✓ | |
| [datastore_name](variables.tf#L17) | Datastore. | <code>string</code> | | <code>&#34;gcs&#34;</code> | | [datastore_name](variables.tf#L17) | Datastore. | <code>string</code> | | <code>&#34;gcs&#34;</code> |
| [organization](variables.tf#L60) | Apigee organization. | <code title="object&#40;&#123;&#10; display_name &#61; optional&#40;string, &#34;Apigee organization created by tf module&#34;&#41;&#10; description &#61; optional&#40;string, &#34;Apigee organization created by tf module&#34;&#41;&#10; authorized_network &#61; optional&#40;string, &#34;vpc&#34;&#41;&#10; runtime_type &#61; optional&#40;string, &#34;CLOUD&#34;&#41;&#10; billing_type &#61; optional&#40;string&#41;&#10; database_encryption_key &#61; optional&#40;string&#41;&#10; analytics_region &#61; optional&#40;string, &#34;europe-west1&#34;&#41;&#10;&#125;&#41;">object&#40;&#123;&#8230;&#125;&#41;</code> | | <code title="&#123;&#10;&#125;">&#123;&#8230;&#125;</code> | | [organization](variables.tf#L59) | Apigee organization. | <code title="object&#40;&#123;&#10; display_name &#61; optional&#40;string, &#34;Apigee organization created by tf module&#34;&#41;&#10; description &#61; optional&#40;string, &#34;Apigee organization created by tf module&#34;&#41;&#10; authorized_network &#61; optional&#40;string, &#34;vpc&#34;&#41;&#10; runtime_type &#61; optional&#40;string, &#34;CLOUD&#34;&#41;&#10; billing_type &#61; optional&#40;string&#41;&#10; database_encryption_key &#61; optional&#40;string&#41;&#10; analytics_region &#61; optional&#40;string, &#34;europe-west1&#34;&#41;&#10;&#125;&#41;">object&#40;&#123;&#8230;&#125;&#41;</code> | | <code title="&#123;&#10;&#125;">&#123;&#8230;&#125;</code> |
| [path](variables.tf#L76) | Bucket path. | <code>string</code> | | <code>&#34;&#47;analytics&#34;</code> | | [path](variables.tf#L75) | Bucket path. | <code>string</code> | | <code>&#34;&#47;analytics&#34;</code> |
| [project_create](variables.tf#L83) | Parameters for the creation of the new project. | <code title="object&#40;&#123;&#10; billing_account_id &#61; string&#10; parent &#61; string&#10;&#125;&#41;">object&#40;&#123;&#8230;&#125;&#41;</code> | | <code>null</code> | | [project_create](variables.tf#L82) | Parameters for the creation of the new project. | <code title="object&#40;&#123;&#10; billing_account_id &#61; string&#10; parent &#61; string&#10;&#125;&#41;">object&#40;&#123;&#8230;&#125;&#41;</code> | | <code>null</code> |
| [vpc_create](variables.tf#L104) | Boolean flag indicating whether the VPC should be created or not. | <code>bool</code> | | <code>true</code> | | [vpc_create](variables.tf#L103) | Boolean flag indicating whether the VPC should be created or not. | <code>bool</code> | | <code>true</code> |
## Outputs ## Outputs
@ -92,12 +92,11 @@ module "test" {
environments = { environments = {
apis-test = { apis-test = {
envgroups = ["test"] envgroups = ["test"]
regions = ["europe-west1"]
} }
} }
instances = { instances = {
instance-ew1 = { europe-west1 = {
region = "europe-west1"
environments = ["apis-test"]
runtime_ip_cidr_range = "10.0.4.0/22" runtime_ip_cidr_range = "10.0.4.0/22"
troubleshooting_ip_cidr_range = "10.1.0.0/28" troubleshooting_ip_cidr_range = "10.1.0.0/28"
} }

View File

@ -108,11 +108,11 @@ module "glb" {
neg_configs = { neg_configs = {
for k, v in var.instances : k => { for k, v in var.instances : k => {
psc = { psc = {
region = v.region region = k
target_service = module.apigee.instances[k].service_attachment target_service = module.apigee.instances[k].service_attachment
network = module.vpc.network.self_link network = module.vpc.network.self_link
subnetwork = ( subnetwork = (
module.vpc.subnets_psc["${v.region}/subnet-psc-${v.region}"].self_link module.vpc.subnets_psc["${k}/subnet-psc-${k}"].self_link
) )
} }
} }

View File

@ -12,13 +12,12 @@ environments = {
} }
} }
instances = { instances = {
instance-ew1 = { europe-west1 = {
region = "europe-west1" environments = ["apis-test"]
environments = ["apis-test"] runtime_ip_cidr_range = "10.0.4.0/22"
runtime_ip_cidr_range = "10.0.4.0/22" troubleshooting_ip_cidr_range = "10.1.1.0/28"
troubleshooting_ip_cidr_range = "10.1.1.0/28"
} }
} }
psc_config = { psc_config = {
europe-west1 = "10.0.0.0/28" europe-west1 = "10.0.0.0/28"
} }

View File

@ -37,7 +37,8 @@ variable "environments" {
max_node_count = optional(number) max_node_count = optional(number)
})) }))
iam = optional(map(list(string))) iam = optional(map(list(string)))
envgroups = list(string) envgroups = optional(list(string))
regions = optional(list(string))
})) }))
nullable = false nullable = false
} }
@ -47,8 +48,6 @@ variable "instances" {
type = map(object({ type = map(object({
display_name = optional(string) display_name = optional(string)
description = optional(string) description = optional(string)
region = string
environments = list(string)
runtime_ip_cidr_range = string runtime_ip_cidr_range = string
troubleshooting_ip_cidr_range = string troubleshooting_ip_cidr_range = string
disk_encryption_key = optional(string) disk_encryption_key = optional(string)

View File

@ -76,12 +76,11 @@ module "apigee" {
environments = { environments = {
(local.environment) = { (local.environment) = {
envgroups = [local.envgroup] envgroups = [local.envgroup]
regions = [var.region]
} }
} }
instances = { instances = {
instance-1 = { (var.region) = {
region = var.region
environments = [local.environment]
runtime_ip_cidr_range = var.apigee_runtime_ip_cidr_range runtime_ip_cidr_range = var.apigee_runtime_ip_cidr_range
troubleshooting_ip_cidr_range = var.apigee_troubleshooting_ip_cidr_range troubleshooting_ip_cidr_range = var.apigee_troubleshooting_ip_cidr_range
} }

View File

@ -1,5 +1,5 @@
billing_account_id = "12345-12345-123456" billing_account_id = "12345-12345-123456"
parent = "folders/123456789" parent = "folders/123456789"
apigee_project_id = "my-apigee-project" apigee_project_id = "my-apigee-project"
onprem_project_id = "my-onprem-project" onprem_project_id = "my-onprem-project"
hostname = "test.myorg.org" hostname = "test.myorg.org"

View File

@ -25,33 +25,27 @@ module "apigee" {
} }
environments = { environments = {
apis-test = { apis-test = {
display_name = "APIs test" display_name = "APIs test"
description = "APIs Test" description = "APIs Test"
deployment_type = "ARCHIVE" envgroups = ["test"]
api_proxy_type = "PROGRAMMABLE" regions = ["europe-west1"]
envgroups = ["test"]
} }
apis-prod = { apis-prod = {
display_name = "APIs prod" display_name = "APIs prod"
description = "APIs prod" description = "APIs prod"
deployment_type = "PROXY" envgroups = ["prod"]
api_proxy_type = "CONFIGURABLE" regions = ["europe-west3"]
envgroups = ["prod"]
iam = { iam = {
"roles/viewer" = ["group:devops@myorg.com"] "roles/viewer" = ["group:devops@myorg.com"]
} }
} }
} }
instances = { instances = {
instance-test-ew1 = { europe-west1 = {
region = "europe-west1"
environments = ["apis-test"]
runtime_ip_cidr_range = "10.0.4.0/22" runtime_ip_cidr_range = "10.0.4.0/22"
troubleshooting_ip_cidr_range = "10.1.1.0.0/28" troubleshooting_ip_cidr_range = "10.1.1.0.0/28"
} }
instance-prod-ew3 = { europe-west3 = {
region = "europe-west3"
environments = ["apis-prod"]
runtime_ip_cidr_range = "10.0.8.0/22" runtime_ip_cidr_range = "10.0.8.0/22"
troubleshooting_ip_cidr_range = "10.1.16.0/28" troubleshooting_ip_cidr_range = "10.1.16.0/28"
} }
@ -105,7 +99,7 @@ module "apigee" {
# tftest modules=1 resources=8 # tftest modules=1 resources=8
``` ```
### New environment group in an existing organization ### New environment group
```hcl ```hcl
module "apigee" { module "apigee" {
@ -118,7 +112,7 @@ module "apigee" {
# tftest modules=1 resources=1 # tftest modules=1 resources=1
``` ```
### New environment in an existing environment group ### New environment
```hcl ```hcl
module "apigee" { module "apigee" {
@ -128,29 +122,26 @@ module "apigee" {
apis-test = { apis-test = {
display_name = "APIs test" display_name = "APIs test"
description = "APIs Test" description = "APIs Test"
envgroups = ["test"]
} }
} }
} }
# tftest modules=1 resources=2 # tftest modules=1 resources=1
``` ```
### New instance attached to an existing environment ### New instance
```hcl ```hcl
module "apigee" { module "apigee" {
source = "./fabric/modules/apigee" source = "./fabric/modules/apigee"
project_id = "my-project" project_id = "my-project"
instances = { instances = {
instance-test-ew1 = { europe-west1 = {
region = "europe-west1"
environments = ["apis-test"]
runtime_ip_cidr_range = "10.0.4.0/22" runtime_ip_cidr_range = "10.0.4.0/22"
troubleshooting_ip_cidr_range = "10.1.1.0/28" troubleshooting_ip_cidr_range = "10.1.1.0/28"
} }
} }
} }
# tftest modules=1 resources=2 # tftest modules=1 resources=1
``` ```
### New endpoint attachment ### New endpoint attachment
@ -176,12 +167,12 @@ module "apigee" {
| name | description | type | required | default | | name | description | type | required | default |
|---|---|:---:|:---:|:---:| |---|---|:---:|:---:|:---:|
| [project_id](variables.tf#L78) | Project ID. | <code>string</code> | ✓ | | | [project_id](variables.tf#L77) | Project ID. | <code>string</code> | ✓ | |
| [endpoint_attachments](variables.tf#L17) | Endpoint attachments. | <code title="map&#40;object&#40;&#123;&#10; region &#61; string&#10; service_attachment &#61; string&#10;&#125;&#41;&#41;">map&#40;object&#40;&#123;&#8230;&#125;&#41;&#41;</code> | | <code>null</code> | | [endpoint_attachments](variables.tf#L17) | Endpoint attachments. | <code title="map&#40;object&#40;&#123;&#10; region &#61; string&#10; service_attachment &#61; string&#10;&#125;&#41;&#41;">map&#40;object&#40;&#123;&#8230;&#125;&#41;&#41;</code> | | <code>null</code> |
| [envgroups](variables.tf#L26) | Environment groups (NAME => [HOSTNAMES]). | <code>map&#40;list&#40;string&#41;&#41;</code> | | <code>null</code> | | [envgroups](variables.tf#L26) | Environment groups (NAME => [HOSTNAMES]). | <code>map&#40;list&#40;string&#41;&#41;</code> | | <code>null</code> |
| [environments](variables.tf#L32) | Environments. | <code title="map&#40;object&#40;&#123;&#10; display_name &#61; optional&#40;string&#41;&#10; description &#61; optional&#40;string, &#34;Terraform-managed&#34;&#41;&#10; deployment_type &#61; optional&#40;string&#41;&#10; api_proxy_type &#61; optional&#40;string&#41;&#10; node_config &#61; optional&#40;object&#40;&#123;&#10; min_node_count &#61; optional&#40;number&#41;&#10; max_node_count &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; iam &#61; optional&#40;map&#40;list&#40;string&#41;&#41;&#41;&#10; envgroups &#61; list&#40;string&#41;&#10;&#125;&#41;&#41;">map&#40;object&#40;&#123;&#8230;&#125;&#41;&#41;</code> | | <code>null</code> | | [environments](variables.tf#L32) | Environments. | <code title="map&#40;object&#40;&#123;&#10; display_name &#61; optional&#40;string&#41;&#10; description &#61; optional&#40;string, &#34;Terraform-managed&#34;&#41;&#10; deployment_type &#61; optional&#40;string&#41;&#10; api_proxy_type &#61; optional&#40;string&#41;&#10; node_config &#61; optional&#40;object&#40;&#123;&#10; min_node_count &#61; optional&#40;number&#41;&#10; max_node_count &#61; optional&#40;number&#41;&#10; &#125;&#41;&#41;&#10; iam &#61; optional&#40;map&#40;list&#40;string&#41;&#41;&#41;&#10; envgroups &#61; optional&#40;list&#40;string&#41;&#41;&#10; regions &#61; optional&#40;list&#40;string&#41;&#41;&#10;&#125;&#41;&#41;">map&#40;object&#40;&#123;&#8230;&#125;&#41;&#41;</code> | | <code>null</code> |
| [instances](variables.tf#L49) | Instances. | <code title="map&#40;object&#40;&#123;&#10; display_name &#61; optional&#40;string&#41;&#10; description &#61; optional&#40;string, &#34;Terraform-managed&#34;&#41;&#10; region &#61; string&#10; environments &#61; list&#40;string&#41;&#10; runtime_ip_cidr_range &#61; string&#10; troubleshooting_ip_cidr_range &#61; string&#10; disk_encryption_key &#61; optional&#40;string&#41;&#10; consumer_accept_list &#61; optional&#40;list&#40;string&#41;&#41;&#10;&#125;&#41;&#41;">map&#40;object&#40;&#123;&#8230;&#125;&#41;&#41;</code> | | <code>null</code> | | [instances](variables.tf#L50) | Instances ([REGION] => [INSTANCE]). | <code title="map&#40;object&#40;&#123;&#10; display_name &#61; optional&#40;string&#41;&#10; description &#61; optional&#40;string, &#34;Terraform-managed&#34;&#41;&#10; runtime_ip_cidr_range &#61; string&#10; troubleshooting_ip_cidr_range &#61; string&#10; disk_encryption_key &#61; optional&#40;string&#41;&#10; consumer_accept_list &#61; optional&#40;list&#40;string&#41;&#41;&#10;&#125;&#41;&#41;">map&#40;object&#40;&#123;&#8230;&#125;&#41;&#41;</code> | | <code>null</code> |
| [organization](variables.tf#L64) | Apigee organization. If set to null the organization must already exist. | <code title="object&#40;&#123;&#10; display_name &#61; optional&#40;string&#41;&#10; description &#61; optional&#40;string, &#34;Terraform-managed&#34;&#41;&#10; authorized_network &#61; optional&#40;string&#41;&#10; runtime_type &#61; optional&#40;string, &#34;CLOUD&#34;&#41;&#10; billing_type &#61; optional&#40;string&#41;&#10; database_encryption_key &#61; optional&#40;string&#41;&#10; analytics_region &#61; optional&#40;string, &#34;europe-west1&#34;&#41;&#10;&#125;&#41;">object&#40;&#123;&#8230;&#125;&#41;</code> | | <code>null</code> | | [organization](variables.tf#L63) | Apigee organization. If set to null the organization must already exist. | <code title="object&#40;&#123;&#10; display_name &#61; optional&#40;string&#41;&#10; description &#61; optional&#40;string, &#34;Terraform-managed&#34;&#41;&#10; authorized_network &#61; optional&#40;string&#41;&#10; runtime_type &#61; optional&#40;string, &#34;CLOUD&#34;&#41;&#10; billing_type &#61; optional&#40;string&#41;&#10; database_encryption_key &#61; optional&#40;string&#41;&#10; analytics_region &#61; optional&#40;string, &#34;europe-west1&#34;&#41;&#10;&#125;&#41;">object&#40;&#123;&#8230;&#125;&#41;</code> | | <code>null</code> |
## Outputs ## Outputs

View File

@ -63,7 +63,7 @@ resource "google_apigee_environment" "environments" {
resource "google_apigee_envgroup_attachment" "envgroup_attachments" { resource "google_apigee_envgroup_attachment" "envgroup_attachments" {
for_each = merge(concat([for k1, v1 in local.environments : { for_each = merge(concat([for k1, v1 in local.environments : {
for v2 in v1.envgroups : "${k1}-${v2}" => { for v2 in coalesce(v1.envgroups, []) : "${k1}-${v2}" => {
environment = k1 environment = k1
envgroup = v2 envgroup = v2
} }
@ -88,10 +88,10 @@ resource "google_apigee_environment_iam_binding" "binding" {
resource "google_apigee_instance" "instances" { resource "google_apigee_instance" "instances" {
for_each = local.instances for_each = local.instances
name = each.key name = "instance-${each.key}"
display_name = each.value.display_name display_name = each.value.display_name
description = each.value.description description = each.value.description
location = each.value.region location = each.key
org_id = local.org_id org_id = local.org_id
ip_range = "${each.value.runtime_ip_cidr_range},${each.value.troubleshooting_ip_cidr_range}" ip_range = "${each.value.runtime_ip_cidr_range},${each.value.troubleshooting_ip_cidr_range}"
disk_encryption_key_name = each.value.disk_encryption_key disk_encryption_key_name = each.value.disk_encryption_key
@ -99,14 +99,14 @@ resource "google_apigee_instance" "instances" {
} }
resource "google_apigee_instance_attachment" "instance_attachments" { resource "google_apigee_instance_attachment" "instance_attachments" {
for_each = merge(concat([for k1, v1 in local.instances : { for_each = merge(concat([for k1, v1 in local.environments : {
for v2 in v1.environments : for v2 in coalesce(v1.regions, []) :
"${k1}-${v2}" => { "${k1}-${v2}" => {
instance = k1 environment = k1
environment = v2 region = v2
} }
}])...) }])...)
instance_id = google_apigee_instance.instances[each.value.instance].id instance_id = google_apigee_instance.instances[each.value.region].id
environment = try(google_apigee_environment.environments[each.value.environment].name, environment = try(google_apigee_environment.environments[each.value.environment].name,
"${local.org_id}/environments/${each.value.environment}") "${local.org_id}/environments/${each.value.environment}")
} }

View File

@ -41,18 +41,17 @@ variable "environments" {
max_node_count = optional(number) max_node_count = optional(number)
})) }))
iam = optional(map(list(string))) iam = optional(map(list(string)))
envgroups = list(string) envgroups = optional(list(string))
regions = optional(list(string))
})) }))
default = null default = null
} }
variable "instances" { variable "instances" {
description = "Instances." description = "Instances ([REGION] => [INSTANCE])."
type = map(object({ type = map(object({
display_name = optional(string) display_name = optional(string)
description = optional(string, "Terraform-managed") description = optional(string, "Terraform-managed")
region = string
environments = list(string)
runtime_ip_cidr_range = string runtime_ip_cidr_range = string
troubleshooting_ip_cidr_range = string troubleshooting_ip_cidr_range = string
disk_encryption_key = optional(string) disk_encryption_key = optional(string)

View File

@ -17,26 +17,24 @@ environments = {
display_name = "APIs test" display_name = "APIs test"
description = "APIs Test" description = "APIs Test"
envgroups = ["test"] envgroups = ["test"]
regions = ["europe-west1"]
} }
apis-prod = { apis-prod = {
display_name = "APIs prod" display_name = "APIs prod"
description = "APIs prod" description = "APIs prod"
envgroups = ["prod"] envgroups = ["prod"]
regions = ["europe-west3"]
iam = { iam = {
"roles/viewer" = ["group:devops@myorg.com"] "roles/viewer" = ["group:devops@myorg.com"]
} }
} }
} }
instances = { instances = {
instance-test-ew1 = { europe-west1 = {
region = "europe-west1"
environments = ["apis-test"]
runtime_ip_cidr_range = "10.0.4.0/22" runtime_ip_cidr_range = "10.0.4.0/22"
troubleshooting_ip_cidr_range = "10.1.0.0/28" troubleshooting_ip_cidr_range = "10.1.0.0/28"
} }
instance-prod-ew3 = { europe-west3 = {
region = "europe-west3"
environments = ["apis-prod"]
runtime_ip_cidr_range = "10.0.6.0/22" runtime_ip_cidr_range = "10.0.6.0/22"
troubleshooting_ip_cidr_range = "10.1.0.16/28" troubleshooting_ip_cidr_range = "10.1.0.16/28"
} }

View File

@ -47,20 +47,20 @@ values:
members: members:
- group:devops@myorg.com - group:devops@myorg.com
role: roles/viewer role: roles/viewer
google_apigee_instance.instances["instance-prod-ew3"]: google_apigee_instance.instances["europe-west3"]:
description: Terraform-managed description: Terraform-managed
disk_encryption_key_name: null disk_encryption_key_name: null
display_name: null display_name: null
ip_range: 10.0.6.0/22,10.1.0.16/28 ip_range: 10.0.6.0/22,10.1.0.16/28
location: europe-west3 location: europe-west3
name: instance-prod-ew3 name: instance-europe-west3
google_apigee_instance.instances["instance-test-ew1"]: google_apigee_instance.instances["europe-west1"]:
description: Terraform-managed description: Terraform-managed
disk_encryption_key_name: null disk_encryption_key_name: null
display_name: null display_name: null
ip_range: 10.0.4.0/22,10.1.0.0/28 ip_range: 10.0.4.0/22,10.1.0.0/28
location: europe-west1 location: europe-west1
name: instance-test-ew1 name: instance-europe-west1
google_apigee_organization.organization[0]: google_apigee_organization.organization[0]:
analytics_region: europe-west1 analytics_region: europe-west1
authorized_network: my-vpc authorized_network: my-vpc

View File

@ -1,8 +1,6 @@
project_id = "my-project" project_id = "my-project"
instances = { instances = {
instance-test-ew1 = { europe-west1 = {
region = "europe-west1"
environments = ["apis-test"]
runtime_ip_cidr_range = "10.0.4.0/22" runtime_ip_cidr_range = "10.0.4.0/22"
troubleshooting_ip_cidr_range = "10.1.1.0.0/28" troubleshooting_ip_cidr_range = "10.1.1.0.0/28"
} }

View File

@ -13,14 +13,11 @@
# limitations under the License. # limitations under the License.
values: values:
google_apigee_instance.instances["instance-test-ew1"]: google_apigee_instance.instances["europe-west1"]:
ip_range: 10.0.4.0/22,10.1.1.0.0/28 ip_range: 10.0.4.0/22,10.1.1.0.0/28
location: europe-west1 location: europe-west1
name: instance-test-ew1 name: "instance-europe-west1"
org_id: organizations/my-project org_id: organizations/my-project
google_apigee_instance_attachment.instance_attachments["instance-test-ew1-apis-test"]:
environment: organizations/my-project/environments/apis-test
counts: counts:
google_apigee_instance: 1 google_apigee_instance: 1
google_apigee_instance_attachment: 1