Skip to main content
Every tutorial in this track shows you small, focused snippets. When you want to see the whole thing working end to end, each provider ships a companion repository of complete, runnable examples. One repo per tool: Both are beginner-first: every file is commented line by line in English and Bahasa Indonesia, every program carries the cost-safety defaults from Billing and orders, and each comes with a manual CI/CD pipeline (workflow dispatch) so you can rehearse the full validate, plan, and apply flow from the Actions tab before you ever run it on your laptop.

What’s inside

Six examples, one per Biznet GIO product line plus one “complete” stack, so you can start from the smallest, cheapest thing and grow: In the Terraform repo each example is a folder with versions.tf, variables.tf, main.tf, outputs.tf, and a terraform.tfvars.example to copy. In the Pulumi repo each example exists once per language, under typescript/, python/, go/, dotnet/, java/, and yaml/, so you can compare the same resource across languages.

Run one yourself

Terraform, from the quickstart you already know:
Pulumi, from the Pulumi quickstart:
Swap typescript for python, go, dotnet, java, or yaml to see the same example in another language. YAML needs no install step at all; each folder is an independent Pulumi project, so one stack never affects another.
The examples default payWithCreditCard to false. The resource is still created for real, the order just stays unpaid in the portal, which is the safe way to rehearse. baremetal/ and gpu/ carry extra cost warnings in their own READMEs, read those before running them.

Use it as a template

These repos are meant to be copied, not just run:
  1. Pick the example and language closest to what you’re building, or start from complete/ for the reusable module/component pattern.
  2. Copy that folder into your own repository.
  3. Rename resources, change product IDs, and delete what you don’t need.
  4. Reuse the comments as your own documentation, they explain the why as well as the what.
That gives you a working skeleton with the tricky parts already solved, notably the places where this API family differs from the usual: “account id” style inputs are numbers even though a resource’s .id is always a string, and the GPU keypair exposes only id, not a separate keypairId. The examples handle both correctly and comment where they do.

The CI/CD inside them

Both repos ship a .github/workflows/ci.yml that runs on manual dispatch only, never on push, on purpose. Open the Actions tab and pick: The default action only formats, type-checks, and validates, no credentials needed, so it is safe to run on a fresh clone. The credential-requiring actions read BIZNETGIO_API_KEY (plus EXAMPLE_CONSOLE_PASSWORD in the Terraform repo and PULUMI_ACCESS_TOKEN in the Pulumi repo) from repository secrets, and apply/up/destroy place real orders, so pick those deliberately. That workflow is the CI/CD tutorial in real form. Read that page to understand what each step does, then use it as the starting point for your own pipeline.

Contributing to these repos

Both repos accept contributions and are built to teach. The Contribute section covers the conventions (bilingual comments, cost safety defaults, version pinning), the commit and PR templates, the CODEOWNERS file, and the pipelines line by line, with step-by-step walkthroughs for adding new examples.

Next steps