Database Account Sql Container
An Azure Cosmos DB container. Uses Azure REST API version 2016-03-31. Other available API versions: 2015-04-01, 2015-04-08, 2015-11-06, 2016-03-19. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native cosmosdb [ApiVersion]
. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.
Example Usage
CosmosDBSqlContainerCreateUpdate
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var databaseAccountSqlContainer = new AzureNative.CosmosDB.DatabaseAccountSqlContainer("databaseAccountSqlContainer", new()
{
AccountName = "ddb1",
ContainerName = "containerName",
DatabaseName = "databaseName",
Options = null,
Resource = new AzureNative.CosmosDB.Inputs.SqlContainerResourceArgs
{
ConflictResolutionPolicy = new AzureNative.CosmosDB.Inputs.ConflictResolutionPolicyArgs
{
ConflictResolutionPath = "/path",
Mode = AzureNative.CosmosDB.ConflictResolutionMode.LastWriterWins,
},
DefaultTtl = 100,
Id = "containerName",
IndexingPolicy = new AzureNative.CosmosDB.Inputs.IndexingPolicyArgs
{
Automatic = true,
ExcludedPaths = new() { },
IncludedPaths = new[]
{
new AzureNative.CosmosDB.Inputs.IncludedPathArgs
{
Indexes = new[]
{
new AzureNative.CosmosDB.Inputs.IndexesArgs
{
DataType = AzureNative.CosmosDB.DataType.String,
Kind = AzureNative.CosmosDB.IndexKind.Range,
Precision = -1,
},
new AzureNative.CosmosDB.Inputs.IndexesArgs
{
DataType = AzureNative.CosmosDB.DataType.Number,
Kind = AzureNative.CosmosDB.IndexKind.Range,
Precision = -1,
},
},
Path = "/*",
},
},
IndexingMode = "Consistent",
},
PartitionKey = new AzureNative.CosmosDB.Inputs.ContainerPartitionKeyArgs
{
Kind = AzureNative.CosmosDB.PartitionKind.Hash,
Paths = new[]
{
"/AccountNumber",
},
},
UniqueKeyPolicy = new AzureNative.CosmosDB.Inputs.UniqueKeyPolicyArgs
{
UniqueKeys = new[]
{
new AzureNative.CosmosDB.Inputs.UniqueKeyArgs
{
Paths = new[]
{
"/testPath",
},
},
},
},
},
ResourceGroupName = "rg1",
});
});
package main
import (
cosmosdb "github.com/pulumi/pulumi-azure-native-sdk/cosmosdb/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := cosmosdb.NewDatabaseAccountSqlContainer(ctx, "databaseAccountSqlContainer", &cosmosdb.DatabaseAccountSqlContainerArgs{
AccountName: pulumi.String("ddb1"),
ContainerName: pulumi.String("containerName"),
DatabaseName: pulumi.String("databaseName"),
Options: pulumi.StringMap{},
Resource: &cosmosdb.SqlContainerResourceArgs{
ConflictResolutionPolicy: &cosmosdb.ConflictResolutionPolicyArgs{
ConflictResolutionPath: pulumi.String("/path"),
Mode: pulumi.String(cosmosdb.ConflictResolutionModeLastWriterWins),
},
DefaultTtl: pulumi.Int(100),
Id: pulumi.String("containerName"),
IndexingPolicy: &cosmosdb.IndexingPolicyArgs{
Automatic: pulumi.Bool(true),
ExcludedPaths: cosmosdb.ExcludedPathArray{},
IncludedPaths: cosmosdb.IncludedPathArray{
&cosmosdb.IncludedPathArgs{
Indexes: cosmosdb.IndexesArray{
&cosmosdb.IndexesArgs{
DataType: pulumi.String(cosmosdb.DataTypeString),
Kind: pulumi.String(cosmosdb.IndexKindRange),
Precision: pulumi.Int(-1),
},
&cosmosdb.IndexesArgs{
DataType: pulumi.String(cosmosdb.DataTypeNumber),
Kind: pulumi.String(cosmosdb.IndexKindRange),
Precision: pulumi.Int(-1),
},
},
Path: pulumi.String("/*"),
},
},
IndexingMode: pulumi.String("Consistent"),
},
PartitionKey: &cosmosdb.ContainerPartitionKeyArgs{
Kind: pulumi.String(cosmosdb.PartitionKindHash),
Paths: pulumi.StringArray{
pulumi.String("/AccountNumber"),
},
},
UniqueKeyPolicy: &cosmosdb.UniqueKeyPolicyArgs{
UniqueKeys: cosmosdb.UniqueKeyArray{
&cosmosdb.UniqueKeyArgs{
Paths: pulumi.StringArray{
pulumi.String("/testPath"),
},
},
},
},
},
ResourceGroupName: pulumi.String("rg1"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.cosmosdb.DatabaseAccountSqlContainer;
import com.pulumi.azurenative.cosmosdb.DatabaseAccountSqlContainerArgs;
import com.pulumi.azurenative.cosmosdb.inputs.SqlContainerResourceArgs;
import com.pulumi.azurenative.cosmosdb.inputs.ConflictResolutionPolicyArgs;
import com.pulumi.azurenative.cosmosdb.inputs.IndexingPolicyArgs;
import com.pulumi.azurenative.cosmosdb.inputs.ContainerPartitionKeyArgs;
import com.pulumi.azurenative.cosmosdb.inputs.UniqueKeyPolicyArgs;
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 databaseAccountSqlContainer = new DatabaseAccountSqlContainer("databaseAccountSqlContainer", DatabaseAccountSqlContainerArgs.builder()
.accountName("ddb1")
.containerName("containerName")
.databaseName("databaseName")
.options(Map.ofEntries(
))
.resource(SqlContainerResourceArgs.builder()
.conflictResolutionPolicy(ConflictResolutionPolicyArgs.builder()
.conflictResolutionPath("/path")
.mode("LastWriterWins")
.build())
.defaultTtl(100)
.id("containerName")
.indexingPolicy(IndexingPolicyArgs.builder()
.automatic(true)
.excludedPaths()
.includedPaths(IncludedPathArgs.builder()
.indexes(
IndexesArgs.builder()
.dataType("String")
.kind("Range")
.precision(-1)
.build(),
IndexesArgs.builder()
.dataType("Number")
.kind("Range")
.precision(-1)
.build())
.path("/*")
.build())
.indexingMode("Consistent")
.build())
.partitionKey(ContainerPartitionKeyArgs.builder()
.kind("Hash")
.paths("/AccountNumber")
.build())
.uniqueKeyPolicy(UniqueKeyPolicyArgs.builder()
.uniqueKeys(UniqueKeyArgs.builder()
.paths("/testPath")
.build())
.build())
.build())
.resourceGroupName("rg1")
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:cosmosdb:DatabaseAccountSqlContainer containerName /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/apis/sql/databases/{databaseName}/containers/{containerName}
//*/
Properties
The Azure API version of the resource.
The conflict resolution policy for the container.
Default time to live
The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container
The configuration of the partition key to be used for partitioning data into multiple partitions
Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB".
The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.