github.com/shirasakaren/pulumi-biznetgio/sdk/go/pulumi-biznetgio

Unofficial Pulumi provider for BiznetGIO cloud. Bare metal, VMs, GPU, and object storage as code.


Keywords
biznetgio, cloud, infrastructure-as-code, pulumi, pulumi-provider
License
Apache-2.0
Install
go get github.com/shirasakaren/pulumi-biznetgio/sdk/go/pulumi-biznetgio

Documentation

BiznetGIO logo

Pulumi BiznetGIO Provider

Manage BiznetGIO cloud infrastructure — bare metal, VMs, GPUs, object storage — as code.

CI Latest release npm PyPI NuGet Maven Central License

Unofficial community provider maintained by Shirasaka Ren — not affiliated with or endorsed by PT Biznet Gio Nusantara.

Covers NEO Metal (bare metal), NEO Lite / NEO Lite Pro (VMs), NEO GPU, and NEO Object Storage (S3-compatible), backed by the BiznetGIO Portal API. New to Pulumi? pulumi.com/docs is the best starting point; this README assumes you already have the Pulumi CLI installed.

📖 Full docs, every resource, and per-language guides live at biznetgio.creations.ren. This README is intentionally short.

Install

Node.js npm install @shirasakaren/biznetgio
Python pip install pulumi-biznetgio
Go go get github.com/shirasakaren/pulumi-biznetgio/sdk/go/pulumi-biznetgio
.NET dotnet add package Shirasakaren.Biznetgio
Java ren.shirasaka:biznetgio on Maven Central

The plugin binary itself is downloaded automatically from GitHub Releases — no separate install step needed.

Quickstart

pulumi config set --secret biznetgio:apiToken <your-token>   # or export BIZNETGIO_API_KEY
import * as biznetgio from "@shirasakaren/biznetgio";

const keypair = new biznetgio.NeoliteKeypair("deploy", { name: "deploy-key" });

const vm = new biznetgio.NeoliteVm("web", {
    vmName: "web-1",
    productId: 123,
    selectOs: "Ubuntu 22.04",
    keypairId: keypair.keypairId,
    cycle: "m",
    consolePassword: "change-this-now!",
    sshAndConsoleUser: "root",
    payWithCreditCard: true, // ⚠️ bills the card on file immediately, see below
});

export const vmStatus = vm.status;

💳 Billing note: payWithCreditCard defaults to true, so the first pulumi up places a real order and may charge the card on file. Set it to false to leave the order Pending until you pay manually in the portal.

Python, Go, C#, and Java examples: docs site →

Resources & functions (click to expand)

Resources: Baremetal, BaremetalKeypair, BaremetalAdditionalIp, BaremetalAdditionalIpAssignment, BaremetalElasticStorage, GpuInstance, GpuKeypair, NeoliteVm, NeoliteKeypair, NeoliteSnapshot, NeoliteVmFromSnapshot, NeoliteDisk, NeoliteProVm, NeoliteProKeypair, NeoliteProSnapshot, NeoliteProDisk, ObjectStorage, ObjectStorageBucket, ObjectStorageCredential, ObjectStorageObject.

Functions: baremetalProducts, baremetalRebuildOsList, baremetalOpenvpn, gpuProducts, gpuConsole, gpuGraph, neoliteProducts, neoliteOsList, neoliteChangePackageOptions, neoliteStorageUpgradeOptions, neoliteIPAvailability, neoliteProProducts, neoliteProOsList, neoliteProChangePackageOptions, neoliteProStorageUpgradeOptions, neoliteProIPAvailability, objectStorageInstances, objectStorageBuckets, objectStorageCredentials.

Notes on the BiznetGIO API (click to expand)
  • The Portal API doesn't publish response schemas. Response handling is defensive and cross-checked against BiznetGIO's own SDKs and CLI — every resource exposes a secret-marked raw output (secrets redacted) with the full last-read payload, so you're never blocked on an unmodeled field.
  • Power actions are declarative (powerState); the API is only called when the value changes. One-shot actions (reset, rebuild, reserve GPU hours, migrate-to-pro) are trigger attributes — change the value to re-fire.
  • Long-running provisioning is polled until active; on timeout the partial state is kept and the next pulumi up resumes the update.
  • Out of scope: products with no public API (NEO Virtual Compute, NEO Kubernetes, NEO DNS, domains, web hosting, gio-private, gio-enterprise-cloud, gio-backup).

Development

make build install   # provider binary + all-language SDK codegen
make test_provider    # Go unit tests
make lint             # golangci-lint

Releasing and per-registry setup (npm/PyPI/NuGet/Maven/Go) is documented in PUBLISHING.md.

License

Apache-2.0