* Initial commit for adding a sample data playground * Update README * Add license boilerplate to variables.tf * Apply linting rules * rename var to ptoject_id, create prefix var, remove extra zone var * Adds the option for using an existing project by default * Bundles all VPC related variables in a single vpc_config variable of type object * Add encryption_key usage example + policy_boolean * Add tests, apply linting and todos for upcoming PRs * Update variables in readme * Fix formatting via fmt * Rename test dir to fix module conflict issue * Add high level diagram and sort vars/outputs by alphabetical * Modify diagram and update main README under data examples with link / summary * Line break * Use png in diagram Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
3.4 KiB
3.4 KiB
Data Playground
This example creates a minimum viable template for a data experimentation project with the needed APIs enabled, basic VPC and Firewall set in place, GCS bucket and an AI notebook to get started.
This is the high level diagram:
Managed resources and services
This sample creates several distinct groups of resources:
- projects
- Service Project configured for GCE instances and GCS buckets
- networking
- VPC network
- One default subnet
- Firewall rules for SSH access via IAP and open communication within the VPC
- Vertex AI notebook
- One Jupyter lab notebook instance with public access
- GCS
- One bucket initial bucket
Variables
| name | description | type | required | default |
|---|---|---|---|---|
| project_id | Project id, references existing project if `project_create` is null. | string | ✓ | |
| location | The location where resources will be deployed | string | europe | |
| region | The region where resources will be deployed. | string | europe-west1 | |
| project_create | Provide values if project creation is needed, uses existing project if null. Parent format: folders/folder_id or organizations/org_id | object({…}) | null | |
| prefix | Unique prefix used for resource names. Not used for project if 'project_create' is null. | string | dp | |
| service_encryption_keys | Cloud KMS to use to encrypt different services. Key location should match service region. | object({…}) | null | |
| vpc_config | Parameters to create a simple VPC for the Data Playground | object({…}) | {...} |
Outputs
| Name | Description |
|---|---|
| bucket | GCS Bucket URL. |
| project | Project id |
| vpc | VPC Network name |
| notebook | Vertex AI notebook name |
