Skip to main content

Pulumi BiznetGIO Provider

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

A native Pulumi provider for managing BiznetGIO cloud infrastructure via the BiznetGIO Portal API.

Covers NEO Metal (bare metal), NEO Lite / NEO Lite Pro (VMs), NEO GPU, and NEO Object Storage (S3-compatible), with matching provider functions for catalog lookups (products, OS lists, upgrade options, IP availability).

Documentation: https://biznetgio.creations.ren

Install

SDK packages (the pulumi-resource-biznetgio plugin is downloaded automatically from GitHub Releases via pluginDownloadURL):

Language Package
Node.js @shirasakaren/biznetgio
Python shirasakaren-biznetgio (import pulumi_biznetgio)
Go github.com/shirasakaren/pulumi-biznetgio/sdk/go/pulumi-biznetgio
.NET Shirasakaren.Biznetgio
Java com.shirasakaren.biznetgio

Authentication

Set the API token via config (secret) or environment:

pulumi config set --secret biznetgio:apiToken <token>
# or: export BIZNETGIO_API_KEY=<token>

The token is sent as the x-token header. baseUrl defaults to https://api.portal.biznetgio.com/v1 (override with BIZNETGIO_BASE_URL or pulumi config set biznetgio:baseUrl ...).

Example

import * as biznetgio from "@shirasakaren/biznetgio";

const plans = biznetgio.getNeoliteProducts();

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

const vm = new biznetgio.NeoliteVm("web", {
  vmName: "web-1",
  productId: plans.products[0].productId,
  selectOs: "Ubuntu 22.04",
  keypairId: keypair.id,
  cycle: "m",
  // defaults to true: the invoice is paid automatically with the stored card.
  // set false to keep the order pending until paid manually in the portal.
  payWithCreditCard: true,
});

export const vmStatus = vm.status;

Billing note: every create/upgrade call places a real order and may charge the credit card on file. Resources created with payWithCreditCard = false stay Pending until the invoice is paid in the portal.

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

  • The Portal API does not publish response schemas. Response handling is defensive and was cross-checked against BiznetGIO's own SDKs and CLI; report any field mismatch as an issue. Every resource exposes a secret-marked raw output (secrets redacted) with the full last-read payload.
  • 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.
  • Products with no public API (NEO Virtual Compute, NEO Kubernetes, NEO DNS, domains, web hosting, gio-private, gio-enterprise-cloud, gio-backup) are out of scope.

Development

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

Publishing

Push a v*.*.* tag (or trigger the release workflow manually) and GitHub Actions builds the SDKs, runs the language test matrix, and publishes:

  • plugin binaries to GitHub Releases (Pulumi downloads them via pluginDownloadURL: github://api.github.com/shirasakaren/pulumi-biznetgio)
  • @shirasakaren/biznetgio to npm, shirasakaren-biznetgio to PyPI, Shirasakaren.Biznetgio to NuGet, com.shirasakaren.biznetgio to Maven Central, and the Go SDK module to GitHub

npm is live: npm install @shirasakaren/biznetgio (latest 0.1.1). See PUBLISHING.md for the full release runbook covering every registry.

Secrets required (GitHub repository secrets):

Secret Used for
NPM_TOKEN npm publish
PYPI_API_TOKEN PyPI publish
NUGET_PUBLISH_KEY NuGet publish
OSSRH_USERNAME / OSSRH_PASSWORD Maven Central (Sonatype)
JAVA_SIGNING_KEY_ID / JAVA_SIGNING_KEY / JAVA_SIGNING_PASSWORD Maven artifact signing
CODECOV_TOKEN coverage upload (optional)
SLACK_WEBHOOK_URL failure notifications (optional)

License

Apache-2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pulumi_biznetgio-0.1.4.tar.gz (41.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pulumi_biznetgio-0.1.4-py3-none-any.whl (89.6 kB view details)

Uploaded Python 3

File details

Details for the file pulumi_biznetgio-0.1.4.tar.gz.

File metadata

  • Download URL: pulumi_biznetgio-0.1.4.tar.gz
  • Upload date:
  • Size: 41.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.15

File hashes

Hashes for pulumi_biznetgio-0.1.4.tar.gz
Algorithm Hash digest
SHA256 f93615b2d26c132599beb6ec8e39d30ec3b2654f0fdf0b1782120e650b2a9024
MD5 e21c6c51e2f41985572a80dab048e442
BLAKE2b-256 4273a90d50dadd937783f50f2868b3f19e7bdb0cc9b594f31271eecbd57f53ef

See more details on using hashes here.

File details

Details for the file pulumi_biznetgio-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for pulumi_biznetgio-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 04e61ba75be91de8098d67d316852f7d64a91aa459c411afecabce685892fc84
MD5 bcf88cc9a758d58f9f79af278cdbb390
BLAKE2b-256 0c90d1d8546e82da77596c431d1b2e4ec4eb1faa06f83500c7dc59f1f68241eb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page