CassandraClusterArgs

data class CassandraClusterArgs(val authenticationMethod: Output<String>? = null, val clientCertificatePems: Output<List<String>>? = null, val defaultAdminPassword: Output<String>? = null, val delegatedManagementSubnetId: Output<String>? = null, val externalGossipCertificatePems: Output<List<String>>? = null, val externalSeedNodeIpAddresses: Output<List<String>>? = null, val hoursBetweenBackups: Output<Int>? = null, val identity: Output<CassandraClusterIdentityArgs>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val repairEnabled: Output<Boolean>? = null, val resourceGroupName: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val version: Output<String>? = null) : ConvertibleToJava<CassandraClusterArgs>

Manages a Cassandra Cluster.

NOTE: In order for the Azure Managed Instances for Apache Cassandra to work properly the product requires the Azure Cosmos DB Application ID to be present and working in your tenant. If the Azure Cosmos DB Application ID is missing in your environment you will need to have an administrator of your tenant run the following command to add the Azure Cosmos DB Application ID to your tenant:

import * as pulumi from "@pulumi/pulumi";
import pulumi
using System.Collections.Generic;
using System.Linq;
using Pulumi;
return await Deployment.RunAsync(() =>
{
});
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
}
}
{}

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azuread.AzureadFunctions;
import com.pulumi.azuread.inputs.GetServicePrincipalArgs;
import com.pulumi.azure.authorization.Assignment;
import com.pulumi.azure.authorization.AssignmentArgs;
import com.pulumi.azure.cosmosdb.CassandraCluster;
import com.pulumi.azure.cosmosdb.CassandraClusterArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.addressSpaces("10.0.0.0/16")
.build());
var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.0.1.0/24")
.build());
final var exampleServicePrincipal = AzureadFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
.displayName("Azure Cosmos DB")
.build());
var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder()
.scope(exampleVirtualNetwork.id())
.roleDefinitionName("Network Contributor")
.principalId(exampleServicePrincipal.applyValue(getServicePrincipalResult -> getServicePrincipalResult.objectId()))
.build());
var exampleCassandraCluster = new CassandraCluster("exampleCassandraCluster", CassandraClusterArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.delegatedManagementSubnetId(exampleSubnet.id())
.defaultAdminPassword("Password1234")
.build(), CustomResourceOptions.builder()
.dependsOn(exampleAssignment)
.build());
}
}

Import

Cassandra Clusters can be imported using the resource id, e.g.

$ pulumi import azure:cosmosdb/cassandraCluster:CassandraCluster example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.DocumentDB/cassandraClusters/cluster1

Constructors

Link copied to clipboard
fun CassandraClusterArgs(authenticationMethod: Output<String>? = null, clientCertificatePems: Output<List<String>>? = null, defaultAdminPassword: Output<String>? = null, delegatedManagementSubnetId: Output<String>? = null, externalGossipCertificatePems: Output<List<String>>? = null, externalSeedNodeIpAddresses: Output<List<String>>? = null, hoursBetweenBackups: Output<Int>? = null, identity: Output<CassandraClusterIdentityArgs>? = null, location: Output<String>? = null, name: Output<String>? = null, repairEnabled: Output<Boolean>? = null, resourceGroupName: Output<String>? = null, tags: Output<Map<String, String>>? = null, version: Output<String>? = null)

Functions

Link copied to clipboard
open override fun toJava(): CassandraClusterArgs

Properties

Link copied to clipboard
val authenticationMethod: Output<String>? = null

The authentication method that is used to authenticate clients. Possible values are None and Cassandra. Defaults to Cassandra.

Link copied to clipboard
val clientCertificatePems: Output<List<String>>? = null

A list of TLS certificates that is used to authorize client connecting to the Cassandra Cluster.

Link copied to clipboard
val defaultAdminPassword: Output<String>? = null

The initial admin password for this Cassandra Cluster. Changing this forces a new resource to be created.

Link copied to clipboard
val delegatedManagementSubnetId: Output<String>? = null

The ID of the delegated management subnet for this Cassandra Cluster. Changing this forces a new Cassandra Cluster to be created.

Link copied to clipboard

A list of TLS certificates that is used to authorize gossip from unmanaged Cassandra Data Center.

Link copied to clipboard

A list of IP Addresses of the seed nodes in unmanaged the Cassandra Data Center which will be added to the seed node lists of all managed nodes.

Link copied to clipboard
val hoursBetweenBackups: Output<Int>? = null

The number of hours to wait between taking a backup of the Cassandra Cluster. Defaults to 24.

Link copied to clipboard

An identity block as defined below.

Link copied to clipboard
val location: Output<String>? = null

The Azure Region where the Cassandra Cluster should exist. Changing this forces a new Cassandra Cluster to be created.

Link copied to clipboard
val name: Output<String>? = null

The name which should be used for this Cassandra Cluster. Changing this forces a new Cassandra Cluster to be created.

Link copied to clipboard
val repairEnabled: Output<Boolean>? = null

Is the automatic repair enabled on the Cassandra Cluster? Defaults to true.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the Resource Group where the Cassandra Cluster should exist. Changing this forces a new Cassandra Cluster to be created.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A mapping of tags assigned to the resource.

Link copied to clipboard
val version: Output<String>? = null

The version of Cassandra what the Cluster converges to run. Possible values are 3.11 and 4.0. Defaults to 3.11. Changing this forces a new Cassandra Cluster to be created.