Viewing docs for Microsoft SQL Server v0.1.0
published on Tuesday, Oct 8, 2024 by pulumiverse
published on Tuesday, Oct 8, 2024 by pulumiverse
MSSQL
I want to use the Pulumi Microsoft SQL Server package (mssql) in my project.
## Provider details
- Package: mssql
- Version: v0.1.0
- Publisher: pulumiverse
- Source: pulumi
- Repository: https://github.com/pulumiverse/pulumi-mssql
## Documentation
The Pulumi Cloud Registry API serves canonical, up-to-date docs for this package — including private packages and every published version. Send the "Accept: text/markdown" header for clean readable content, or "application/json" for structured data.
Start at the navigation tree, which cross-links to the readme, installation guide, and per-resource docs URL template:
- https://api.pulumi.com/api/registry/packages/pulumi/pulumiverse/mssql/versions/latest/nav
Returns a summary by default. The full tree can be hundreds of kB for large providers, so prefer targeted search: append "?q=<query>&depth=full" to filter by resource/function title or token (for example "?q=bucket&depth=full"). Only request the full nav without a query if you actually need to enumerate every resource.
Other endpoints:
- Overview and getting started: https://api.pulumi.com/api/registry/packages/pulumi/pulumiverse/mssql/versions/latest/readme
- Installation and configuration: https://api.pulumi.com/api/registry/packages/pulumi/pulumiverse/mssql/versions/latest/installation
- Per-resource/function docs: https://api.pulumi.com/api/registry/packages/pulumi/pulumiverse/mssql/versions/latest/docs/{token}?lang={lang}
Replace {token} with the percent-encoded token from the nav response (for example aws:s3/bucket:Bucket).
Replace {lang} with typescript, python, go, csharp, java, or yaml.
Fetch the installation endpoint above for the correct setup steps — install instructions vary between native providers, bridged Terraform providers, and component packages.
Help me get started using this provider. Show me a complete Pulumi program that provisions a common resource, including all necessary configuration and imports.
Viewing docs for Microsoft SQL Server v0.1.0
published on Tuesday, Oct 8, 2024 by pulumiverse
published on Tuesday, Oct 8, 2024 by pulumiverse
The MSSQL provider for Pulumi can be used to provision and configure objects in Microsoft SQL Server and Azure SQL instances. The MSSQL provider must be configured with credentials to deploy and update resources in MSSQL.
Example
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * as mssql from "@pulumiverse/mssql";
const current = azure.core.getClientConfig({});
const resourceGroup = new azure.core.ResourceGroup("resource-group", {
name: "pulumi-mssql-test",
location: "eastus",
});
const server = new azure.mssql.Server("server", {
name: "pulumi-mssql-test",
resourceGroupName: resourceGroup.name,
location: resourceGroup.location,
version: "12.0",
minimumTlsVersion: "1.2",
administratorLogin: "sadmin",
administratorLoginPassword: "Str0ngPa$word12",
azureadAdministrator: {
loginUsername: "pulumi-app",
objectId: current.then(current => current.objectId),
tenantId: current.then(current => current.tenantId),
},
});
const databaseFirewallRule = new azure.mssql.FirewallRule("database-firewall-rule", {
name: "azure",
serverId: server.id,
startIpAddress: "0.0.0.0",
endIpAddress: "0.0.0.0",
});
const database = new azure.mssql.Database("database", {
name: "db",
serverId: server.id,
licenseType: "LicenseIncluded",
maxSizeGb: 2,
skuName: "Basic",
});
const providerMssql = new mssql.Provider("provider-mssql", {
hostname: server.fullyQualifiedDomainName,
azureAuth: {},
}, {
dependsOn: [
database,
databaseFirewallRule,
],
});
const databaseId = mssql.getDatabaseOutput({
name: database.name,
}, {
provider: providerMssql
});
const databaseRoleOwner = mssql.getDatabaseRoleOutput({
databaseId: databaseId.id,
name: "db_owner",
}, {
provider: providerMssql
});
const dbUser = new mssql.SqlLogin("db-user", {
name: "example",
password: "Str0ngPa$word12",
}, {
provider: providerMssql,
});
const dbRoleMember = new mssql.DatabaseRoleMember("db-role-member", {
roleId: databaseRoleOwner.id,
memberId: dbUser.id,
}, {
provider: providerMssql,
});
import pulumi
import pulumi_azure as azure
import pulumiverse_mssql as mssql
current = azure.core.get_client_config()
resource_group = azure.core.ResourceGroup(
"resource-group", name="pulumi-mssql-test", location="eastus"
)
server = azure.mssql.Server(
"server",
name="pulumi-mssql-test",
resource_group_name=resource_group.name,
location=resource_group.location,
version="12.0",
minimum_tls_version="1.2",
administrator_login="sadmin",
administrator_login_password="Str0ngPa$word12",
azuread_administrator=azure.mssql.ServerAzureadAdministratorArgs(
login_username="pulumi-app",
object_id=current.object_id,
tenant_id=current.tenant_id,
),
)
database = azure.mssql.Database(
"database",
name="db",
server_id=server.id,
license_type="LicenseIncluded",
max_size_gb=2,
sku_name="Basic",
)
database_firewall_rule = azure.mssql.FirewallRule(
"database-firewall-rule",
name="azure",
server_id=server.id,
start_ip_address="0.0.0.0",
end_ip_address="0.0.0.0",
)
provider_mssql = mssql.Provider(
"provider-mssql",
hostname=server.fully_qualified_domain_name,
azure_auth=mssql.ProviderAzureAuthArgs(),
opts=pulumi.ResourceOptions(
depends_on=[
database,
database_firewall_rule,
]
),
)
database_id = mssql.get_database_output(
name=database.name,
opts=pulumi.InvokeOptions(provider=provider_mssql),
)
database_role_owner = mssql.get_database_role_output(
database_id=database_id.id,
name="db_owner",
opts=pulumi.InvokeOptions(provider=provider_mssql),
)
db_user = mssql.SqlLogin(
"db-user",
name="example",
password="Str0ngPa$word12",
opts=pulumi.ResourceOptions(provider=provider_mssql),
)
db_role_member = mssql.DatabaseRoleMember(
"db-role-member",
role_id=database_role_owner.id,
member_id=db_user.id,
opts=pulumi.ResourceOptions(provider=provider_mssql),
)
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
azuresql "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumiverse/pulumi-mssql/sdk/go/mssql"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
current, err := core.GetClientConfig(ctx, nil, nil)
if err != nil {
return err
}
resourceGroup, err := core.NewResourceGroup(ctx, "resource-group", &core.ResourceGroupArgs{
Name: pulumi.String("pulumi-mssql-test"),
Location: pulumi.String("eastus"),
})
if err != nil {
return err
}
server, err := azuresql.NewServer(ctx, "server", &azuresql.ServerArgs{
Name: pulumi.String("pulumi-mssql-test"),
ResourceGroupName: resourceGroup.Name,
Location: resourceGroup.Location,
Version: pulumi.String("12.0"),
MinimumTlsVersion: pulumi.String("1.2"),
AdministratorLogin: pulumi.String("sadmin"),
AdministratorLoginPassword: pulumi.String("Str0ngPa$word12"),
AzureadAdministrator: &azuresql.ServerAzureadAdministratorArgs{
LoginUsername: pulumi.String("pulumi-app"),
ObjectId: pulumi.String(current.ObjectId),
TenantId: pulumi.String(current.TenantId),
},
})
if err != nil {
return err
}
database, err := azuresql.NewDatabase(ctx, "database", &azuresql.DatabaseArgs{
Name: pulumi.String("db"),
ServerId: server.ID(),
LicenseType: pulumi.String("LicenseIncluded"),
MaxSizeGb: pulumi.Int(2),
SkuName: pulumi.String("Basic"),
})
if err != nil {
return err
}
databaseFirewallRule, err := azuresql.NewFirewallRule(ctx, "database-firewall-rule", &azuresql.FirewallRuleArgs{
Name: pulumi.String("azure"),
ServerId: server.ID(),
StartIpAddress: pulumi.String("0.0.0.0"),
EndIpAddress: pulumi.String("0.0.0.0"),
})
if err != nil {
return err
}
providerMssql, err := mssql.NewProvider(ctx, "provider-mssql", &mssql.ProviderArgs{
Hostname: server.FullyQualifiedDomainName,
AzureAuth: mssql.ProviderAzureAuthArgs{},
}, pulumi.DependsOn([]pulumi.Resource{
database,
databaseFirewallRule,
}))
if err != nil {
return err
}
databaseId := mssql.LookupDatabaseOutput(ctx, mssql.LookupDatabaseOutputArgs{
Name: database.Name,
}, pulumi.Provider(providerMssql))
databaseRoleOwner := mssql.LookupDatabaseRoleOutput(ctx, mssql.LookupDatabaseRoleOutputArgs{
DatabaseId: databaseId.Id(),
Name: pulumi.String("db_owner"),
}, pulumi.Provider(providerMssql))
dbUser, err := mssql.NewSqlLogin(ctx, "db-user", &mssql.SqlLoginArgs{
Name: pulumi.String("example"),
Password: pulumi.String("Str0ngPa$word12"),
}, pulumi.Provider(providerMssql))
if err != nil {
return err
}
_, err = mssql.NewDatabaseRoleMember(ctx, "db-role-member", &mssql.DatabaseRoleMemberArgs{
RoleId: databaseRoleOwner.Id(),
MemberId: dbUser.ID(),
}, pulumi.Provider(providerMssql))
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
using Mssql = Pulumiverse.Mssql;
return await Deployment.RunAsync(async () =>
{
var current = await Azure.Core.GetClientConfig.InvokeAsync();
var resourceGroup = new Azure.Core.ResourceGroup(
"resource-group",
new() { Name = "pulumi-mssql-test", Location = "eastus", }
);
var server = new Azure.MSSql.Server(
"server",
new()
{
Name = "pulumi-mssql-test",
ResourceGroupName = resourceGroup.Name,
Location = resourceGroup.Location,
Version = "12.0",
MinimumTlsVersion = "1.2",
AdministratorLogin = "sadmin",
AdministratorLoginPassword = "Str0ngPa$word12",
AzureadAdministrator = new Azure.MSSql.Inputs.ServerAzureadAdministratorArgs
{
LoginUsername = "pulumi-app",
ObjectId = current.ObjectId,
TenantId = current.TenantId,
},
}
);
var database = new Azure.MSSql.Database(
"database",
new()
{
Name = "db",
ServerId = server.Id,
LicenseType = "LicenseIncluded",
MaxSizeGb = 2,
SkuName = "Basic",
}
);
var databaseFirewallRule = new Azure.MSSql.FirewallRule(
"database-firewall-rule",
new()
{
Name = "azure",
ServerId = server.Id,
StartIpAddress = "0.0.0.0",
EndIpAddress = "0.0.0.0",
}
);
var providerMssql = new Mssql.Provider(
"provider-mssql",
new()
{
Hostname = server.FullyQualifiedDomainName,
AzureAuth = new Mssql.Inputs.ProviderAzureAuthArgs(),
},
new CustomResourceOptions
{
DependsOn = new Resource[] { database, databaseFirewallRule, },
}
);
var databaseId = Mssql.GetDatabase.Invoke(
new() { Name = database.Name, },
new InvokeOptions { Provider = providerMssql }
);
var databaseRoleOwner = Mssql.GetDatabaseRole.Invoke(
new()
{
DatabaseId = databaseId.Apply(getDatabaseResult => getDatabaseResult.Id),
Name = "db_owner",
},
new InvokeOptions { Provider = providerMssql }
);
var dbUser = new Mssql.SqlLogin(
"db-user",
new() { Name = "example", Password = "Str0ngPa$word12", },
new CustomResourceOptions { Provider = providerMssql, }
);
var dbRoleMember = new Mssql.DatabaseRoleMember(
"db-role-member",
new()
{
RoleId = databaseRoleOwner.Apply(getDatabaseRoleResult => getDatabaseRoleResult.Id),
MemberId = dbUser.Id,
},
new CustomResourceOptions { Provider = providerMssql, }
);
});
name: mssql-test
runtime: yaml
description: A Pulumi YAML project to test the new MSSQL provider
variables:
current:
fn::invoke:
function: azure:core:getClientConfig
options:
provider: ${provider}
database-id:
fn::invoke:
function: mssql:getDatabase
arguments:
name: ${database.name}
options:
provider: ${provider-mssql}
database-role-owner:
fn::invoke:
function: mssql:getDatabaseRole
arguments:
databaseId: ${database-id.id}
name: "db_owner"
options:
provider: ${provider-mssql}
outputs: {}
resources:
provider:
type: pulumi:providers:azure
properties:
skipProviderRegistration: true
options:
version: 5.43.0
resource-group:
type: azure:core:ResourceGroup
properties:
name: "pulumi-mssql-test"
location: "eastus"
server:
type: azure:mssql:Server
properties:
name: "pulumi-mssql-test"
resourceGroupName: ${resource-group.name}
location: ${resource-group.location}
version: '12.0'
minimumTlsVersion: '1.2'
administratorLogin: sadmin
administratorLoginPassword: "Str0ngPa$$word12"
azureadAdministrator:
loginUsername: "pulumi-app"
objectId: ${current.objectId}
tenantId: ${current.tenantId}
options:
provider: ${provider}
database-firewall-rule:
type: azure:mssql:FirewallRule
properties:
name: azure
serverId: ${server.id}
startIpAddress: "0.0.0.0"
endIpAddress: "0.0.0.0"
options:
provider: ${provider}
database:
type: azure:mssql:Database
properties:
name: "db"
serverId: ${server.id}
licenseType: LicenseIncluded
maxSizeGb: 2
skuName: Basic
options:
provider: ${provider}
provider-mssql:
type: pulumi:providers:mssql
properties:
hostname: ${server.fullyQualifiedDomainName}
azureAuth: {}
options:
dependsOn:
- ${database}
- ${database-firewall-rule}
db-user:
type: mssql:SqlLogin
properties:
name: example
password: "Str0ngPa$$word12"
options:
provider: ${provider-mssql}
db-role-member:
type: mssql:DatabaseRoleMember
properties:
roleId: ${database-role-owner.id}
memberId: ${db-user.id}
options:
provider: ${provider-mssql}
Viewing docs for Microsoft SQL Server v0.1.0
published on Tuesday, Oct 8, 2024 by pulumiverse
published on Tuesday, Oct 8, 2024 by pulumiverse