# Google Apigee Organization Module This module allows managing a single Apigee organization and its environments and environmentgroups. ## Examples ### Apigee X Evaluation Organization ```hcl module "apigee-organization" { source = "./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 ```hcl module "apigee-organization" { source = "./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 ```hcl module "apigee-organization" { source = "./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](variables.tf#L17) | Analytics Region for the Apigee Organization (immutable). See https://cloud.google.com/apigee/docs/api-platform/get-started/install-cli. | string | ✓ | | | [project_id](variables.tf#L61) | Project ID to host this Apigee organization (will also become the Apigee Org name). | string | ✓ | | | [runtime_type](variables.tf#L66) | Apigee runtime type. Must be `CLOUD` or `HYBRID`. | string | ✓ | | | [apigee_envgroups](variables.tf#L22) | Apigee Environment Groups. | map(object({…})) | | {} | | [apigee_environments](variables.tf#L31) | Apigee Environment Names. | list(string) | | [] | | [authorized_network](variables.tf#L37) | VPC network self link (requires service network peering enabled (Used in Apigee X only). | string | | null | | [database_encryption_key](variables.tf#L43) | 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](variables.tf#L49) | Description of the Apigee Organization. | string | | "Apigee Organization created by tf module" | | [display_name](variables.tf#L55) | Display Name of the Apigee Organization. | string | | null | ## Outputs | name | description | sensitive | |---|---|:---:| | [envs](outputs.tf#L17) | Apigee Environments. | | | [org](outputs.tf#L22) | Apigee Organization. | | | [org_ca_certificate](outputs.tf#L27) | Apigee organization CA certificate. | | | [org_id](outputs.tf#L32) | Apigee Organization ID. | | | [subscription_type](outputs.tf#L37) | Apigee subscription type. | |