We recommend using Azure Native.
azure.cosmosdb.SqlStoredProcedure
Explore with Pulumi AI
Manages a SQL Stored Procedure within a Cosmos DB Account SQL Database.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = azure.cosmosdb.getAccount({
name: "tfex-cosmosdb-account",
resourceGroupName: "tfex-cosmosdb-account-rg",
});
const exampleSqlDatabase = new azure.cosmosdb.SqlDatabase("example", {
name: "tfex-cosmos-db",
resourceGroupName: example.then(example => example.resourceGroupName),
accountName: example.then(example => example.name),
throughput: 400,
});
const exampleSqlContainer = new azure.cosmosdb.SqlContainer("example", {
name: "example-container",
resourceGroupName: example.then(example => example.resourceGroupName),
accountName: example.then(example => example.name),
databaseName: exampleSqlDatabase.name,
partitionKeyPath: "/id",
});
const exampleSqlStoredProcedure = new azure.cosmosdb.SqlStoredProcedure("example", {
name: "test-stored-proc",
resourceGroupName: example.then(example => example.resourceGroupName),
accountName: example.then(example => example.name),
databaseName: exampleSqlDatabase.name,
containerName: exampleSqlContainer.name,
body: " function () { var context = getContext(); var response = context.getResponse(); response.setBody('Hello, World'); }\n",
});
import pulumi
import pulumi_azure as azure
example = azure.cosmosdb.get_account(name="tfex-cosmosdb-account",
resource_group_name="tfex-cosmosdb-account-rg")
example_sql_database = azure.cosmosdb.SqlDatabase("example",
name="tfex-cosmos-db",
resource_group_name=example.resource_group_name,
account_name=example.name,
throughput=400)
example_sql_container = azure.cosmosdb.SqlContainer("example",
name="example-container",
resource_group_name=example.resource_group_name,
account_name=example.name,
database_name=example_sql_database.name,
partition_key_path="/id")
example_sql_stored_procedure = azure.cosmosdb.SqlStoredProcedure("example",
name="test-stored-proc",
resource_group_name=example.resource_group_name,
account_name=example.name,
database_name=example_sql_database.name,
container_name=example_sql_container.name,
body=" function () { var context = getContext(); var response = context.getResponse(); response.setBody('Hello, World'); }\n")
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/cosmosdb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := cosmosdb.LookupAccount(ctx, &cosmosdb.LookupAccountArgs{
Name: "tfex-cosmosdb-account",
ResourceGroupName: "tfex-cosmosdb-account-rg",
}, nil)
if err != nil {
return err
}
exampleSqlDatabase, err := cosmosdb.NewSqlDatabase(ctx, "example", &cosmosdb.SqlDatabaseArgs{
Name: pulumi.String("tfex-cosmos-db"),
ResourceGroupName: pulumi.String(example.ResourceGroupName),
AccountName: pulumi.String(example.Name),
Throughput: pulumi.Int(400),
})
if err != nil {
return err
}
exampleSqlContainer, err := cosmosdb.NewSqlContainer(ctx, "example", &cosmosdb.SqlContainerArgs{
Name: pulumi.String("example-container"),
ResourceGroupName: pulumi.String(example.ResourceGroupName),
AccountName: pulumi.String(example.Name),
DatabaseName: exampleSqlDatabase.Name,
PartitionKeyPath: pulumi.String("/id"),
})
if err != nil {
return err
}
_, err = cosmosdb.NewSqlStoredProcedure(ctx, "example", &cosmosdb.SqlStoredProcedureArgs{
Name: pulumi.String("test-stored-proc"),
ResourceGroupName: pulumi.String(example.ResourceGroupName),
AccountName: pulumi.String(example.Name),
DatabaseName: exampleSqlDatabase.Name,
ContainerName: exampleSqlContainer.Name,
Body: pulumi.String(" function () { var context = getContext(); var response = context.getResponse(); response.setBody('Hello, World'); }\n"),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = Azure.CosmosDB.GetAccount.Invoke(new()
{
Name = "tfex-cosmosdb-account",
ResourceGroupName = "tfex-cosmosdb-account-rg",
});
var exampleSqlDatabase = new Azure.CosmosDB.SqlDatabase("example", new()
{
Name = "tfex-cosmos-db",
ResourceGroupName = example.Apply(getAccountResult => getAccountResult.ResourceGroupName),
AccountName = example.Apply(getAccountResult => getAccountResult.Name),
Throughput = 400,
});
var exampleSqlContainer = new Azure.CosmosDB.SqlContainer("example", new()
{
Name = "example-container",
ResourceGroupName = example.Apply(getAccountResult => getAccountResult.ResourceGroupName),
AccountName = example.Apply(getAccountResult => getAccountResult.Name),
DatabaseName = exampleSqlDatabase.Name,
PartitionKeyPath = "/id",
});
var exampleSqlStoredProcedure = new Azure.CosmosDB.SqlStoredProcedure("example", new()
{
Name = "test-stored-proc",
ResourceGroupName = example.Apply(getAccountResult => getAccountResult.ResourceGroupName),
AccountName = example.Apply(getAccountResult => getAccountResult.Name),
DatabaseName = exampleSqlDatabase.Name,
ContainerName = exampleSqlContainer.Name,
Body = @" function () { var context = getContext(); var response = context.getResponse(); response.setBody('Hello, World'); }
",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.cosmosdb.CosmosdbFunctions;
import com.pulumi.azure.cosmosdb.inputs.GetAccountArgs;
import com.pulumi.azure.cosmosdb.SqlDatabase;
import com.pulumi.azure.cosmosdb.SqlDatabaseArgs;
import com.pulumi.azure.cosmosdb.SqlContainer;
import com.pulumi.azure.cosmosdb.SqlContainerArgs;
import com.pulumi.azure.cosmosdb.SqlStoredProcedure;
import com.pulumi.azure.cosmosdb.SqlStoredProcedureArgs;
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) {
final var example = CosmosdbFunctions.getAccount(GetAccountArgs.builder()
.name("tfex-cosmosdb-account")
.resourceGroupName("tfex-cosmosdb-account-rg")
.build());
var exampleSqlDatabase = new SqlDatabase("exampleSqlDatabase", SqlDatabaseArgs.builder()
.name("tfex-cosmos-db")
.resourceGroupName(example.applyValue(getAccountResult -> getAccountResult.resourceGroupName()))
.accountName(example.applyValue(getAccountResult -> getAccountResult.name()))
.throughput(400)
.build());
var exampleSqlContainer = new SqlContainer("exampleSqlContainer", SqlContainerArgs.builder()
.name("example-container")
.resourceGroupName(example.applyValue(getAccountResult -> getAccountResult.resourceGroupName()))
.accountName(example.applyValue(getAccountResult -> getAccountResult.name()))
.databaseName(exampleSqlDatabase.name())
.partitionKeyPath("/id")
.build());
var exampleSqlStoredProcedure = new SqlStoredProcedure("exampleSqlStoredProcedure", SqlStoredProcedureArgs.builder()
.name("test-stored-proc")
.resourceGroupName(example.applyValue(getAccountResult -> getAccountResult.resourceGroupName()))
.accountName(example.applyValue(getAccountResult -> getAccountResult.name()))
.databaseName(exampleSqlDatabase.name())
.containerName(exampleSqlContainer.name())
.body("""
function () { var context = getContext(); var response = context.getResponse(); response.setBody('Hello, World'); }
""")
.build());
}
}
resources:
exampleSqlDatabase:
type: azure:cosmosdb:SqlDatabase
name: example
properties:
name: tfex-cosmos-db
resourceGroupName: ${example.resourceGroupName}
accountName: ${example.name}
throughput: 400
exampleSqlContainer:
type: azure:cosmosdb:SqlContainer
name: example
properties:
name: example-container
resourceGroupName: ${example.resourceGroupName}
accountName: ${example.name}
databaseName: ${exampleSqlDatabase.name}
partitionKeyPath: /id
exampleSqlStoredProcedure:
type: azure:cosmosdb:SqlStoredProcedure
name: example
properties:
name: test-stored-proc
resourceGroupName: ${example.resourceGroupName}
accountName: ${example.name}
databaseName: ${exampleSqlDatabase.name}
containerName: ${exampleSqlContainer.name}
body: |2
function () { var context = getContext(); var response = context.getResponse(); response.setBody('Hello, World'); }
variables:
example:
fn::invoke:
Function: azure:cosmosdb:getAccount
Arguments:
name: tfex-cosmosdb-account
resourceGroupName: tfex-cosmosdb-account-rg
Create SqlStoredProcedure Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new SqlStoredProcedure(name: string, args: SqlStoredProcedureArgs, opts?: CustomResourceOptions);
@overload
def SqlStoredProcedure(resource_name: str,
args: SqlStoredProcedureArgs,
opts: Optional[ResourceOptions] = None)
@overload
def SqlStoredProcedure(resource_name: str,
opts: Optional[ResourceOptions] = None,
account_name: Optional[str] = None,
body: Optional[str] = None,
container_name: Optional[str] = None,
database_name: Optional[str] = None,
resource_group_name: Optional[str] = None,
name: Optional[str] = None)
func NewSqlStoredProcedure(ctx *Context, name string, args SqlStoredProcedureArgs, opts ...ResourceOption) (*SqlStoredProcedure, error)
public SqlStoredProcedure(string name, SqlStoredProcedureArgs args, CustomResourceOptions? opts = null)
public SqlStoredProcedure(String name, SqlStoredProcedureArgs args)
public SqlStoredProcedure(String name, SqlStoredProcedureArgs args, CustomResourceOptions options)
type: azure:cosmosdb:SqlStoredProcedure
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args SqlStoredProcedureArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args SqlStoredProcedureArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args SqlStoredProcedureArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args SqlStoredProcedureArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args SqlStoredProcedureArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var sqlStoredProcedureResource = new Azure.CosmosDB.SqlStoredProcedure("sqlStoredProcedureResource", new()
{
AccountName = "string",
Body = "string",
ContainerName = "string",
DatabaseName = "string",
ResourceGroupName = "string",
Name = "string",
});
example, err := cosmosdb.NewSqlStoredProcedure(ctx, "sqlStoredProcedureResource", &cosmosdb.SqlStoredProcedureArgs{
AccountName: pulumi.String("string"),
Body: pulumi.String("string"),
ContainerName: pulumi.String("string"),
DatabaseName: pulumi.String("string"),
ResourceGroupName: pulumi.String("string"),
Name: pulumi.String("string"),
})
var sqlStoredProcedureResource = new SqlStoredProcedure("sqlStoredProcedureResource", SqlStoredProcedureArgs.builder()
.accountName("string")
.body("string")
.containerName("string")
.databaseName("string")
.resourceGroupName("string")
.name("string")
.build());
sql_stored_procedure_resource = azure.cosmosdb.SqlStoredProcedure("sqlStoredProcedureResource",
account_name="string",
body="string",
container_name="string",
database_name="string",
resource_group_name="string",
name="string")
const sqlStoredProcedureResource = new azure.cosmosdb.SqlStoredProcedure("sqlStoredProcedureResource", {
accountName: "string",
body: "string",
containerName: "string",
databaseName: "string",
resourceGroupName: "string",
name: "string",
});
type: azure:cosmosdb:SqlStoredProcedure
properties:
accountName: string
body: string
containerName: string
databaseName: string
name: string
resourceGroupName: string
SqlStoredProcedure Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The SqlStoredProcedure resource accepts the following input properties:
- Account
Name string - The name of the Cosmos DB Account to create the stored procedure within. Changing this forces a new resource to be created.
- Body string
- The body of the stored procedure.
- Container
Name string - The name of the Cosmos DB SQL Container to create the stored procedure within. Changing this forces a new resource to be created.
- Database
Name string - The name of the Cosmos DB SQL Database to create the stored procedure within. Changing this forces a new resource to be created.
- Resource
Group stringName - The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.
- Name string
- Specifies the name of the Cosmos DB SQL Stored Procedure. Changing this forces a new resource to be created.
- Account
Name string - The name of the Cosmos DB Account to create the stored procedure within. Changing this forces a new resource to be created.
- Body string
- The body of the stored procedure.
- Container
Name string - The name of the Cosmos DB SQL Container to create the stored procedure within. Changing this forces a new resource to be created.
- Database
Name string - The name of the Cosmos DB SQL Database to create the stored procedure within. Changing this forces a new resource to be created.
- Resource
Group stringName - The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.
- Name string
- Specifies the name of the Cosmos DB SQL Stored Procedure. Changing this forces a new resource to be created.
- account
Name String - The name of the Cosmos DB Account to create the stored procedure within. Changing this forces a new resource to be created.
- body String
- The body of the stored procedure.
- container
Name String - The name of the Cosmos DB SQL Container to create the stored procedure within. Changing this forces a new resource to be created.
- database
Name String - The name of the Cosmos DB SQL Database to create the stored procedure within. Changing this forces a new resource to be created.
- resource
Group StringName - The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.
- name String
- Specifies the name of the Cosmos DB SQL Stored Procedure. Changing this forces a new resource to be created.
- account
Name string - The name of the Cosmos DB Account to create the stored procedure within. Changing this forces a new resource to be created.
- body string
- The body of the stored procedure.
- container
Name string - The name of the Cosmos DB SQL Container to create the stored procedure within. Changing this forces a new resource to be created.
- database
Name string - The name of the Cosmos DB SQL Database to create the stored procedure within. Changing this forces a new resource to be created.
- resource
Group stringName - The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.
- name string
- Specifies the name of the Cosmos DB SQL Stored Procedure. Changing this forces a new resource to be created.
- account_
name str - The name of the Cosmos DB Account to create the stored procedure within. Changing this forces a new resource to be created.
- body str
- The body of the stored procedure.
- container_
name str - The name of the Cosmos DB SQL Container to create the stored procedure within. Changing this forces a new resource to be created.
- database_
name str - The name of the Cosmos DB SQL Database to create the stored procedure within. Changing this forces a new resource to be created.
- resource_
group_ strname - The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.
- name str
- Specifies the name of the Cosmos DB SQL Stored Procedure. Changing this forces a new resource to be created.
- account
Name String - The name of the Cosmos DB Account to create the stored procedure within. Changing this forces a new resource to be created.
- body String
- The body of the stored procedure.
- container
Name String - The name of the Cosmos DB SQL Container to create the stored procedure within. Changing this forces a new resource to be created.
- database
Name String - The name of the Cosmos DB SQL Database to create the stored procedure within. Changing this forces a new resource to be created.
- resource
Group StringName - The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.
- name String
- Specifies the name of the Cosmos DB SQL Stored Procedure. Changing this forces a new resource to be created.
Outputs
All input properties are implicitly available as output properties. Additionally, the SqlStoredProcedure resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing SqlStoredProcedure Resource
Get an existing SqlStoredProcedure resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: SqlStoredProcedureState, opts?: CustomResourceOptions): SqlStoredProcedure
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
account_name: Optional[str] = None,
body: Optional[str] = None,
container_name: Optional[str] = None,
database_name: Optional[str] = None,
name: Optional[str] = None,
resource_group_name: Optional[str] = None) -> SqlStoredProcedure
func GetSqlStoredProcedure(ctx *Context, name string, id IDInput, state *SqlStoredProcedureState, opts ...ResourceOption) (*SqlStoredProcedure, error)
public static SqlStoredProcedure Get(string name, Input<string> id, SqlStoredProcedureState? state, CustomResourceOptions? opts = null)
public static SqlStoredProcedure get(String name, Output<String> id, SqlStoredProcedureState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Account
Name string - The name of the Cosmos DB Account to create the stored procedure within. Changing this forces a new resource to be created.
- Body string
- The body of the stored procedure.
- Container
Name string - The name of the Cosmos DB SQL Container to create the stored procedure within. Changing this forces a new resource to be created.
- Database
Name string - The name of the Cosmos DB SQL Database to create the stored procedure within. Changing this forces a new resource to be created.
- Name string
- Specifies the name of the Cosmos DB SQL Stored Procedure. Changing this forces a new resource to be created.
- Resource
Group stringName - The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.
- Account
Name string - The name of the Cosmos DB Account to create the stored procedure within. Changing this forces a new resource to be created.
- Body string
- The body of the stored procedure.
- Container
Name string - The name of the Cosmos DB SQL Container to create the stored procedure within. Changing this forces a new resource to be created.
- Database
Name string - The name of the Cosmos DB SQL Database to create the stored procedure within. Changing this forces a new resource to be created.
- Name string
- Specifies the name of the Cosmos DB SQL Stored Procedure. Changing this forces a new resource to be created.
- Resource
Group stringName - The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.
- account
Name String - The name of the Cosmos DB Account to create the stored procedure within. Changing this forces a new resource to be created.
- body String
- The body of the stored procedure.
- container
Name String - The name of the Cosmos DB SQL Container to create the stored procedure within. Changing this forces a new resource to be created.
- database
Name String - The name of the Cosmos DB SQL Database to create the stored procedure within. Changing this forces a new resource to be created.
- name String
- Specifies the name of the Cosmos DB SQL Stored Procedure. Changing this forces a new resource to be created.
- resource
Group StringName - The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.
- account
Name string - The name of the Cosmos DB Account to create the stored procedure within. Changing this forces a new resource to be created.
- body string
- The body of the stored procedure.
- container
Name string - The name of the Cosmos DB SQL Container to create the stored procedure within. Changing this forces a new resource to be created.
- database
Name string - The name of the Cosmos DB SQL Database to create the stored procedure within. Changing this forces a new resource to be created.
- name string
- Specifies the name of the Cosmos DB SQL Stored Procedure. Changing this forces a new resource to be created.
- resource
Group stringName - The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.
- account_
name str - The name of the Cosmos DB Account to create the stored procedure within. Changing this forces a new resource to be created.
- body str
- The body of the stored procedure.
- container_
name str - The name of the Cosmos DB SQL Container to create the stored procedure within. Changing this forces a new resource to be created.
- database_
name str - The name of the Cosmos DB SQL Database to create the stored procedure within. Changing this forces a new resource to be created.
- name str
- Specifies the name of the Cosmos DB SQL Stored Procedure. Changing this forces a new resource to be created.
- resource_
group_ strname - The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.
- account
Name String - The name of the Cosmos DB Account to create the stored procedure within. Changing this forces a new resource to be created.
- body String
- The body of the stored procedure.
- container
Name String - The name of the Cosmos DB SQL Container to create the stored procedure within. Changing this forces a new resource to be created.
- database
Name String - The name of the Cosmos DB SQL Database to create the stored procedure within. Changing this forces a new resource to be created.
- name String
- Specifies the name of the Cosmos DB SQL Stored Procedure. Changing this forces a new resource to be created.
- resource
Group StringName - The name of the resource group in which the Cosmos DB SQL Database is created. Changing this forces a new resource to be created.
Import
CosmosDB SQL Stored Procedures can be imported using the resource id
, e.g.
$ pulumi import azure:cosmosdb/sqlStoredProcedure:SqlStoredProcedure db1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/account1/sqlDatabases/db1/containers/c1/storedProcedures/sp1
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
azurerm
Terraform Provider.