You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: CONTRIBUTING.md
+25-10
Original file line number
Diff line number
Diff line change
@@ -52,26 +52,40 @@ The general strategy for these tests is to verify the behaviour of the
52
52
submodules, and example modules are all functionally correct.
53
53
54
54
### Test Environment
55
-
The easiest way to test the module is in an isolated test project. The setup for such a project is defined in [test/setup](./test/setup/) directory.
56
55
57
-
To use this setup, you need a service account with Project Creator access on a folder. Export the Service Account credentials to your environment like so:
56
+
The easiest way to test the module is in an isolated test project and folder.
57
+
The setup for such a project and folder is defined in [test/setup](./test/setup/) directory.
58
+
This setup will create a dedicated folder, a project within the folder to hold a service
59
+
account that will be used to run the integration tests. It will assign all needed roles
60
+
to the service account and will also create a access context manager policy needed for test execution.
58
61
59
-
```
62
+
To use and execute this setup, you need a service account with the following roles:
63
+
64
+
- Project Creator access on the folder (if you want to delete the setup later ProjectDeleter is also needed).
65
+
- Folder Admin on the folder.
66
+
- Access Context Manager Editor or Admin on the organization.
67
+
- Billing Account Administrator on the billing account or on the organization.
68
+
- Organization Administrator on the organization in order to grant the created service account permissions on organization level.
69
+
70
+
Export the Service Account credentials to your environment like so:
71
+
72
+
```bash
60
73
export SERVICE_ACCOUNT_JSON=$(< credentials.json)
61
74
```
62
75
63
76
You will also need to set a few environment variables:
Copy file name to clipboardexpand all lines: README.md
+1
Original file line number
Diff line number
Diff line change
@@ -121,6 +121,7 @@ determining that location is as follows:
121
121
| budget\_alert\_spent\_percents | A list of percentages of the budget to alert on when threshold is exceeded |`list(number)`| <pre>[<br> 0.5,<br> 0.7,<br> 1<br>]</pre> | no |
122
122
| budget\_amount | The amount to use for a budget alert |`number`|`null`| no |
123
123
| budget\_monitoring\_notification\_channels | A list of monitoring notification channels in the form `[projects/{project_id}/notificationChannels/{channel_id}]`. A maximum of 5 channels are allowed. |`list(string)`|`[]`| no |
124
+
| create\_project\_sa | Whether the default service account for the project shall be created |`bool`|`true`| no |
124
125
| credentials\_path | Path to a service account credentials file with rights to run the Project Factory. If this file is absent Terraform will fall back to Application Default Credentials. |`string`|`""`| no |
125
126
| default\_service\_account | Project default service account setting: can be one of `delete`, `deprivilege`, `disable`, or `keep`. |`string`|`"disable"`| no |
126
127
| disable\_dependent\_services | Whether services that are enabled and which depend on this service should also be disabled when this service is destroyed. |`bool`|`true`| no |
Copy file name to clipboardexpand all lines: modules/gsuite_enabled/README.md
+1
Original file line number
Diff line number
Diff line change
@@ -71,6 +71,7 @@ The roles granted are specifically:
71
71
| budget\_amount | The amount to use for a budget alert |`number`|`null`| no |
72
72
| budget\_monitoring\_notification\_channels | A list of monitoring notification channels in the form `[projects/{project_id}/notificationChannels/{channel_id}]`. A maximum of 5 channels are allowed. |`list(string)`|`[]`| no |
73
73
| create\_group | Whether to create the group or not |`bool`|`false`| no |
74
+
| create\_project\_sa | Whether the default service account for the project shall be created |`bool`|`true`| no |
74
75
| credentials\_path | Path to a service account credentials file with rights to run the Project Factory. If this file is absent Terraform will fall back to Application Default Credentials. |`string`|`""`| no |
75
76
| default\_service\_account | Project default service account setting: can be one of `delete`, `deprivilege`, `disable`, or `keep`. |`string`|`"disable"`| no |
76
77
| disable\_dependent\_services | Whether services that are enabled and which depend on this service should also be disabled when this service is destroyed. |`string`|`"true"`| no |
Copy file name to clipboardexpand all lines: modules/svpc_service_project/README.md
+1
Original file line number
Diff line number
Diff line change
@@ -43,6 +43,7 @@ module "service-project" {
43
43
| budget\_alert\_spent\_percents | A list of percentages of the budget to alert on when threshold is exceeded |`list(number)`| <pre>[<br> 0.5,<br> 0.7,<br> 1<br>]</pre> | no |
44
44
| budget\_amount | The amount to use for a budget alert |`number`|`null`| no |
45
45
| budget\_monitoring\_notification\_channels | A list of monitoring notification channels in the form `[projects/{project_id}/notificationChannels/{channel_id}]`. A maximum of 5 channels are allowed. |`list(string)`|`[]`| no |
46
+
| create\_project\_sa | Whether the default service account for the project shall be created |`bool`|`true`| no |
46
47
| credentials\_path | Path to a service account credentials file with rights to run the Project Factory. If this file is absent Terraform will fall back to Application Default Credentials. |`string`|`""`| no |
47
48
| default\_service\_account | Project default service account setting: can be one of `delete`, `deprivilege`, `disable`, or `keep`. |`string`|`"disable"`| no |
48
49
| disable\_dependent\_services | Whether services that are enabled and which depend on this service should also be disabled when this service is destroyed. |`bool`|`true`| no |
0 commit comments