# 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 | 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 | | *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 | |---|---|:---:| | org | Apigee Organization. | | | org_ca_certificate | Apigee organization CA certificate. | | | org_id | Apigee Organization ID. | | | subscription_type | Apigee subscription type. | |