Skip to content

Commit 26a2741

Browse files
committed
Merge branch 'main' into deprecate_refs
2 parents 61fdf25 + 9b2a3af commit 26a2741

File tree

19 files changed

+324
-178
lines changed

19 files changed

+324
-178
lines changed

.secrets.baseline

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"files": "go.sum|^.secrets.baseline$",
44
"lines": null
55
},
6-
"generated_at": "2024-08-29T15:52:09Z",
6+
"generated_at": "2024-08-29T15:52:08Z",
77
"plugins_used": [
88
{
99
"name": "AWSKeyDetector"

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,11 +279,11 @@ To attach access management tags to resources in this module, you need the follo
279279
| <a name="input_security_group_rules"></a> [security\_group\_rules](#input\_security\_group\_rules) | A list of security group rules to be added to the default vpc security group (default empty) | <pre>list(<br/> object({<br/> name = string<br/> direction = string<br/> remote = optional(string)<br/> local = optional(string)<br/> ip_version = optional(string)<br/> tcp = optional(<br/> object({<br/> port_max = optional(number)<br/> port_min = optional(number)<br/> })<br/> )<br/> udp = optional(<br/> object({<br/> port_max = optional(number)<br/> port_min = optional(number)<br/> })<br/> )<br/> icmp = optional(<br/> object({<br/> type = optional(number)<br/> code = optional(number)<br/> })<br/> )<br/> })<br/> )</pre> | `[]` | no |
280280
| <a name="input_skip_custom_resolver_hub_creation"></a> [skip\_custom\_resolver\_hub\_creation](#input\_skip\_custom\_resolver\_hub\_creation) | Indicates whether to skip the configuration of a custom resolver in the hub VPC. Only relevant if enable\_hub is set to true. | `bool` | `false` | no |
281281
| <a name="input_skip_spoke_auth_policy"></a> [skip\_spoke\_auth\_policy](#input\_skip\_spoke\_auth\_policy) | Set to true to skip the creation of an authorization policy between the DNS resolution spoke and hub, only enable this if a policy already exists between these two VPCs. See https://cloud.ibm.com/docs/vpc?topic=vpc-vpe-dns-sharing-s2s-auth&interface=ui for more details. | `bool` | `false` | no |
282-
| <a name="input_subnets"></a> [subnets](#input\_subnets) | List of subnets for the vpc. For each item in each array, a subnet will be created. Items can be either CIDR blocks or total ipv4 addresses. Public gateways will be enabled only in zones where a gateway has been created | <pre>object({<br/> zone-1 = list(object({<br/> name = string<br/> cidr = string<br/> public_gateway = optional(bool)<br/> acl_name = string<br/> no_addr_prefix = optional(bool, false) # do not automatically add address prefix for subnet, overrides other conditions if set to true<br/> subnet_tags = optional(list(string), [])<br/> }))<br/> zone-2 = optional(list(object({<br/> name = string<br/> cidr = string<br/> public_gateway = optional(bool)<br/> acl_name = string<br/> no_addr_prefix = optional(bool, false) # do not automatically add address prefix for subnet, overrides other conditions if set to true<br/> subnet_tags = optional(list(string), [])<br/> })))<br/> zone-3 = optional(list(object({<br/> name = string<br/> cidr = string<br/> public_gateway = optional(bool)<br/> acl_name = string<br/> no_addr_prefix = optional(bool, false) # do not automatically add address prefix for subnet, overrides other conditions if set to true<br/> subnet_tags = optional(list(string), [])<br/> })))<br/> })</pre> | <pre>{<br/> "zone-1": [<br/> {<br/> "acl_name": "vpc-acl",<br/> "cidr": "10.10.10.0/24",<br/> "name": "subnet-a",<br/> "no_addr_prefix": false,<br/> "public_gateway": true<br/> }<br/> ],<br/> "zone-2": [<br/> {<br/> "acl_name": "vpc-acl",<br/> "cidr": "10.20.10.0/24",<br/> "name": "subnet-b",<br/> "no_addr_prefix": false,<br/> "public_gateway": true<br/> }<br/> ],<br/> "zone-3": [<br/> {<br/> "acl_name": "vpc-acl",<br/> "cidr": "10.30.10.0/24",<br/> "name": "subnet-c",<br/> "no_addr_prefix": false,<br/> "public_gateway": false<br/> }<br/> ]<br/>}</pre> | no |
282+
| <a name="input_subnets"></a> [subnets](#input\_subnets) | List of subnets for the vpc. For each item in each array, a subnet will be created. Items can be either CIDR blocks or total ipv4 addresses. Public gateways will be enabled only in zones where a gateway has been created | <pre>object({<br/> zone-1 = list(object({<br/> name = string<br/> cidr = string<br/> public_gateway = optional(bool)<br/> acl_name = string<br/> no_addr_prefix = optional(bool, false) # do not automatically add address prefix for subnet, overrides other conditions if set to true<br/> subnet_tags = optional(list(string), [])<br/> }))<br/> zone-2 = optional(list(object({<br/> name = string<br/> cidr = string<br/> public_gateway = optional(bool)<br/> acl_name = string<br/> no_addr_prefix = optional(bool, false) # do not automatically add address prefix for subnet, overrides other conditions if set to true<br/> subnet_tags = optional(list(string), [])<br/> })))<br/> zone-3 = optional(list(object({<br/> name = string<br/> cidr = string<br/> public_gateway = optional(bool)<br/> acl_name = string<br/> no_addr_prefix = optional(bool, false) # do not automatically add address prefix for subnet, overrides other conditions if set to true<br/> subnet_tags = optional(list(string), [])<br/> })))<br/> })</pre> | <pre>{<br/> "zone-1": [<br/> {<br/> "acl_name": "vpc-acl",<br/> "cidr": "10.10.10.0/24",<br/> "name": "subnet-a",<br/> "no_addr_prefix": false,<br/> "public_gateway": true<br/> }<br/> ],<br/> "zone-2": [<br/> {<br/> "acl_name": "vpc-acl",<br/> "cidr": "10.20.10.0/24",<br/> "name": "subnet-b",<br/> "no_addr_prefix": false,<br/> "public_gateway": true<br/> }<br/> ],<br/> "zone-3": [<br/> {<br/> "acl_name": "vpc-acl",<br/> "cidr": "10.30.10.0/24",<br/> "name": "subnet-c",<br/> "no_addr_prefix": false,<br/> "public_gateway": true<br/> }<br/> ]<br/>}</pre> | no |
283283
| <a name="input_tags"></a> [tags](#input\_tags) | List of Tags for the resource created | `list(string)` | `null` | no |
284284
| <a name="input_update_delegated_resolver"></a> [update\_delegated\_resolver](#input\_update\_delegated\_resolver) | If set to true, and if the vpc is configured to be a spoke for DNS resolution (enable\_hub\_vpc\_crn or enable\_hub\_vpc\_id set), then the spoke VPC resolver will be updated to a delegated resolver. | `bool` | `false` | no |
285285
| <a name="input_use_existing_dns_instance"></a> [use\_existing\_dns\_instance](#input\_use\_existing\_dns\_instance) | Whether to use an existing dns instance. If true, existing\_dns\_instance\_id must be set. | `bool` | `false` | no |
286-
| <a name="input_use_public_gateways"></a> [use\_public\_gateways](#input\_use\_public\_gateways) | Create a public gateway in any of the three zones with `true`. | <pre>object({<br/> zone-1 = optional(bool)<br/> zone-2 = optional(bool)<br/> zone-3 = optional(bool)<br/> })</pre> | <pre>{<br/> "zone-1": true,<br/> "zone-2": false,<br/> "zone-3": false<br/>}</pre> | no |
286+
| <a name="input_use_public_gateways"></a> [use\_public\_gateways](#input\_use\_public\_gateways) | Create a public gateway in any of the three zones with `true`. | <pre>object({<br/> zone-1 = optional(bool)<br/> zone-2 = optional(bool)<br/> zone-3 = optional(bool)<br/> })</pre> | <pre>{<br/> "zone-1": true,<br/> "zone-2": true,<br/> "zone-3": true<br/>}</pre> | no |
287287
| <a name="input_vpc_flow_logs_name"></a> [vpc\_flow\_logs\_name](#input\_vpc\_flow\_logs\_name) | The name to give the provisioned VPC flow logs. If not set, the module generates a name based on the `prefix` and `name` variables. | `string` | `null` | no |
288288
| <a name="input_vpn_gateways"></a> [vpn\_gateways](#input\_vpn\_gateways) | List of VPN gateways to create. | <pre>list(<br/> object({<br/> name = string<br/> subnet_name = string # Do not include prefix, use same name as in `var.subnets`<br/> mode = optional(string)<br/> resource_group = optional(string)<br/> access_tags = optional(list(string), [])<br/> })<br/> )</pre> | `[]` | no |
289289

examples/no-prefix/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ module "slz_vpc" {
3838
source = "../../"
3939
resource_group_id = module.resource_group.resource_group_id
4040
region = var.region
41-
name = "vpc"
41+
name = var.vpc_name
4242
routing_table_name = "vpc-routing-table"
4343
public_gateway_name = "vpc-public-gateway"
4444
vpc_flow_logs_name = "vpc-flow-logs"

examples/no-prefix/variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,9 @@ variable "access_tags" {
3131
description = "Optional list of access tags to add to the VPC resources that are created"
3232
default = []
3333
}
34+
35+
variable "vpc_name" {
36+
type = string
37+
description = "Name of the VPC"
38+
default = "vpc"
39+
}

ibm_catalog.json

Lines changed: 64 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"solution",
1212
"network",
1313
"network_vpc",
14-
"converged_infra"
14+
"platform_engineering"
1515
],
1616
"keywords": [
1717
"vpc",
@@ -119,7 +119,7 @@
119119
"crn:v1:bluemix:public:iam::::role:Administrator"
120120
],
121121
"service_name": "All Identity and Access enabled services",
122-
"notes": "[Optional] Required to create new resource groups with account settings when enabling the Account Configuration integration."
122+
"notes": "[Optional] Required to to create trusted profile for App Configuration aggregator which is used for compliance scanning."
123123
},
124124
{
125125
"role_crns": [
@@ -199,7 +199,18 @@
199199
},
200200
{
201201
"key": "prefix",
202-
"required": true
202+
"required": true,
203+
"default_value": "dev",
204+
"random_string": {
205+
"length": 4
206+
},
207+
"value_constraints": [
208+
{
209+
"type": "regex",
210+
"description": "Prefix must begin with a lowercase letter and may contain only lowercase letters, digits, and hyphens '-'. It must not end with a hyphen('-'), and cannot contain consecutive hyphens ('--'). It should not exceed 16 characters.",
211+
"value": "^$|^__NULL__$|^[a-z](?!.*--)(?:[a-z0-9-]{0,14}[a-z0-9])?$"
212+
}
213+
]
203214
},
204215
{
205216
"key": "region",
@@ -260,7 +271,9 @@
260271
"config_constraints": {
261272
"identifier": "rg_name"
262273
}
263-
}
274+
},
275+
"default_value": "Default",
276+
"description": "The name of an existing resource group to provision the resources."
264277
},
265278
{
266279
"key": "subnets"
@@ -377,7 +390,14 @@
377390
"key": "enable_vpc_flow_logs"
378391
},
379392
{
380-
"key": "existing_cos_instance_crn"
393+
"key": "existing_cos_instance_crn",
394+
"value_constraints": [
395+
{
396+
"type": "regex",
397+
"description": "The value provided for 'existing_cos_instance_crn' is not valid.",
398+
"value": "^crn:(.*:){3}cloud-object-storage:(.*:){2}[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}::$"
399+
}
400+
]
381401
},
382402
{
383403
"key": "skip_vpc_cos_iam_auth_policy"
@@ -392,7 +412,14 @@
392412
"key": "existing_flow_logs_bucket_kms_key_crn"
393413
},
394414
{
395-
"key": "existing_kms_instance_crn"
415+
"key": "existing_kms_instance_crn",
416+
"value_constraints": [
417+
{
418+
"type": "regex",
419+
"description": "The value provided for 'existing_kms_instance_crn' is not valid.",
420+
"value": "^__NULL__$|^crn:(.*:){3}(kms|hs-crypto):(.*:){2}[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}::$"
421+
}
422+
]
396423
},
397424
{
398425
"key": "skip_cos_kms_iam_auth_policy"
@@ -522,31 +549,6 @@
522549
}
523550
],
524551
"dependencies": [
525-
{
526-
"name": "deploy-arch-ibm-account-infra-base",
527-
"description": "Organizes your IBM Cloud account with preconfigured resource groups. If not selected, the default resource group is used. Optionally, it can expand to apply recommended security controls via \"with Account Settings\" variation. ",
528-
"catalog_id": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3",
529-
"flavors": [
530-
"resource-group-only",
531-
"resource-groups-with-account-settings"
532-
],
533-
"default_flavor": "resource-group-only",
534-
"id": "63641cec-6093-4b4f-b7b0-98d2f4185cd6-global",
535-
"input_mapping": [
536-
{
537-
"dependency_input": "prefix",
538-
"version_input": "prefix",
539-
"reference_version": true
540-
},
541-
{
542-
"dependency_output": "workload_resource_group_name",
543-
"version_input": "existing_resource_group_name"
544-
}
545-
],
546-
"optional": true,
547-
"on_by_default": false,
548-
"version": "v3.0.7"
549-
},
550552
{
551553
"name": "deploy-arch-ibm-kms",
552554
"id": "2cad4789-fa90-4886-9c9e-857081c273ee-global",
@@ -565,6 +567,11 @@
565567
"version_input": "prefix",
566568
"reference_version": true
567569
},
570+
{
571+
"dependency_input": "existing_resource_group_name",
572+
"version_input": "existing_resource_group_name",
573+
"reference_version": true
574+
},
568575
{
569576
"dependency_input": "region",
570577
"version_input": "region",
@@ -586,7 +593,7 @@
586593
],
587594
"optional": true,
588595
"on_by_default": true,
589-
"version": "v5.1.19"
596+
"version": "v5.4.0"
590597
},
591598
{
592599
"name": "deploy-arch-ibm-cos",
@@ -618,7 +625,7 @@
618625
],
619626
"optional": true,
620627
"on_by_default": true,
621-
"version": "v10.2.1"
628+
"version": "v10.5.0"
622629
},
623630
{
624631
"name": "deploy-arch-ibm-cloud-logs",
@@ -628,7 +635,7 @@
628635
"fully-configurable"
629636
],
630637
"id": "63d8ae58-fbf3-41ce-b844-0fb5b85882ab-global",
631-
"version": "v1.6.11",
638+
"version": "v1.9.0",
632639
"optional": true,
633640
"on_by_default": true,
634641
"input_mapping": [
@@ -637,6 +644,11 @@
637644
"version_input": "prefix",
638645
"reference_version": true
639646
},
647+
{
648+
"dependency_input": "existing_resource_group_name",
649+
"version_input": "existing_resource_group_name",
650+
"reference_version": true
651+
},
640652
{
641653
"dependency_input": "existing_cos_instance_crn",
642654
"version_input": "existing_cos_instance_crn",
@@ -663,7 +675,7 @@
663675
"name": "deploy-arch-ibm-cloud-monitoring",
664676
"description": "Sets up a Cloud Monitoring instance to collect the platform metrics.",
665677
"id": "73debdbf-894f-4c14-81c7-5ece3a70b67d-global",
666-
"version": "v1.6.4",
678+
"version": "v1.9.0",
667679
"flavors": [
668680
"fully-configurable"
669681
],
@@ -676,6 +688,11 @@
676688
"version_input": "enable_platform_metrics",
677689
"reference_version": true
678690
},
691+
{
692+
"dependency_input": "existing_resource_group_name",
693+
"version_input": "existing_resource_group_name",
694+
"reference_version": true
695+
},
679696
{
680697
"dependency_input": "prefix",
681698
"version_input": "prefix",
@@ -685,24 +702,14 @@
685702
"dependency_input": "region",
686703
"version_input": "region",
687704
"reference_version": true
688-
},
689-
{
690-
"dependency_input": "existing_cos_instance_crn",
691-
"version_input": "existing_cos_instance_crn",
692-
"reference_version": true
693-
},
694-
{
695-
"dependency_input": "existing_kms_instance_crn",
696-
"version_input": "existing_kms_instance_crn",
697-
"reference_version": true
698705
}
699706
]
700707
},
701708
{
702709
"name": "deploy-arch-ibm-activity-tracker",
703710
"description": "Configure Activity Tracker Event Routing to route the auditing events.",
704711
"id": "918453c3-4f97-4583-8c4a-83ef12fc7916-global",
705-
"version": "v1.2.25",
712+
"version": "v1.4.3",
706713
"flavors": [
707714
"fully-configurable"
708715
],
@@ -715,6 +722,11 @@
715722
"version_input": "prefix",
716723
"reference_version": true
717724
},
725+
{
726+
"dependency_input": "existing_resource_group_name",
727+
"version_input": "existing_resource_group_name",
728+
"reference_version": true
729+
},
718730
{
719731
"dependency_input": "region",
720732
"version_input": "region",
@@ -736,7 +748,7 @@
736748
"name": "deploy-arch-ibm-scc-workload-protection",
737749
"description": "Configure an IBM Cloud Security and Compliance Center Workload Protection instance to help you manage security and compliance for your organization.",
738750
"id": "4322cf44-2289-49aa-a719-dd79e39b14dc-global",
739-
"version": "v1.11.4",
751+
"version": "v1.14.0",
740752
"flavors": [
741753
"fully-configurable"
742754
],
@@ -753,6 +765,11 @@
753765
"dependency_input": "region",
754766
"version_input": "region",
755767
"reference_version": true
768+
},
769+
{
770+
"dependency_input": "existing_resource_group_name",
771+
"version_input": "existing_resource_group_name",
772+
"reference_version": true
756773
}
757774
]
758775
}

0 commit comments

Comments
 (0)