Pulumi Logo

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

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

Pre-requisites

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

Setup

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

Usage

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

Data Sources

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

QdrantcloudFunctions.getBookingPackages(GetBookingPackagesArgs.builder()
        .cloudProvider("aws")
        .cloudRegion("us-west-2")
        .build());
  • qdrant-cloud_accounts_auth_keys - List API keys for Qdrant clusters. Reference
qdrant_cloud.get_accounts_auth_keys(account_id="<ACCOUNT_ID>")
qdrantCloud.getAccountsAuthKeys({
    accountId: "<ACCOUNT_ID>"
})
import com.pulumi.qdrantcloud.inputs.GetAccountsAuthKeysArgs;

QdrantcloudFunctions.getAccountsAuthKeys(GetAccountsAuthKeysArgs.builder()
        .accountId("<ACCOUNT_ID>")
        .build());
  • qdrant-cloud_accounts_cluster - Get Cluster Information. Reference
qdrant_cloud.get_accounts_cluster(
    account_id="<ACCOUNT_ID>",
    id="<CLUSTER_ID>",
)
qdrantCloud.getAccountsCluster({
    accountId: "<ACCOUNT_ID>",
    id: "<CLUSTER_ID>"
})
import com.pulumi.qdrantcloud.inputs.GetAccountsClusterArgs;

QdrantcloudFunctions.getAccountsCluster(GetAccountsClusterArgs
        .builder()
        .accountId("<ACCOUNT_ID>")
        .id("<CLUSTER_ID>")
        .build());
  • qdrant-cloud_accounts_clusters - List Qdrant clusters. Reference
qdrant_cloud.get_accounts_clusters(account_id="<ACCOUNT_ID>")
qdrantCloud.getAccountsClusters({
    accountId: "<ACCOUNT_ID>"
})
import com.pulumi.qdrantcloud.inputs.GetAccountsClustersArgs;

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

Resources

  • qdrant-cloud_accounts_cluster - Create clusters on Qdrant cloud - Reference
qdrant_cloud.AccountsCluster(
    resource_name="pl-example-cluster-resource",
    name="pl-example-cluster",
    cloud_provider="gcp",
    cloud_region="us-east4",
    configuration=qdrant_cloud.AccountsClusterConfigurationArgs(
        number_of_nodes=1,
        node_configuration=qdrant_cloud.AccountsClusterConfigurationNodeConfigurationArgs(
            package_id="3920d1eb-d3eb-4117-9578-b12d89bb1c5d"
        ),
    ),
    account_id="<ACCOUNT_ID>",
)
new qdrantCloud.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.qdrantcloud.AccountsClusterArgs;
import com.pulumi.qdrantcloud.inputs.AccountsClusterConfigurationArgs;
import com.pulumi.qdrantcloud.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());
  • qdrant-cloud_accounts_auth_key - Create API keys for Qdrant cloud clusters. Reference
qdrant_cloud.AccountsAuthKey(
    resource_name="pl-example-key-resource",
    cluster_ids=["<CLUSTER_ID>"],
)
new qdrantCloud.AccountsAuthKey("pl-example-cluster-resource", {
    clusterIds: ["<CLUSTER_ID>", "<CLUSTER_ID_2>"]
})
import com.pulumi.qdrantcloud.AccountsAuthKey;
import com.pulumi.qdrantcloud.AccountsAuthKeyArgs;

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

Further Reading

Pulumi