Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 14 additions & 12 deletions examples/org-level-multi-region/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
# Organization-Level with Multiple Regions Example
# Google Cloud Organization-Level for Multiple Regions

Every Terraform module must have one or more examples.
In this example we add Terraform modules to two Google Cloud regions.

```hcl
- Global resources are deployed to `us-east1`
- Service Accounts/Permissions
- Object Storage Bucket
- Secret Manager Secret
- Regional resources are deployed to `us-east1` and `us-central1`
- Cloud Run Job
- Cloud Scheduler Job

## Sample Code

```hcl
provider "lacework" {}

provider "google" {
Expand Down Expand Up @@ -40,14 +49,7 @@ module "lacework_gcp_agentless_scanning_org_multi_region_usc1" {
google = google.usc1
}

regional = true
agentless_orchestrate_service_account_email = module.lacework_gcp_agentless_scanning_org_multi_region.agentless_orchestrate_service_account_email
agentless_scan_secret_id = module.lacework_gcp_agentless_scanning_org_multi_region.agentless_scan_secret_id
regional = true
global_module_reference = module.lacework_gcp_agentless_scanning_org_multi_region
}
```

In this example the **global** resources and **regional** resources are added.
Global resources include the per-project resources like service accounts,
roles, and object storage. Regional resources include a Cloud Scheduler Job, and
Cloud Run Service.
This example uses a single module to add both types of resources.
21 changes: 12 additions & 9 deletions examples/org-level-single-region/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
# Project-Level with Single Region Example
# Google Cloud Organization-Level for a Single Region

Every Terraform module must have one or more examples.
In this example we add Terraform modules to one Google Cloud region.

```hcl
- Global resources are deployed to the default Google provider region.
- Service Accounts/Permissions
- Object Storage Bucket
- Secret Manager Secret
- Regional resources are deployed to the default Google provider region.
- Cloud Run Job
- Cloud Scheduler Job

## Sample Code

```hcl
provider "lacework" {}

provider "google" {}
Expand All @@ -20,9 +29,3 @@ module "lacework_gcp_agentless_scanning_org_single_region" {
lacework_integration_name = "agentless_from_terraform"
}
```

In this example the **global** resources and **regional** resources are added.
Global resources include the per-project resources like service accounts,
roles, and object storage. Regional resources include a Cloud Scheduler Job, and
Cloud Run Service.
This example uses a single module to add both types of resources.
57 changes: 57 additions & 0 deletions examples/project-level-multi-region/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Google Cloud Project-Level for Multiple Regions

In this example we add Terraform modules to two Google Cloud regions.

- Global resources are deployed to `us-east1`
- Service Accounts/Permissions
- Object Storage Bucket
- Secret Manager Secret
- Regional resources are deployed to `us-east1` and `us-central1`
- Cloud Run Job
- Cloud Scheduler Job

## Sample Code

```hcl
provider "lacework" {}

provider "google" {
alias = "use1"
region = "us-east1"
}

provider "google" {
alias = "usc1"
region = "us-central1"
}

module "lacework_gcp_agentless_scanning_project_multi_region_use1" {
source = "lacework/agentless-scanning/gcp"
version = "~> 0.1"

providers = {
google = google.use1
}

project_filter_list = [
"monitored-project-1",
"monitored-project-2"
]

global = true
regional = true
lacework_integration_name = "agentless_from_terraform"
}

module "lacework_gcp_agentless_scanning_project_multi_region_usc1" {
source = "lacework/agentless-scanning/gcp"
version = "~> 0.1"

providers = {
google = google.usc1
}

regional = true
global_module_reference = module.lacework_gcp_agentless_scanning_project_multi_region_use1
}
```
39 changes: 39 additions & 0 deletions examples/project-level-multi-region/main.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
provider "lacework" {}

provider "google" {
alias = "use1"
region = "us-east1"
}

provider "google" {
alias = "usc1"
region = "us-central1"
}

module "lacework_gcp_agentless_scanning_project_multi_region_use1" {
source = "../.."

providers = {
google = google.use1
}

project_filter_list = [
"monitored-project-1",
"monitored-project-2"
]

global = true
regional = true
lacework_integration_name = "agentless_from_terraform"
}

module "lacework_gcp_agentless_scanning_project_multi_region_usc1" {
source = "../.."

providers = {
google = google.usc1
}

regional = true
global_module_reference = module.lacework_gcp_agentless_scanning_project_multi_region_use1
}
9 changes: 9 additions & 0 deletions examples/project-level-multi-region/versions.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
terraform {
required_version = ">= 0.12.26"

required_providers {
lacework = {
source = "lacework/lacework"
}
}
}
22 changes: 12 additions & 10 deletions examples/project-level-single-region/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
# Project-Level with Single Region Example
# Google Cloud Project-Level for a Single Region

Every Terraform module must have one or more examples.
In this example we add Terraform modules to one Google Cloud region.

```hcl
- Global resources are deployed to the default Google provider region.
- Service Accounts/Permissions
- Object Storage Bucket
- Secret Manager Secret
- Regional resources are deployed to the default Google provider region.
- Cloud Run Job
- Cloud Scheduler Job

## Sample Code

```hcl
provider "lacework" {}

provider "google" {}
Expand All @@ -12,7 +21,6 @@ module "lacework_gcp_agentless_scanning_project_single_region" {
source = "lacework/agentless-scanning/gcp"
version = "~> 0.1"

project_id = "lacework-stitch-nixlab"
project_filter_list = [
"monitored-project-1",
"monitored-project-2"
Expand All @@ -23,9 +31,3 @@ module "lacework_gcp_agentless_scanning_project_single_region" {
lacework_integration_name = "agentless_from_terraform"
}
```

In this example the **global** resources and **regional** resources are added.
Global resources include the per-project resources like service accounts,
roles, and object storage. Regional resources include a Cloud Scheduler Job, and
Cloud Run Service.
This example uses a single module to add both types of resources.
1 change: 1 addition & 0 deletions scripts/ci_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ readonly project_name=terraform-gcp-agentless-scanning
TEST_CASES=(
examples/org-level-multi-region
examples/org-level-single-region
examples/project-level-multi-region
examples/project-level-single-region
)

Expand Down