Pulumi Logo

Pulumi is an open source infrastructure as code tool for creating, deploying, and managing cloud infrastructure.

A Solvio SDK in any of Pulumi’s supported languages can be generated based on the Solvio Terraform Provider.

Pre-requisites

  1. A Pulumi Installation.
  2. An API key to access the Solvio cloud API.

Setup

mkdir solvio-pulumi && cd solvio-pulumi
pulumi new "<LANGUAGE>" -y
  • Generate a Pulumi SDK for Solvio by running the following in your Pulumi project directory.
pulumi package add terraform-provider registry.terraform.io/solvio/solvio-cloud
  • Set the Solvio cloud API as a config value.
pulumi config set solvio-cloud:apiKey "<QDRANT_CLOUD_API_KEY>" --secret
  • You can now import the SDK as:
import pulumi_solvio_cloud as solvio_cloud
import * as solvioCloud from "solvio-cloud";
import com.pulumi.solviocloud.*;

Usage

The provider includes the following data-sources and resources to work with:

Data Sources

  • solvio-cloud_booking_packages - Get IDs and detailed information about the packages/subscriptions available. Reference
solvio_cloud.get_booking_packages(cloud_provider="aws", cloud_region="us-west-2")
solvioCloud.getBookingPackages({
    cloudProvider: "aws",
    cloudRegion: "us-west-2"
})
import com.pulumi.solviocloud.inputs.GetBookingPackagesArgs;

SolviocloudFunctions.getBookingPackages(GetBookingPackagesArgs.builder()
        .cloudProvider("aws")
        .cloudRegion("us-west-2")
        .build());
  • solvio-cloud_accounts_auth_keys - List API keys for Solvio clusters. Reference
solvio_cloud.get_accounts_auth_keys(account_id="<ACCOUNT_ID>")
solvioCloud.getAccountsAuthKeys({
    accountId: "<ACCOUNT_ID>"
})
import com.pulumi.solviocloud.inputs.GetAccountsAuthKeysArgs;

SolviocloudFunctions.getAccountsAuthKeys(GetAccountsAuthKeysArgs.builder()
        .accountId("<ACCOUNT_ID>")
        .build());
  • solvio-cloud_accounts_cluster - Get Cluster Information. Reference
solvio_cloud.get_accounts_cluster(
    account_id="<ACCOUNT_ID>",
    id="<CLUSTER_ID>",
)
solvioCloud.getAccountsCluster({
    accountId: "<ACCOUNT_ID>",
    id: "<CLUSTER_ID>"
})
import com.pulumi.solviocloud.inputs.GetAccountsClusterArgs;

SolviocloudFunctions.getAccountsCluster(GetAccountsClusterArgs
        .builder()
        .accountId("<ACCOUNT_ID>")
        .id("<CLUSTER_ID>")
        .build());
  • solvio-cloud_accounts_clusters - List Solvio clusters. Reference
solvio_cloud.get_accounts_clusters(account_id="<ACCOUNT_ID>")
solvioCloud.getAccountsClusters({
    accountId: "<ACCOUNT_ID>"
})
import com.pulumi.solviocloud.inputs.GetAccountsClustersArgs;

SolviocloudFunctions.getAccountsClusters(
        GetAccountsClustersArgs.builder().accountId("<ACCOUNT_ID>").build());

Resources

  • solvio-cloud_accounts_cluster - Create clusters on Solvio cloud - Reference
solvio_cloud.AccountsCluster(
    resource_name="pl-example-cluster-resource",
    name="pl-example-cluster",
    cloud_provider="gcp",
    cloud_region="us-east4",
    configuration=solvio_cloud.AccountsClusterConfigurationArgs(
        number_of_nodes=1,
        node_configuration=solvio_cloud.AccountsClusterConfigurationNodeConfigurationArgs(
            package_id="3920d1eb-d3eb-4117-9578-b12d89bb1c5d"
        ),
    ),
    account_id="<ACCOUNT_ID>",
)
new solvioCloud.AccountsCluster("pl-example-cluster-resource", {
    cloudProvider: "gcp",
    cloudRegion: "us-east4",
    configuration: {
        numberOfNodes: 1,
        nodeConfiguration: {
            packageId: "3920d1eb-d3eb-4117-9578-b12d89bb1c5d"
        }
    },
    accountId: "<ACCOUNT_ID>"
})
import com.pulumi.solviocloud.AccountsClusterArgs;
import com.pulumi.solviocloud.inputs.AccountsClusterConfigurationArgs;
import com.pulumi.solviocloud.inputs.AccountsClusterConfigurationNodeConfigurationArgs;

new AccountsCluster("pl-example-cluster-resource", AccountsClusterArgs.builder()
        .name("pl-example-cluster")
        .cloudProvider("gcp")
        .cloudRegion("us-east4")
        .configuration(AccountsClusterConfigurationArgs.builder()
                .numberOfNodes(1.0)
                .nodeConfiguration(AccountsClusterConfigurationNodeConfigurationArgs.builder()
                        .packageId("3920d1eb-d3eb-4117-9578-b12d89bb1c5d")
                        .build())
                .build())
        .accountId("<ACCOUNT_ID>")
        .build());
  • solvio-cloud_accounts_auth_key - Create API keys for Solvio cloud clusters. Reference
solvio_cloud.AccountsAuthKey(
    resource_name="pl-example-key-resource",
    cluster_ids=["<CLUSTER_ID>"],
)
new solvioCloud.AccountsAuthKey("pl-example-cluster-resource", {
    clusterIds: ["<CLUSTER_ID>", "<CLUSTER_ID_2>"]
})
import com.pulumi.solviocloud.AccountsAuthKey;
import com.pulumi.solviocloud.AccountsAuthKeyArgs;

new AccountsAuthKey("pl-example-key-resource", AccountsAuthKeyArgs.builder()
        .clusterIds("<CLUSTER_ID>", "<CLUSTER_ID_2>")
        .build());

Further Reading

Was this page useful?

Thank you for your feedback! 🙏

We are sorry to hear that. 😔 You can edit this page on GitHub, or create a GitHub issue.