The code that it output that I am testing is: ```i...
# python
c
The code that it output that I am testing is:
Copy code
import pulumi
import pulumi_azure_native as azure_native

# Existing Virtual Network details
vnet_name = "<YOUR_VNET_NAME>"
resource_group_name = "<YOUR_RESOURCE_GROUP_NAME>"

# Fetch the existing VNet details
vnet = azure_native.network.get_virtual_network_output(
    resource_group_name=resource_group_name,
    virtual_network_name=vnet_name
)

# Determine the next available subnet address prefix
def get_next_subnet_prefix(vnet):
    # Extract the existing address spaces and subnets
    existing_subnets = vnet.subnets.apply(lambda subs: [sub.address_prefix for sub in subs] if subs else [])
    existing_address_spaces = vnet.address_space.address_prefixes
    
    # Assumption: Using /24 CIDR blocks within the first address space for simplicity
    base_prefix = existing_address_spaces[0]
    base_prefix_parts = base_prefix.split('/')
    base_network = base_prefix_parts[0].rsplit('.', 1)[0]  # Get first three octets
    base_mask_length = int(base_prefix_parts[1])

    subnets_num_bits = 32 - base_mask_length
    max_subnets = 2 ** subnets_num_bits

    for i in range(1, max_subnets):
        candidate_subnet = f"{base_network}.{i * (256 // max_subnets)}/{32 - subnets_num_bits}"
        if candidate_subnet not in existing_subnets:
            return candidate_subnet

    raise ValueError("No available subnet prefixes found in the current VNet address space")

new_subnet_prefix = vnet.apply(get_next_subnet_prefix)

# Create a new subnet in the VNet using the next available prefix
new_subnet = azure_native.network.Subnet("newSubnet",
    resource_group_name=resource_group_name,
    virtual_network_name=vnet_name,
    address_prefix=new_subnet_prefix
)

pulumi.export("new_subnet_prefix", new_subnet.address_prefix)