Example#
{{< chooser language "typescript,python,go,yaml" >}} {{% choosable language typescript %}}
"use strict";
import rediscloud from "@rediscloud/pulumi-rediscloud";
const card = await rediscloud.getPaymentMethod({
cardType: "Visa",
lastFourNumbers: "1234",
});
const subscription = new rediscloud.Subscription("my-subscription", {
name: "my-subscription",
paymentMethod: "credit-card",
paymentMethodId: card.id,
cloudProvider: {
regions: [
{
region: "us-east-1",
multipleAvailabilityZones: false,
networkingDeploymentCidr: "10.0.0.0/24",
preferredAvailabilityZones: ["use1-az1", "use1-az2", "use1-az5"],
},
],
},
creationPlan: {
memoryLimitInGb: 10,
quantity: 1,
replication: true,
supportOssClusterApi: false,
throughputMeasurementBy: "operations-per-second",
throughputMeasurementValue: 20000,
modules: ["RedisJSON"],
},
});
const database = new rediscloud.SubscriptionDatabase("my-db", {
name: "my-db",
subscriptionId: subscription.id,
protocol: "redis",
memoryLimitInGb: 10,
dataPersistence: "aof-every-1-second",
throughputMeasurementBy: "operations-per-second",
throughputMeasurementValue: 20000,
replication: true,
});{{% /choosable %}} {{% choosable language python %}}
import pulumi_rediscloud
card = pulumi_rediscloud.get_payment_method(
card_type="Visa",
last_four_numbers="1234",
)
subscription = pulumi_rediscloud.Subscription(
"my-subscription",
name="my-subscription",
payment_method="credit-card",
payment_method_id=card.id,
cloud_provider=pulumi_rediscloud.SubscriptionCloudProviderArgs(
regions=[
pulumi_rediscloud.SubscriptionCloudProviderRegionArgs(
region="us-east-1",
multiple_availability_zones=True,
networking_deployment_cidr="10.0.0.0/24",
preferred_availability_zones=["use1-az1", "use1-az2", "use1-az5"],
)
]
),
creation_plan=pulumi_rediscloud.SubscriptionCreationPlanArgs(
memory_limit_in_gb=10,
quantity=1,
replication=True,
support_oss_cluster_api=False,
throughput_measurement_by="operations-per-second",
throughput_measurement_value=20000,
modules=["RedisJSON"],
),
)
database = pulumi_rediscloud.SubscriptionDatabase(
"my-db",
name="my-db",
subscription_id=subscription.id,
protocol="redis",
memory_limit_in_gb=10,
data_persistence="aof-every-1-second",
throughput_measurement_by="operations-per-second",
throughput_measurement_value=20000,
replication=True,
){{% /choosable %}} {{% choosable language go %}}
package main
import (
"github.com/RedisLabs/pulumi-rediscloud/sdk/go/rediscloud"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
card, err := rediscloud.GetPaymentMethod(ctx, &rediscloud.GetPaymentMethodArgs{
CardType: pulumi.StringRef("Visa"),
LastFourNumbers: pulumi.StringRef("1234"),
}, nil)
if err != nil {
return err
}
cardId := card.Id
subscription, err := rediscloud.NewSubscription(ctx, "subscription", &rediscloud.SubscriptionArgs{
PaymentMethod: pulumi.String("credit-card"),
PaymentMethodId: pulumi.String(cardId),
CloudProvider: &rediscloud.SubscriptionCloudProviderArgs{
Regions: rediscloud.SubscriptionCloudProviderRegionArray{
&rediscloud.SubscriptionCloudProviderRegionArgs{
Region: pulumi.String("us-east-1"),
MultipleAvailabilityZones: pulumi.Bool(false),
NetworkingDeploymentCidr: pulumi.String("10.0.0.0/24"),
PreferredAvailabilityZones: pulumi.StringArray{
pulumi.String("use1-az1"),
pulumi.String("use1-az2"),
pulumi.String("use1-az3"),
},
},
},
},
CreationPlan: &rediscloud.SubscriptionCreationPlanArgs{
MemoryLimitInGb: pulumi.Float64(10),
Quantity: pulumi.Int(1),
Replication: pulumi.Bool(true),
SupportOssClusterApi: pulumi.Bool(false),
ThroughputMeasurementBy: pulumi.String("operations-per-second"),
ThroughputMeasurementValue: pulumi.Int(20000),
Modules: pulumi.StringArray{"RedisJSON"},
},
})
if err != nil {
return err
}
_, err = rediscloud.NewSubscriptionDatabase(ctx, "database", &rediscloud.SubscriptionDatabaseArgs{
SubscriptionId: subscription.ID(),
Protocol: pulumi.String("redis"),
MemoryLimitInGb: pulumi.Float64(10),
DataPersistence: pulumi.String("aof-every-1-second"),
ThroughputMeasurementBy: pulumi.String("operations-per-second"),
ThroughputMeasurementValue: pulumi.Int(20000),
SupportOssClusterApi: pulumi.Bool(false),
Replication: pulumi.Bool(true),
})
if err != nil {
return err
}
return nil
})
}{{% /choosable %}}
{{% choosable language yaml %}}
name: rediscloud-yaml
runtime: yaml
description: A minimal Pulumi YAML program
variables:
cardId:
fn::invoke:
function: rediscloud:getPaymentMethod
arguments:
cardType: Visa
lastFourNumbers: "1234"
return: id
outputs: {}
resources:
subscription:
type: rediscloud:Subscription
properties:
paymentMethod: credit-card
paymentMethodId: ${cardId}
cloudProvider:
regions:
- region: us-east-1
multipleAvailabilityZones: true
networkingDeploymentCidr: "10.0.0.0/24"
preferredAvailabilityZones:
- "use1-az1"
- "use1-az2"
- "use1-az5"
creationPlan:
memoryLimitInGb: 10
quantity: 1
replication: true
supportOssClusterApi: false
throughputMeasurementBy: operations-per-second
throughputMeasurementValue: 20000
modules:
- RedisJSON
database:
type: rediscloud:SubscriptionDatabase
properties:
subscriptionId: ${subscription.id}
protocol: redis
memoryLimitInGb: 10
dataPersistence: aof-every-1-second
throughputMeasurementBy: "operations-per-second"
throughputMeasurementValue: 20000
replication: true
modules:
- name: RedisJSON{{% /choosable %}}
{{< /chooser >}}