Skip to main content
Version: 1.1.2

VPC

PropertyValue
KindVPC
API Group/Versionarubacloud.com/v1alpha1
CRD Namevpcs.arubacloud.com
ScopeNamespaced
Short Namesvpc, aruvpc

Description

A VPC (Virtual Private Cloud) defines an isolated network environment within an Aruba Cloud project. It is the network container for Subnets and SecurityGroups, and CloudServers are attached to a VPC for network connectivity. A VPC must be created before any network-dependent resources (Subnet, SecurityGroup, CloudServer) can be provisioned.

Spec Fields

FieldTypeRequiredDefaultValidationDescription
tenantstringNoAruba Cloud tenant identifier. Must match the owning Project's tenant.
regionstringYesITBG-BergamoAruba Cloud region where the VPC is created
tags[]stringNoLabels propagated to the Aruba Cloud resource
projectReferenceResourceReferenceYesReference to the owning Project

Status Fields

FieldTypeDescription
phasestringCurrent lifecycle phase
resourceIDstringAruba Cloud VPC ID, set after creation
messagestringHuman-readable status message
observedGenerationint64Last .metadata.generation processed
phaseStartTimetimestampWhen the current phase began
conditions[]ConditionStandard Kubernetes conditions
projectIDstringResolved Aruba Cloud project ID from the referenced Project

References

Owned by: Project

Parent of:

Referenced by:

  • CloudServer — via spec.vpcReference (use-reference, not ownership)

Lifecycle

  • Creation ordering: The referenced Project must be Active before the VPC can be created.
  • Deletion behaviour: The operator blocks VPC deletion while any Subnet or SecurityGroup belonging to it still exists. Delete those children first, or delete the VPC and let the operator cascade-delete them.
  • Update behaviour: tags can be updated. region and projectReference are effectively immutable (changing the region would require recreating the VPC in the cloud).
  • Tenant validation: The operator validates that spec.tenant matches the parent Project's spec.tenant. A mismatch causes Failed+IntentionValidationFailed.

Example

apiVersion: arubacloud.com/v1alpha1
kind: VPC
metadata:
name: web-vpc
namespace: default
spec:
tenant: ARU-123456
region: ITBG-Bergamo
projectReference:
name: my-project
namespace: default
tags:
- production

kubectl Quick Reference

# List all VPCs
kubectl get vpc -n default

# Describe a VPC
kubectl describe aruvpc web-vpc -n default

# Watch phase changes
kubectl get vpc web-vpc -n default -w