cloud-foundation-fabric/modules/apigee-organization
Ludovico Magnocavallo e8056577ce
Refactor GKE nodepool and blueprints (#875)
* first shot, untested

* example tests working

* module tests

* work on gke blueprints

* multitenant fleet doc examples

* fix gke hub doc examples

* blueprint tests

* move master range to vpc config

* fast stage 3 gke test

* tfdoc

* bump provider versions

* and bump provider again to latest
2022-10-12 12:59:36 +02:00
..
README.md Test documentation examples in the examples/ folder 2022-09-06 17:46:09 +02:00
main.tf Add billing_type for Apigee Organization Module 2022-03-31 08:47:34 +02:00
outputs.tf Copyright bump (#410) 2022-01-01 15:52:31 +01:00
variables.tf Add billing_type for Apigee Organization Module 2022-03-31 08:47:34 +02:00
versions.tf Refactor GKE nodepool and blueprints (#875) 2022-10-12 12:59:36 +02:00

README.md

Google Apigee Organization Module

This module allows managing a single Apigee organization and its environments and environmentgroups.

Examples

Apigee X Evaluation Organization

module "apigee-organization" {
  source     = "./fabric/modules/apigee-organization"
  project_id = "my-project"
  analytics_region = "us-central1"
  runtime_type = "CLOUD"
  authorized_network = "my-vpc"
  apigee_environments = [
    "eval1",
    "eval2"
  ]
  apigee_envgroups = {
    eval = {
      environments = [
        "eval1",
        "eval2"
      ]
      hostnames    = [
        "eval.api.example.com"
      ]
    }
  }
}
# tftest modules=1 resources=6

Apigee X Paid Organization

module "apigee-organization" {
  source     = "./fabric/modules/apigee-organization"
  project_id = "my-project"
  analytics_region = "us-central1"
  runtime_type = "CLOUD"
  authorized_network = "my-vpc"
  database_encryption_key = "my-data-key"
  apigee_environments = [
    "dev1",
    "dev2",
    "test1",
    "test2"
  ]
  apigee_envgroups = {
    dev = {
      environments = [
        "dev1",
        "dev2"
      ]
      hostnames    = [
        "dev.api.example.com"
      ]
    }
    test = {
      environments = [
        "test1",
        "test2"
      ]
      hostnames    = [
        "test.api.example.com"
      ]
    }
  }
}
# tftest modules=1 resources=11

Apigee hybrid Organization

module "apigee-organization" {
  source     = "./fabric/modules/apigee-organization"
  project_id = "my-project"
  analytics_region = "us-central1"
  runtime_type = "HYBRID"
  apigee_environments = [
    "eval1",
    "eval2"
  ]
  apigee_envgroups = {
    eval = {
      environments = [
        "eval1",
        "eval2"
      ]
      hostnames    = [
        "eval.api.example.com"
      ]
    }
  }
}
# tftest modules=1 resources=6

Variables

name description type required default
analytics_region Analytics Region for the Apigee Organization (immutable). See https://cloud.google.com/apigee/docs/api-platform/get-started/install-cli. string
project_id Project ID to host this Apigee organization (will also become the Apigee Org name). string
runtime_type Apigee runtime type. Must be CLOUD or HYBRID. string
apigee_envgroups Apigee Environment Groups. map(object({…})) {}
apigee_environments Apigee Environment Names. list(string) []
authorized_network VPC network self link (requires service network peering enabled (Used in Apigee X only). string null
billing_type Billing type of the Apigee organization. string null
database_encryption_key Cloud KMS key self link (e.g. projects/foo/locations/us/keyRings/bar/cryptoKeys/baz) used for encrypting the data that is stored and replicated across runtime instances (immutable, used in Apigee X only). string null
description Description of the Apigee Organization. string "Apigee Organization created by tf module"
display_name Display Name of the Apigee Organization. string null

Outputs

name description sensitive
envs Apigee Environments.
org Apigee Organization.
org_ca_certificate Apigee organization CA certificate.
org_id Apigee Organization ID.
subscription_type Apigee subscription type.