products[0] dan oss[0] itu bukan placeholder buat “yang paling murah” atau “default yang masuk akal.” Artinya persis apa yang ditulis: item apapun yang dibalikin API Biznet GIO paling duluan, hari ini. Halaman ini jelasin kenapa itu penting, gimana caranya liat apa yang bener-bener bakal lu dapetin sebelum order, dan gimana milih paket atau OS tertentu dengan sengaja, bukan asal percaya index 0.
Kenapa [0] itu bahaya beneran, bukan cuma contoh yang kurang jelas
Data source katalog (biznetgio_neolite_products, biznetgio_neolite_pro_products, biznetgio_baremetal_products, biznetgio_gpu_products) manggil endpoint GET /.../products di API Biznet GIO dan nge-append apapun yang balik, sesuai urutan balikannya, tanpa di-sort sama provider. Gak ada yang bilang urutan itu stabil. Kalau Biznet GIO nambah produk, hapus satu, atau API-nya balikin hasil dengan urutan beda di hari lain, products[0] bisa diam-diam jadi produk yang berbeda.
Itu cuma bakal nyebelin doang kalau salah pilih gampang dibalikin. Biasanya gak:
Gak ada satupun dari ini yang dry run.
terraform plan yang keliatan kayak gak ngubah apa-apa cuma karena “katalognya kebetulan re-order” bisa jadi order ganti paket yang beneran dibayar atau storage tenant yang ke-hapus begitu lu apply. Liat panduan billing buat paham “order berbayar beneran” itu maksudnya gimana.
Solusinya simpel: jangan pernah biarin [0] yang nentuin produk beneran apa yang lu dapet. Lu yang tentuin sendiri, terus tulis filter yang nemuin itu.
Langkah 1: liat katalog lu sendiri sebelum filter apapun
Pricelist dan nama paket di bagian ini asalnya dari halaman pricelist publik Biznet GIO. Halaman itu materi marketing - deskripsinya deket dan gampang dipahami manusia soal apa yang dijual API, tapi bukan response API itu sendiri. Sebelum hardcode filter, print dulu apa yang bener-bener ada di katalog akun lu. Kedua baca katalog ini gratis: gak nge-order apapun.- Terraform
- Pulumi (TypeScript)
terraform plan (gak perlu apply - data source dibaca pas plan, dan baca katalog gak nge-order apapun). Output-nya nge-print semua produk beneran di akun lu: id-nya, string name yang exact, jumlah core, dan memory dalam megabyte.name dan options beneran yang dibalikin Biznet GIO buat akun lu, dan baru setelah itu tulis filter di langkah berikutnya. Jangan asumsiin nama paket di pricelist (misalnya "XS 1.1") itu sama persis karakter-per-karakter sama field name - kemungkinan besar mirip, tapi confirm sendiri, jangan hardcode tebakan.
Langkah 2: filter dengan sengaja
Ada dua cara milih item tertentu dari list katalog. Prioritasin yang pertama.Match berdasarkan spec (direkomendasikan)
options.cores dan options.memory itu integer yang typed, bukan label teks bebas, jadi filter spec gak bisa rusak cuma karena copy marketing berubah. options.memory dilaporin dalam megabyte - tampilan Biznet GIO sendiri (1 GB, 2 GB, dst) itu angka yang dibulatin biar gampang dibaca manusia. Pake angka exact yang lu liat di Langkah 1, bukan angka bulat yang diasumsiin.
- Terraform
- Pulumi (TypeScript)
Match berdasarkan name (sekunder)
Match berdasarkan stringname yang exact itu oke, asal udah lu confirm string itu dari output katalog lu sendiri di Langkah 1. Jangan skip Langkah 1 dan asal tebak.
- Terraform
- Pulumi (TypeScript)
- Pulumi (YAML)
Dua harga berbeda, dua kegunaan berbeda
Lu bakal liat harga di dua tempat yang wajar kalau beda:- Pricelist publik (
biznetgio.com/pricelist) itu harga list Biznet GIO. Ini cara paling cepet buat bandingin tier sebelum lu putusin apa yang mau di-order, dan ini yang jadi sumber setiap tabel harga di bagian Katalog Produk ini. - Field
billingdi item data source katalog (misalnyabiznetgio_neolite_products.all.products[0].billing) itu yang API bilang akun lu bakal beneran dicharge buat produk itu. Bisa beda dari harga list publik kalau akun lu punya promo, rate kontrak, atau Biznet GIO udah ganti harga sejak dokumentasi ini ditulis.
billing itu sebuah list, satu entry per cycle yang didukung (m, a, dan seterusnya buat product line yang dukung lebih dari bulanan/tahunan) - bukan satu harga tunggal. Filter dulu pake cycle yang lu beneran mau order buat dapetin satu angka otoritatif, sama kayak lu filter products pake nama atau spec, bukan asal ambil [0].
Anggep pricelist sebagai cara buat paham dan bandingin produk. Anggep entry yang matching di billing sebagai angka otoritatif buat apa yang bener-bener lu bayar - baca dari output katalog akun lu sendiri sebelum order yang harganya lu peduliin.
Apa yang dikasih tiap product line
Gak semua produk punya data source katalog yang lengkap. Beberapa cuma exposeproduct_id dan name doang tanpa spec typed; beberapa lagi gak punya lookup katalog sama sekali, karena provider-nya belum wrap endpoint itu.
Kalau di tabel di atas ada “gak ada” atau “gak di-expose,” biasanya API Biznet GIO di baliknya masih punya endpoint
/products beneran - provider-nya cuma belum wrap jadi data source. Tiap halaman katalog di bawah nunjukin request HTTP terautentikasi yang exact buat dapetin informasi yang sama secara manual. Wrap salah satu endpoint itu jadi data source yang proper itu kontribusi pertama yang bagus dan scope-nya jelas - liat deep dive Terraform dan Pulumi, dan panduan kontribusi.