DeclarativeIntent before execution
TOSCA defines what you want, not how to provision it. Infrastructure intent is expressed as typed node templates and relationship definitions. Terraform is a compilation target, not the source of truth.
node_templates:
web_cluster:
type: tosca.nodes.Compute
capabilities:
host:
properties:
num_cpus: 4
mem_size: 16 GB
Graph-basedTopology as a graph
Infrastructure relationships are first-class. Dependencies, network paths, IAM bindings, and placement constraints are encoded as directed edges in a typed property graph — traversable, validatable, and diffable.
relationships:
- type: tosca.relationships.ConnectsTo
source: api_gateway
target: compute_cluster
interfaces:
Configure:
pre_configure_target: scripts/tls.sh
Multi-cloudProvider-agnostic topology
The same TOSCA model compiles to AWS CloudFormation mappings, GCP Deployment Manager, or Azure ARM — with a consistency layer that enforces naming, tagging, and network segmentation policies across providers.
topology_template:
inputs:
cloud_provider:
type: string
constraints:
- valid_values: [aws, gcp, azure]