Conditionals (if)

The if expression allows you to optionally compose resources based on conditions you set. An if expression includes a condition that resolves to True or False. When the if condition resolves to true, the function composes the resource. When false, the resource isn’t created.

Define condition for composing

In your function, you can conditionally compose a resource based on a true or false parameter you set. The example below conditionally deploys a VPC. When deployVPC is true, your control plane continues the function to create the VPC. When false, the function skips the VPC creation.

import models.v1beta1 as v1beta1

oxr = option("params").oxr

awsVpc = v1beta1.VPC {
    spec.forProvider = {
        cidrBlock: var.cidr if oxr.spec.parameters.useIpamPool else ""
        ipv6CidrBlock: "10.1.0.0/16"
        region: "eu-west-1"
        enableDnsHostnames: True
        enableDnsSupport: True
    }
} if oxr.spec.parameters.deployVPC else {}

items = [awsVpc]