function-hcl
Get Started
GitHub
A Crossplane composition function that uses an opinionated HCL-based DSL to model desired resources — with a familiar feel for anyone coming from Terraform.
locals {
comp = req.composite
compName = comp.metadata.name
params = comp.spec.parameters
}
resource my-bucket {
locals {
region = params.region
}
body = {
apiVersion = "s3.aws.upbound.io/v1beta1"
kind = "Bucket"
metadata = {
name = "${compName}-bucket"
}
spec = {
forProvider = {
region = region
}
}
}
composite status {
body = {
bucketArn = self.resource.status.atProvider.arn
}
}
}