Update terraform and pulumi docs

This commit is contained in:
Bastian Hofmann
2025-09-05 17:38:05 +02:00
parent c81a4102b5
commit 7d96e65738
2 changed files with 89 additions and 176 deletions
@@ -50,177 +50,76 @@ import * as qdrantCloud from "qdrant-cloud";
import com.pulumi.qdrantcloud.*;
```
## Usage
## Example 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](https://github.com/qdrant/terraform-provider-qdrant-cloud/blob/main/docs/data-sources/booking_packages.md)
Please refer to the documentation (https://registry.terraformio/providers/qdrant/qdrant-cloud/latest/docs/guides/getting-started) for the available options.
```python
qdrant_cloud.get_booking_packages(cloud_provider="aws", cloud_region="us-west-2")
import pulumi
import pulumi_qdrant_cloud as qdrant_cloud
all_packages = qdrant_cloud.index.getBookingPackages.get_booking_packages(cloud_provider="gcp",
cloud_region="us-east4")
desired_package = [pkg for pkg in all_packages["packages"] if pkg["resourceConfiguration"][0]["cpu"] == "16000m" and pkg["resourceConfiguration"][0]["ram"] == "64Gi"]
example = qdrant_cloud.AccountsCluster("example",
name="tf-example-cluster",
cloud_provider=all_packages["cloudProvider"],
cloud_region=all_packages["cloudRegion"],
configuration={
"number_of_nodes": 1,
"database_configuration": {
"service": {
"jwt_rbac": True,
},
},
"node_configuration": {
"package_id": desired_package[0]["id"],
},
})
example_accounts_database_api_key_v2 = qdrant_cloud.AccountsDatabaseApiKeyV2("example",
cluster_id=example.id,
name="example-key")
pulumi.export("url", example.url)
pulumi.export("key", example_accounts_database_api_key_v2.key)
```
```typescript
qdrantCloud.getBookingPackages({
cloudProvider: "aws",
cloudRegion: "us-west-2"
})
```
import * as pulumi from "@pulumi/pulumi";
import * as qdrant_cloud from "@pulumi/qdrant-cloud";
```java
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](https://github.com/qdrant/terraform-provider-qdrant-cloud/blob/main/docs/data-sources/accounts_auth_keys.md)
```python
qdrant_cloud.get_accounts_auth_keys(account_id="<ACCOUNT_ID>")
```
```typescript
qdrantCloud.getAccountsAuthKeys({
accountId: "<ACCOUNT_ID>"
})
```
```java
import com.pulumi.qdrantcloud.inputs.GetAccountsAuthKeysArgs;
QdrantcloudFunctions.getAccountsAuthKeys(GetAccountsAuthKeysArgs.builder()
.accountId("<ACCOUNT_ID>")
.build());
```
- `qdrant-cloud_accounts_cluster` - Get Cluster Information. [Reference](https://github.com/qdrant/terraform-provider-qdrant-cloud/blob/main/docs/data-sources/accounts_cluster.md)
```python
qdrant_cloud.get_accounts_cluster(
account_id="<ACCOUNT_ID>",
id="<CLUSTER_ID>",
)
```
```typescript
qdrantCloud.getAccountsCluster({
accountId: "<ACCOUNT_ID>",
id: "<CLUSTER_ID>"
})
```
```java
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](https://github.com/qdrant/terraform-provider-qdrant-cloud/blob/main/docs/data-sources/accounts_clusters.md)
```python
qdrant_cloud.get_accounts_clusters(account_id="<ACCOUNT_ID>")
```
```typescript
qdrantCloud.getAccountsClusters({
accountId: "<ACCOUNT_ID>"
})
```
```java
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](https://github.com/qdrant/terraform-provider-qdrant-cloud/blob/main/docs/resources/accounts_cluster.md)
```python
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>",
)
```
```typescript
new qdrantCloud.AccountsCluster("pl-example-cluster-resource", {
const allPackages = qdrant_cloud.index.getBookingPackages.getBookingPackages({
cloudProvider: "gcp",
cloudRegion: "us-east4",
});
const desiredPackage = allPackages.packages.filter(pkg => pkg.resourceConfiguration[0].cpu == "16000m" && pkg.resourceConfiguration[0].ram == "64Gi");
const example = new qdrant_cloud.AccountsCluster("example", {
name: "tf-example-cluster",
cloudProvider: allPackages.cloudProvider,
cloudRegion: allPackages.cloudRegion,
configuration: {
numberOfNodes: 1,
databaseConfiguration: {
service: {
jwtRbac: true,
},
},
nodeConfiguration: {
packageId: "3920d1eb-d3eb-4117-9578-b12d89bb1c5d"
}
packageId: desiredPackage[0].id,
},
},
accountId: "<ACCOUNT_ID>"
})
```
```java
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](https://github.com/qdrant/terraform-provider-qdrant-cloud/blob/main/docs/resources/accounts_auth_key.md)
```python
qdrant_cloud.AccountsAuthKey(
resource_name="pl-example-key-resource",
cluster_ids=["<CLUSTER_ID>"],
)
```
```typescript
new qdrantCloud.AccountsAuthKey("pl-example-cluster-resource", {
clusterIds: ["<CLUSTER_ID>", "<CLUSTER_ID_2>"]
})
```
```java
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());
});
const exampleAccountsDatabaseApiKeyV2 = new qdrant_cloud.AccountsDatabaseApiKeyV2("example", {
clusterId: example.id,
name: "example-key",
});
export const url = example.url;
export const key = exampleAccountsDatabaseApiKeyV2.key;
```
## Further Reading
The provider documentation contains more details on the available resources and data sources, including additional examples:
- [Provider Documentation](https://registry.terraform.io/providers/qdrant/qdrant-cloud/latest/docs)
- [Pulumi Quickstart](https://www.pulumi.com/docs/get-started/)
@@ -37,42 +37,56 @@ provider "qdrant-cloud" {
account_id = "QDRANT_ACCOUNT_ID>" // Account ID from cloud.qdrant.io/accounts/<QDRANT_ACCOUNT_ID>/ (can be overriden on resource level)
}
data "qdrant-cloud_booking_packages" "all_packages" {
cloud_provider = "gcp" // Required. Please refer to the documentation (https://registry.terraformio/providers/qdrant/qdrant-cloud/latest/docs/guides/getting-started) for the available options.
cloud_region = "us-east4" // Required. Please refer to the documentation (https://registry.terraformio/providers/qdrant/qdrant-cloud/latest/docs/guides/getting-started) for the available options.
}
locals {
desired_package = [
for pkg in data.qdrant-cloud_booking_packages.all_packages.packages : pkg
if pkg.resource_configuration[0].cpu == "16000m" && pkg.resource_configuration[0].ram == "64Gi"
]
}
resource "qdrant-cloud_accounts_cluster" "example" {
name = "tf-example-cluster"
cloud_provider = "gcp"
cloud_region = "us-east4"
cloud_provider = data.qdrant-cloud_booking_packages.all_aws_eu_west_1_packages.cloud_provider
cloud_region = data.qdrant-cloud_booking_packages.all_aws_eu_west_1_packages.cloud_region
configuration {
number_of_nodes = 1
database_configuration {
service {
jwt_rbac = true
}
}
node_configuration {
package_id = "7c939d96-d671-4051-aa16-3b8b7130fa42"
package_id = local.desired_package[0].id
}
}
}
resource "qdrant-cloud_accounts_database_api_key_v2" "example" {
cluster_id = qdrant-cloud_accounts_cluster.example.id
name = "example-key"
}
output "url" {
value = qdrant-cloud_accounts_cluster.example.url
}
output "key" {
value = qdrant-cloud_accounts_database_api_key_v2.example.key
description = "Key is available only once, after creation."
}
```
The provider includes the following resources and data-sources to work with:
## Resources
- `qdrant-cloud_accounts_cluster` - Create clusters on Qdrant cloud - [Reference](https://github.com/qdrant/terraform-provider-qdrant-cloud/blob/main/docs/resources/accounts_cluster.md)
- `qdrant-cloud_accounts_auth_key` - Create API keys for Qdrant cloud clusters. [Reference](https://github.com/qdrant/terraform-provider-qdrant-cloud/blob/main/docs/resources/accounts_auth_key.md)
## Data Sources
- `qdrant-cloud_accounts_auth_keys` - List API keys for Qdrant clusters. [Reference](https://github.com/qdrant/terraform-provider-qdrant-cloud/blob/main/docs/data-sources/accounts_auth_keys.md)
- `qdrant-cloud_accounts_cluster` - Get Cluster Information. [Reference](https://github.com/qdrant/terraform-provider-qdrant-cloud/blob/main/docs/data-sources/accounts_cluster.md)
- `qdrant-cloud_accounts_clusters` - List Qdrant clusters. [Reference](https://github.com/qdrant/terraform-provider-qdrant-cloud/blob/main/docs/data-sources/accounts_clusters.md)
- `qdrant-cloud_booking_packages` - Get detailed information about the packages/subscriptions available. [Reference](https://github.com/qdrant/terraform-provider-qdrant-cloud/blob/main/docs/data-sources/booking_packages.md)
## Further Reading
The provider documentation contains more details on the available resources and data sources, including additional examples:
- [Provider Documentation](https://registry.terraform.io/providers/qdrant/qdrant-cloud/latest/docs)
- [Terraform Quickstart](https://developer.hashicorp.com/terraform/tutorials)