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: README.md
+11Lines changed: 11 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,6 +21,10 @@ This module creates the following IBM Cloud® Virtual Private Cloud (VPC) net
21
21
22
22
In addition to this root module, this repository provides two submodules that call the root module with presets and defaults that are aligned with the general [Framework for Financial Services](https://cloud.ibm.com/docs/framework-financial-services?topic=framework-financial-services-vpc-architecture-about) management and workload VPC topologies. See the [landing-zone-submodules](/landing-zone-submodule/) for details.
23
23
24
+
## Before you begin
25
+
26
+
Some features of this module require additional software beyond the [Terraform CLI](https://www.terraform.io/).
27
+
- Make sure that you have a recent version of the [IBM Cloud CLI](https://cloud.ibm.com/docs/cli?topic=cli-getting-started)
24
28
25
29
## Usage
26
30
```terraform
@@ -78,6 +82,7 @@ You need the following permissions to run this module.
|[ibm_is_vpc_address_prefixes.get_address_prefixes](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/data-sources/is_vpc_address_prefixes)| data source |
105
112
106
113
## Inputs
@@ -109,13 +116,17 @@ You need the following permissions to run this module.
| <aname="input_address_prefixes"></a> [address\_prefixes](#input\_address\_prefixes)| OPTIONAL - IP range that will be defined for the VPC for a certain location. Use only with manual address prefixes | <pre>object({<br> zone-1 = optional(list(string))<br> zone-2 = optional(list(string))<br> zone-3 = optional(list(string))<br> })</pre> | <pre>{<br> "zone-1": null,<br> "zone-2": null,<br> "zone-3": null<br>}</pre> | no |
111
118
| <aname="input_classic_access"></a> [classic\_access](#input\_classic\_access)| OPTIONAL - Classic Access to the VPC |`bool`|`false`| no |
119
+
| <aname="input_clean_default_acl"></a> [clean\_default\_acl](#input\_clean\_default\_acl)| Remove all rules from the default VPC ACL (less permissive) |`bool`|`false`| no |
120
+
| <aname="input_clean_default_security_group"></a> [clean\_default\_security\_group](#input\_clean\_default\_security\_group)| Remove all rules from the default VPC security group (less permissive) |`bool`|`false`| no |
112
121
| <aname="input_create_authorization_policy_vpc_to_cos"></a> [create\_authorization\_policy\_vpc\_to\_cos](#input\_create\_authorization\_policy\_vpc\_to\_cos)| Create authorisation policy for VPC to access COS. Set as false if authorization policy exists already |`bool`|`false`| no |
113
122
| <aname="input_default_network_acl_name"></a> [default\_network\_acl\_name](#input\_default\_network\_acl\_name)| OPTIONAL - Name of the Default ACL. If null, a name will be automatically generated |`string`|`null`| no |
114
123
| <aname="input_default_routing_table_name"></a> [default\_routing\_table\_name](#input\_default\_routing\_table\_name)| OPTIONAL - Name of the Default Routing Table. If null, a name will be automatically generated |`string`|`null`| no |
115
124
| <aname="input_default_security_group_name"></a> [default\_security\_group\_name](#input\_default\_security\_group\_name)| OPTIONAL - Name of the Default Security Group. If null, a name will be automatically generated |`string`|`null`| no |
116
125
| <aname="input_enable_vpc_flow_logs"></a> [enable\_vpc\_flow\_logs](#input\_enable\_vpc\_flow\_logs)| Flag to enable vpc flow logs. If true, flow log collector will be created |`bool`|`false`| no |
117
126
| <aname="input_existing_cos_instance_guid"></a> [existing\_cos\_instance\_guid](#input\_existing\_cos\_instance\_guid)| GUID of the COS instance to create Flow log collector |`string`|`null`| no |
118
127
| <aname="input_existing_storage_bucket_name"></a> [existing\_storage\_bucket\_name](#input\_existing\_storage\_bucket\_name)| Name of the COS bucket to collect VPC flow logs |`string`|`null`| no |
128
+
| <aname="input_ibmcloud_api_key"></a> [ibmcloud\_api\_key](#input\_ibmcloud\_api\_key)| IBM Cloud API Key that will be used for authentication in scripts run in this module. Only required if certain options are chosen, such as the 'clean\_default\_*' variables being 'true'. |`string`|`null`| no |
129
+
| <aname="input_ibmcloud_api_visibility"></a> [ibmcloud\_api\_visibility](#input\_ibmcloud\_api\_visibility)| IBM Cloud API visibility used by scripts run in this module. Must be 'public', 'private', or 'public-and-private' |`string`|`"public"`| no |
119
130
| <aname="input_is_flow_log_collector_active"></a> [is\_flow\_log\_collector\_active](#input\_is\_flow\_log\_collector\_active)| Indicates whether the collector is active. If false, this collector is created in inactive mode. |`bool`|`true`| no |
120
131
| <aname="input_name"></a> [name](#input\_name)| Name for VPC |`string`| n/a | yes |
121
132
| <a name="input_network_acls"></a> [network\_acls](#input\_network\_acls) | The list of ACLs to create. Provide at least one rule for each ACL. | <pre>list(<br> object({<br> name = string<br> add_ibm_cloud_internal_rules = optional(bool)<br> add_vpc_connectivity_rules = optional(bool)<br> prepend_ibm_rules = optional(bool)<br> rules = list(<br> object({<br> name = string<br> action = string<br> destination = string<br> direction = string<br> source = string<br> tcp = optional(<br> object({<br> port_max = optional(number)<br> port_min = optional(number)<br> source_port_max = optional(number)<br> source_port_min = optional(number)<br> })<br> )<br> udp = optional(<br> object({<br> port_max = optional(number)<br> port_min = optional(number)<br> source_port_max = optional(number)<br> source_port_min = optional(number)<br> })<br> )<br> icmp = optional(<br> object({<br> type = optional(number)<br> code = optional(number)<br> })<br> )<br> })<br> )<br> })<br> )</pre> | <pre>[<br> {<br> "add_ibm_cloud_internal_rules": true,<br> "add_vpc_connectivity_rules": true,<br> "name": "vpc-acl",<br> "prepend_ibm_rules": true,<br> "rules": []<br> }<br>]</pre> | no |
| <aname="input_address_prefixes"></a> [address\_prefixes](#input\_address\_prefixes)| Use `address_prefixes` only if `use_manual_address_prefixes` is true otherwise prefixes will not be created. Use only if you need to manage prefixes manually. | <pre>object({<br> zone-1 = optional(list(string))<br> zone-2 = optional(list(string))<br> zone-3 = optional(list(string))<br> })</pre> |`null`| no |
31
31
| <aname="input_classic_access"></a> [classic\_access](#input\_classic\_access)| Optionally allow VPC to access classic infrastructure network |`bool`|`null`| no |
32
+
| <aname="input_clean_default_acl"></a> [clean\_default\_acl](#input\_clean\_default\_acl)| Remove all rules from the default VPC ACL (less permissive) |`bool`|`false`| no |
33
+
| <aname="input_clean_default_security_group"></a> [clean\_default\_security\_group](#input\_clean\_default\_security\_group)| Remove all rules from the default VPC security group (less permissive) |`bool`|`false`| no |
32
34
| <aname="input_create_authorization_policy_vpc_to_cos"></a> [create\_authorization\_policy\_vpc\_to\_cos](#input\_create\_authorization\_policy\_vpc\_to\_cos)| Set it to true if authorization policy is required for VPC to access COS |`bool`|`false`| no |
33
35
| <aname="input_default_network_acl_name"></a> [default\_network\_acl\_name](#input\_default\_network\_acl\_name)| Override default ACL name |`string`|`null`| no |
34
36
| <aname="input_default_routing_table_name"></a> [default\_routing\_table\_name](#input\_default\_routing\_table\_name)| Override default VPC routing table name |`string`|`null`| no |
@@ -37,6 +39,8 @@ No resources.
37
39
| <aname="input_enable_vpc_flow_logs"></a> [enable\_vpc\_flow\_logs](#input\_enable\_vpc\_flow\_logs)| Enable VPC Flow Logs, it will create Flow logs collector if set to true |`bool`|`false`| no |
38
40
| <aname="input_existing_cos_bucket_name"></a> [existing\_cos\_bucket\_name](#input\_existing\_cos\_bucket\_name)| Name of the COS bucket to collect VPC flow logs |`string`|`null`| no |
39
41
| <aname="input_existing_cos_instance_guid"></a> [existing\_cos\_instance\_guid](#input\_existing\_cos\_instance\_guid)| GUID of the COS instance to create Flow log collector |`string`|`null`| no |
42
+
| <aname="input_ibmcloud_api_key"></a> [ibmcloud\_api\_key](#input\_ibmcloud\_api\_key)| IBM Cloud API Key that will be used for authentication in scripts run in this module. Only required if certain options are chosen, such as the 'clean\_default\_*' variables being 'true'. |`string`|`null`| no |
43
+
| <aname="input_ibmcloud_api_visibility"></a> [ibmcloud\_api\_visibility](#input\_ibmcloud\_api\_visibility)| IBM Cloud API visibility used by scripts run in this module. Must be 'public', 'private', or 'public-and-private' |`string`|`"public"`| no |
| <aname="input_network_cidr"></a> [network\_cidr](#input\_network\_cidr)| Network CIDR for the VPC. This is used to manage network ACL rules for cluster provisioning. |`string`|`"10.0.0.0/8"`| no |
42
46
| <aname="input_prefix"></a> [prefix](#input\_prefix)| The prefix that you would like to append to your resources |`string`|`"management"`| no |
description="IBM Cloud API Key that will be used for authentication in scripts run in this module. Only required if certain options are chosen, such as the 'clean_default_*' variables being 'true'."
115
+
type=string
116
+
sensitive=true
117
+
default=null
118
+
}
119
+
90
120
variable"address_prefixes" {
91
121
description="Use `address_prefixes` only if `use_manual_address_prefixes` is true otherwise prefixes will not be created. Use only if you need to manage prefixes manually."
0 commit comments