mssql

package
v0.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 1, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

A Pulumi Provider for Microsoft SQL Server and Azure SQL

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AzureadServicePrincipal

type AzureadServicePrincipal struct {
	pulumi.CustomResourceState

	// Azure AD clientId of the Service Principal. This can be either regular Service Principal or Managed Service Identity.
	ClientId pulumi.StringOutput `pulumi:"clientId"`
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringOutput `pulumi:"databaseId"`
	// User name. Cannot be longer than 128 chars.
	Name pulumi.StringOutput `pulumi:"name"`
}

Managed database-level user mapped to Azure AD identity (service principal or managed identity).

> **Note** When using this resource, Azure SQL server managed identity does not need any [AzureAD role assignments](https://docs.microsoft.com/en-us/azure/azure-sql/database/authentication-aad-service-principal?view=azuresql).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread"
"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 {
		exampleDatabase, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		exampleServicePrincipal, err := azuread.LookupServicePrincipal(ctx, &azuread.LookupServicePrincipalArgs{
			DisplayName: pulumi.StringRef("test-application"),
		}, nil)
		if err != nil {
			return err
		}
		exampleAzureadServicePrincipal, err := mssql.NewAzureadServicePrincipal(ctx, "exampleAzureadServicePrincipal", &mssql.AzureadServicePrincipalArgs{
			DatabaseId: *pulumi.String(exampleDatabase.Id),
			ClientId:   *pulumi.String(exampleServicePrincipal.ApplicationId),
		})
		if err != nil {
			return err
		}
		ctx.Export("userId", exampleAzureadServicePrincipal.ID())
		return nil
	})
}

```

## Import

import using <db_id>/<user_id> - can be retrieved using `SELECT CONCAT(DB_ID(), '/', principal_id) FROM sys.database_principals WHERE [name] = '<username>'`

```sh

$ pulumi import mssql:index/azureadServicePrincipal:AzureadServicePrincipal example '7/5'

```

func GetAzureadServicePrincipal

func GetAzureadServicePrincipal(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AzureadServicePrincipalState, opts ...pulumi.ResourceOption) (*AzureadServicePrincipal, error)

GetAzureadServicePrincipal gets an existing AzureadServicePrincipal resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAzureadServicePrincipal

func NewAzureadServicePrincipal(ctx *pulumi.Context,
	name string, args *AzureadServicePrincipalArgs, opts ...pulumi.ResourceOption) (*AzureadServicePrincipal, error)

NewAzureadServicePrincipal registers a new resource with the given unique name, arguments, and options.

func (*AzureadServicePrincipal) ElementType

func (*AzureadServicePrincipal) ElementType() reflect.Type

func (*AzureadServicePrincipal) ToAzureadServicePrincipalOutput

func (i *AzureadServicePrincipal) ToAzureadServicePrincipalOutput() AzureadServicePrincipalOutput

func (*AzureadServicePrincipal) ToAzureadServicePrincipalOutputWithContext

func (i *AzureadServicePrincipal) ToAzureadServicePrincipalOutputWithContext(ctx context.Context) AzureadServicePrincipalOutput

func (*AzureadServicePrincipal) ToOutput added in v0.0.8

type AzureadServicePrincipalArgs

type AzureadServicePrincipalArgs struct {
	// Azure AD clientId of the Service Principal. This can be either regular Service Principal or Managed Service Identity.
	ClientId pulumi.StringInput
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringInput
	// User name. Cannot be longer than 128 chars.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a AzureadServicePrincipal resource.

func (AzureadServicePrincipalArgs) ElementType

type AzureadServicePrincipalArray

type AzureadServicePrincipalArray []AzureadServicePrincipalInput

func (AzureadServicePrincipalArray) ElementType

func (AzureadServicePrincipalArray) ToAzureadServicePrincipalArrayOutput

func (i AzureadServicePrincipalArray) ToAzureadServicePrincipalArrayOutput() AzureadServicePrincipalArrayOutput

func (AzureadServicePrincipalArray) ToAzureadServicePrincipalArrayOutputWithContext

func (i AzureadServicePrincipalArray) ToAzureadServicePrincipalArrayOutputWithContext(ctx context.Context) AzureadServicePrincipalArrayOutput

func (AzureadServicePrincipalArray) ToOutput added in v0.0.8

type AzureadServicePrincipalArrayInput

type AzureadServicePrincipalArrayInput interface {
	pulumi.Input

	ToAzureadServicePrincipalArrayOutput() AzureadServicePrincipalArrayOutput
	ToAzureadServicePrincipalArrayOutputWithContext(context.Context) AzureadServicePrincipalArrayOutput
}

AzureadServicePrincipalArrayInput is an input type that accepts AzureadServicePrincipalArray and AzureadServicePrincipalArrayOutput values. You can construct a concrete instance of `AzureadServicePrincipalArrayInput` via:

AzureadServicePrincipalArray{ AzureadServicePrincipalArgs{...} }

type AzureadServicePrincipalArrayOutput

type AzureadServicePrincipalArrayOutput struct{ *pulumi.OutputState }

func (AzureadServicePrincipalArrayOutput) ElementType

func (AzureadServicePrincipalArrayOutput) Index

func (AzureadServicePrincipalArrayOutput) ToAzureadServicePrincipalArrayOutput

func (o AzureadServicePrincipalArrayOutput) ToAzureadServicePrincipalArrayOutput() AzureadServicePrincipalArrayOutput

func (AzureadServicePrincipalArrayOutput) ToAzureadServicePrincipalArrayOutputWithContext

func (o AzureadServicePrincipalArrayOutput) ToAzureadServicePrincipalArrayOutputWithContext(ctx context.Context) AzureadServicePrincipalArrayOutput

func (AzureadServicePrincipalArrayOutput) ToOutput added in v0.0.8

type AzureadServicePrincipalInput

type AzureadServicePrincipalInput interface {
	pulumi.Input

	ToAzureadServicePrincipalOutput() AzureadServicePrincipalOutput
	ToAzureadServicePrincipalOutputWithContext(ctx context.Context) AzureadServicePrincipalOutput
}

type AzureadServicePrincipalMap

type AzureadServicePrincipalMap map[string]AzureadServicePrincipalInput

func (AzureadServicePrincipalMap) ElementType

func (AzureadServicePrincipalMap) ElementType() reflect.Type

func (AzureadServicePrincipalMap) ToAzureadServicePrincipalMapOutput

func (i AzureadServicePrincipalMap) ToAzureadServicePrincipalMapOutput() AzureadServicePrincipalMapOutput

func (AzureadServicePrincipalMap) ToAzureadServicePrincipalMapOutputWithContext

func (i AzureadServicePrincipalMap) ToAzureadServicePrincipalMapOutputWithContext(ctx context.Context) AzureadServicePrincipalMapOutput

func (AzureadServicePrincipalMap) ToOutput added in v0.0.8

type AzureadServicePrincipalMapInput

type AzureadServicePrincipalMapInput interface {
	pulumi.Input

	ToAzureadServicePrincipalMapOutput() AzureadServicePrincipalMapOutput
	ToAzureadServicePrincipalMapOutputWithContext(context.Context) AzureadServicePrincipalMapOutput
}

AzureadServicePrincipalMapInput is an input type that accepts AzureadServicePrincipalMap and AzureadServicePrincipalMapOutput values. You can construct a concrete instance of `AzureadServicePrincipalMapInput` via:

AzureadServicePrincipalMap{ "key": AzureadServicePrincipalArgs{...} }

type AzureadServicePrincipalMapOutput

type AzureadServicePrincipalMapOutput struct{ *pulumi.OutputState }

func (AzureadServicePrincipalMapOutput) ElementType

func (AzureadServicePrincipalMapOutput) MapIndex

func (AzureadServicePrincipalMapOutput) ToAzureadServicePrincipalMapOutput

func (o AzureadServicePrincipalMapOutput) ToAzureadServicePrincipalMapOutput() AzureadServicePrincipalMapOutput

func (AzureadServicePrincipalMapOutput) ToAzureadServicePrincipalMapOutputWithContext

func (o AzureadServicePrincipalMapOutput) ToAzureadServicePrincipalMapOutputWithContext(ctx context.Context) AzureadServicePrincipalMapOutput

func (AzureadServicePrincipalMapOutput) ToOutput added in v0.0.8

type AzureadServicePrincipalOutput

type AzureadServicePrincipalOutput struct{ *pulumi.OutputState }

func (AzureadServicePrincipalOutput) ClientId

Azure AD clientId of the Service Principal. This can be either regular Service Principal or Managed Service Identity.

func (AzureadServicePrincipalOutput) DatabaseId

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.

func (AzureadServicePrincipalOutput) ElementType

func (AzureadServicePrincipalOutput) Name

User name. Cannot be longer than 128 chars.

func (AzureadServicePrincipalOutput) ToAzureadServicePrincipalOutput

func (o AzureadServicePrincipalOutput) ToAzureadServicePrincipalOutput() AzureadServicePrincipalOutput

func (AzureadServicePrincipalOutput) ToAzureadServicePrincipalOutputWithContext

func (o AzureadServicePrincipalOutput) ToAzureadServicePrincipalOutputWithContext(ctx context.Context) AzureadServicePrincipalOutput

func (AzureadServicePrincipalOutput) ToOutput added in v0.0.8

type AzureadServicePrincipalState

type AzureadServicePrincipalState struct {
	// Azure AD clientId of the Service Principal. This can be either regular Service Principal or Managed Service Identity.
	ClientId pulumi.StringPtrInput
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringPtrInput
	// User name. Cannot be longer than 128 chars.
	Name pulumi.StringPtrInput
}

func (AzureadServicePrincipalState) ElementType

type AzureadUser

type AzureadUser struct {
	pulumi.CustomResourceState

	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringOutput `pulumi:"databaseId"`
	// User name. Cannot be longer than 128 chars.
	Name pulumi.StringOutput `pulumi:"name"`
	// Azure AD objectId of the user. This can be either regular user or a group.
	UserObjectId pulumi.StringOutput `pulumi:"userObjectId"`
}

Managed database-level user mapped to Azure AD identity (user or group).

> **Note** When using this resource, Azure SQL server managed identity does not need any [AzureAD role assignments](https://docs.microsoft.com/en-us/azure/azure-sql/database/authentication-aad-service-principal?view=azuresql).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread"
"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 {
		exampleDatabase, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		exampleUser, err := azuread.LookupUser(ctx, &azuread.LookupUserArgs{
			UserPrincipalName: pulumi.StringRef("user@example.com"),
		}, nil)
		if err != nil {
			return err
		}
		exampleAzureadUser, err := mssql.NewAzureadUser(ctx, "exampleAzureadUser", &mssql.AzureadUserArgs{
			DatabaseId:   *pulumi.String(exampleDatabase.Id),
			UserObjectId: *pulumi.String(exampleUser.ObjectId),
		})
		if err != nil {
			return err
		}
		ctx.Export("userId", exampleAzureadUser.ID())
		return nil
	})
}

```

## Import

import using <db_id>/<user_id> - can be retrieved using `SELECT CONCAT(DB_ID(), '/', principal_id) FROM sys.database_principals WHERE [name] = '<username>'`

```sh

$ pulumi import mssql:index/azureadUser:AzureadUser example '7/5'

```

func GetAzureadUser

func GetAzureadUser(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AzureadUserState, opts ...pulumi.ResourceOption) (*AzureadUser, error)

GetAzureadUser gets an existing AzureadUser resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAzureadUser

func NewAzureadUser(ctx *pulumi.Context,
	name string, args *AzureadUserArgs, opts ...pulumi.ResourceOption) (*AzureadUser, error)

NewAzureadUser registers a new resource with the given unique name, arguments, and options.

func (*AzureadUser) ElementType

func (*AzureadUser) ElementType() reflect.Type

func (*AzureadUser) ToAzureadUserOutput

func (i *AzureadUser) ToAzureadUserOutput() AzureadUserOutput

func (*AzureadUser) ToAzureadUserOutputWithContext

func (i *AzureadUser) ToAzureadUserOutputWithContext(ctx context.Context) AzureadUserOutput

func (*AzureadUser) ToOutput added in v0.0.8

func (i *AzureadUser) ToOutput(ctx context.Context) pulumix.Output[*AzureadUser]

type AzureadUserArgs

type AzureadUserArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringInput
	// User name. Cannot be longer than 128 chars.
	Name pulumi.StringPtrInput
	// Azure AD objectId of the user. This can be either regular user or a group.
	UserObjectId pulumi.StringInput
}

The set of arguments for constructing a AzureadUser resource.

func (AzureadUserArgs) ElementType

func (AzureadUserArgs) ElementType() reflect.Type

type AzureadUserArray

type AzureadUserArray []AzureadUserInput

func (AzureadUserArray) ElementType

func (AzureadUserArray) ElementType() reflect.Type

func (AzureadUserArray) ToAzureadUserArrayOutput

func (i AzureadUserArray) ToAzureadUserArrayOutput() AzureadUserArrayOutput

func (AzureadUserArray) ToAzureadUserArrayOutputWithContext

func (i AzureadUserArray) ToAzureadUserArrayOutputWithContext(ctx context.Context) AzureadUserArrayOutput

func (AzureadUserArray) ToOutput added in v0.0.8

type AzureadUserArrayInput

type AzureadUserArrayInput interface {
	pulumi.Input

	ToAzureadUserArrayOutput() AzureadUserArrayOutput
	ToAzureadUserArrayOutputWithContext(context.Context) AzureadUserArrayOutput
}

AzureadUserArrayInput is an input type that accepts AzureadUserArray and AzureadUserArrayOutput values. You can construct a concrete instance of `AzureadUserArrayInput` via:

AzureadUserArray{ AzureadUserArgs{...} }

type AzureadUserArrayOutput

type AzureadUserArrayOutput struct{ *pulumi.OutputState }

func (AzureadUserArrayOutput) ElementType

func (AzureadUserArrayOutput) ElementType() reflect.Type

func (AzureadUserArrayOutput) Index

func (AzureadUserArrayOutput) ToAzureadUserArrayOutput

func (o AzureadUserArrayOutput) ToAzureadUserArrayOutput() AzureadUserArrayOutput

func (AzureadUserArrayOutput) ToAzureadUserArrayOutputWithContext

func (o AzureadUserArrayOutput) ToAzureadUserArrayOutputWithContext(ctx context.Context) AzureadUserArrayOutput

func (AzureadUserArrayOutput) ToOutput added in v0.0.8

type AzureadUserInput

type AzureadUserInput interface {
	pulumi.Input

	ToAzureadUserOutput() AzureadUserOutput
	ToAzureadUserOutputWithContext(ctx context.Context) AzureadUserOutput
}

type AzureadUserMap

type AzureadUserMap map[string]AzureadUserInput

func (AzureadUserMap) ElementType

func (AzureadUserMap) ElementType() reflect.Type

func (AzureadUserMap) ToAzureadUserMapOutput

func (i AzureadUserMap) ToAzureadUserMapOutput() AzureadUserMapOutput

func (AzureadUserMap) ToAzureadUserMapOutputWithContext

func (i AzureadUserMap) ToAzureadUserMapOutputWithContext(ctx context.Context) AzureadUserMapOutput

func (AzureadUserMap) ToOutput added in v0.0.8

type AzureadUserMapInput

type AzureadUserMapInput interface {
	pulumi.Input

	ToAzureadUserMapOutput() AzureadUserMapOutput
	ToAzureadUserMapOutputWithContext(context.Context) AzureadUserMapOutput
}

AzureadUserMapInput is an input type that accepts AzureadUserMap and AzureadUserMapOutput values. You can construct a concrete instance of `AzureadUserMapInput` via:

AzureadUserMap{ "key": AzureadUserArgs{...} }

type AzureadUserMapOutput

type AzureadUserMapOutput struct{ *pulumi.OutputState }

func (AzureadUserMapOutput) ElementType

func (AzureadUserMapOutput) ElementType() reflect.Type

func (AzureadUserMapOutput) MapIndex

func (AzureadUserMapOutput) ToAzureadUserMapOutput

func (o AzureadUserMapOutput) ToAzureadUserMapOutput() AzureadUserMapOutput

func (AzureadUserMapOutput) ToAzureadUserMapOutputWithContext

func (o AzureadUserMapOutput) ToAzureadUserMapOutputWithContext(ctx context.Context) AzureadUserMapOutput

func (AzureadUserMapOutput) ToOutput added in v0.0.8

type AzureadUserOutput

type AzureadUserOutput struct{ *pulumi.OutputState }

func (AzureadUserOutput) DatabaseId

func (o AzureadUserOutput) DatabaseId() pulumi.StringOutput

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.

func (AzureadUserOutput) ElementType

func (AzureadUserOutput) ElementType() reflect.Type

func (AzureadUserOutput) Name

User name. Cannot be longer than 128 chars.

func (AzureadUserOutput) ToAzureadUserOutput

func (o AzureadUserOutput) ToAzureadUserOutput() AzureadUserOutput

func (AzureadUserOutput) ToAzureadUserOutputWithContext

func (o AzureadUserOutput) ToAzureadUserOutputWithContext(ctx context.Context) AzureadUserOutput

func (AzureadUserOutput) ToOutput added in v0.0.8

func (AzureadUserOutput) UserObjectId

func (o AzureadUserOutput) UserObjectId() pulumi.StringOutput

Azure AD objectId of the user. This can be either regular user or a group.

type AzureadUserState

type AzureadUserState struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringPtrInput
	// User name. Cannot be longer than 128 chars.
	Name pulumi.StringPtrInput
	// Azure AD objectId of the user. This can be either regular user or a group.
	UserObjectId pulumi.StringPtrInput
}

func (AzureadUserState) ElementType

func (AzureadUserState) ElementType() reflect.Type

type Database

type Database struct {
	pulumi.CustomResourceState

	// Default collation name. Can be either a Windows collation name or a SQL collation name. Defaults to SQL Server instance's default collation.
	Collation pulumi.StringOutput `pulumi:"collation"`
	// Database name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers).
	Name pulumi.StringOutput `pulumi:"name"`
}

Manages single database.

## Example Usage

```go package main

import (

"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 {
		_, err := mssql.NewDatabase(ctx, "example", &mssql.DatabaseArgs{
			Collation: pulumi.String("SQL_Latin1_General_CP1_CS_AS"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

import using database ID - can be retrieved using `SELECT DB_ID('<db_name>')`

```sh

$ pulumi import mssql:index/database:Database example 12

```

func GetDatabase

func GetDatabase(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatabaseState, opts ...pulumi.ResourceOption) (*Database, error)

GetDatabase gets an existing Database resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDatabase

func NewDatabase(ctx *pulumi.Context,
	name string, args *DatabaseArgs, opts ...pulumi.ResourceOption) (*Database, error)

NewDatabase registers a new resource with the given unique name, arguments, and options.

func (*Database) ElementType

func (*Database) ElementType() reflect.Type

func (*Database) ToDatabaseOutput

func (i *Database) ToDatabaseOutput() DatabaseOutput

func (*Database) ToDatabaseOutputWithContext

func (i *Database) ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput

func (*Database) ToOutput added in v0.0.8

func (i *Database) ToOutput(ctx context.Context) pulumix.Output[*Database]

type DatabaseArgs

type DatabaseArgs struct {
	// Default collation name. Can be either a Windows collation name or a SQL collation name. Defaults to SQL Server instance's default collation.
	Collation pulumi.StringPtrInput
	// Database name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers).
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a Database resource.

func (DatabaseArgs) ElementType

func (DatabaseArgs) ElementType() reflect.Type

type DatabaseArray

type DatabaseArray []DatabaseInput

func (DatabaseArray) ElementType

func (DatabaseArray) ElementType() reflect.Type

func (DatabaseArray) ToDatabaseArrayOutput

func (i DatabaseArray) ToDatabaseArrayOutput() DatabaseArrayOutput

func (DatabaseArray) ToDatabaseArrayOutputWithContext

func (i DatabaseArray) ToDatabaseArrayOutputWithContext(ctx context.Context) DatabaseArrayOutput

func (DatabaseArray) ToOutput added in v0.0.8

func (i DatabaseArray) ToOutput(ctx context.Context) pulumix.Output[[]*Database]

type DatabaseArrayInput

type DatabaseArrayInput interface {
	pulumi.Input

	ToDatabaseArrayOutput() DatabaseArrayOutput
	ToDatabaseArrayOutputWithContext(context.Context) DatabaseArrayOutput
}

DatabaseArrayInput is an input type that accepts DatabaseArray and DatabaseArrayOutput values. You can construct a concrete instance of `DatabaseArrayInput` via:

DatabaseArray{ DatabaseArgs{...} }

type DatabaseArrayOutput

type DatabaseArrayOutput struct{ *pulumi.OutputState }

func (DatabaseArrayOutput) ElementType

func (DatabaseArrayOutput) ElementType() reflect.Type

func (DatabaseArrayOutput) Index

func (DatabaseArrayOutput) ToDatabaseArrayOutput

func (o DatabaseArrayOutput) ToDatabaseArrayOutput() DatabaseArrayOutput

func (DatabaseArrayOutput) ToDatabaseArrayOutputWithContext

func (o DatabaseArrayOutput) ToDatabaseArrayOutputWithContext(ctx context.Context) DatabaseArrayOutput

func (DatabaseArrayOutput) ToOutput added in v0.0.8

type DatabaseInput

type DatabaseInput interface {
	pulumi.Input

	ToDatabaseOutput() DatabaseOutput
	ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput
}

type DatabaseMap

type DatabaseMap map[string]DatabaseInput

func (DatabaseMap) ElementType

func (DatabaseMap) ElementType() reflect.Type

func (DatabaseMap) ToDatabaseMapOutput

func (i DatabaseMap) ToDatabaseMapOutput() DatabaseMapOutput

func (DatabaseMap) ToDatabaseMapOutputWithContext

func (i DatabaseMap) ToDatabaseMapOutputWithContext(ctx context.Context) DatabaseMapOutput

func (DatabaseMap) ToOutput added in v0.0.8

func (i DatabaseMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Database]

type DatabaseMapInput

type DatabaseMapInput interface {
	pulumi.Input

	ToDatabaseMapOutput() DatabaseMapOutput
	ToDatabaseMapOutputWithContext(context.Context) DatabaseMapOutput
}

DatabaseMapInput is an input type that accepts DatabaseMap and DatabaseMapOutput values. You can construct a concrete instance of `DatabaseMapInput` via:

DatabaseMap{ "key": DatabaseArgs{...} }

type DatabaseMapOutput

type DatabaseMapOutput struct{ *pulumi.OutputState }

func (DatabaseMapOutput) ElementType

func (DatabaseMapOutput) ElementType() reflect.Type

func (DatabaseMapOutput) MapIndex

func (DatabaseMapOutput) ToDatabaseMapOutput

func (o DatabaseMapOutput) ToDatabaseMapOutput() DatabaseMapOutput

func (DatabaseMapOutput) ToDatabaseMapOutputWithContext

func (o DatabaseMapOutput) ToDatabaseMapOutputWithContext(ctx context.Context) DatabaseMapOutput

func (DatabaseMapOutput) ToOutput added in v0.0.8

type DatabaseOutput

type DatabaseOutput struct{ *pulumi.OutputState }

func (DatabaseOutput) Collation

func (o DatabaseOutput) Collation() pulumi.StringOutput

Default collation name. Can be either a Windows collation name or a SQL collation name. Defaults to SQL Server instance's default collation.

func (DatabaseOutput) ElementType

func (DatabaseOutput) ElementType() reflect.Type

func (DatabaseOutput) ToDatabaseOutput

func (o DatabaseOutput) ToDatabaseOutput() DatabaseOutput

func (DatabaseOutput) ToDatabaseOutputWithContext

func (o DatabaseOutput) ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput

func (DatabaseOutput) ToOutput added in v0.0.8

type DatabasePermission

type DatabasePermission struct {
	pulumi.CustomResourceState

	// Name of database-level SQL permission. For full list of supported permissions, see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-database-permissions-transact-sql?view=azuresqldb-current#remarks)
	Permission pulumi.StringOutput `pulumi:"permission"`
	// `<database_id>/<principal_id>`. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`.
	PrincipalId pulumi.StringOutput `pulumi:"principalId"`
	// When set to `true`, `principalId` will be allowed to grant the `permission` to other principals. Defaults to `false`.
	WithGrantOption pulumi.BoolOutput `pulumi:"withGrantOption"`
}

Grants database-level permission.

## Example Usage

```go package main

import (

"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 {
		exampleDatabase, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		exampleSqlUser, err := mssql.LookupSqlUser(ctx, &mssql.LookupSqlUserArgs{
			Name:       "example_user",
			DatabaseId: pulumi.StringRef(exampleDatabase.Id),
		}, nil)
		if err != nil {
			return err
		}
		_, err = mssql.NewDatabasePermission(ctx, "deleteToExample", &mssql.DatabasePermissionArgs{
			PrincipalId: *pulumi.String(exampleSqlUser.Id),
			Permission:  pulumi.String("DELETE"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

import using <db_id>/<principal_id>/<permission> - can be retrieved using `SELECT CONCAT(DB_ID(), '/', DATABASE_PRINCIPAL_ID('<principal_name>'), '/DELETE')`

```sh

$ pulumi import mssql:index/databasePermission:DatabasePermission example '7/5/DELETE'

```

func GetDatabasePermission

func GetDatabasePermission(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatabasePermissionState, opts ...pulumi.ResourceOption) (*DatabasePermission, error)

GetDatabasePermission gets an existing DatabasePermission resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDatabasePermission

func NewDatabasePermission(ctx *pulumi.Context,
	name string, args *DatabasePermissionArgs, opts ...pulumi.ResourceOption) (*DatabasePermission, error)

NewDatabasePermission registers a new resource with the given unique name, arguments, and options.

func (*DatabasePermission) ElementType

func (*DatabasePermission) ElementType() reflect.Type

func (*DatabasePermission) ToDatabasePermissionOutput

func (i *DatabasePermission) ToDatabasePermissionOutput() DatabasePermissionOutput

func (*DatabasePermission) ToDatabasePermissionOutputWithContext

func (i *DatabasePermission) ToDatabasePermissionOutputWithContext(ctx context.Context) DatabasePermissionOutput

func (*DatabasePermission) ToOutput added in v0.0.8

type DatabasePermissionArgs

type DatabasePermissionArgs struct {
	// Name of database-level SQL permission. For full list of supported permissions, see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-database-permissions-transact-sql?view=azuresqldb-current#remarks)
	Permission pulumi.StringInput
	// `<database_id>/<principal_id>`. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`.
	PrincipalId pulumi.StringInput
	// When set to `true`, `principalId` will be allowed to grant the `permission` to other principals. Defaults to `false`.
	WithGrantOption pulumi.BoolPtrInput
}

The set of arguments for constructing a DatabasePermission resource.

func (DatabasePermissionArgs) ElementType

func (DatabasePermissionArgs) ElementType() reflect.Type

type DatabasePermissionArray

type DatabasePermissionArray []DatabasePermissionInput

func (DatabasePermissionArray) ElementType

func (DatabasePermissionArray) ElementType() reflect.Type

func (DatabasePermissionArray) ToDatabasePermissionArrayOutput

func (i DatabasePermissionArray) ToDatabasePermissionArrayOutput() DatabasePermissionArrayOutput

func (DatabasePermissionArray) ToDatabasePermissionArrayOutputWithContext

func (i DatabasePermissionArray) ToDatabasePermissionArrayOutputWithContext(ctx context.Context) DatabasePermissionArrayOutput

func (DatabasePermissionArray) ToOutput added in v0.0.8

type DatabasePermissionArrayInput

type DatabasePermissionArrayInput interface {
	pulumi.Input

	ToDatabasePermissionArrayOutput() DatabasePermissionArrayOutput
	ToDatabasePermissionArrayOutputWithContext(context.Context) DatabasePermissionArrayOutput
}

DatabasePermissionArrayInput is an input type that accepts DatabasePermissionArray and DatabasePermissionArrayOutput values. You can construct a concrete instance of `DatabasePermissionArrayInput` via:

DatabasePermissionArray{ DatabasePermissionArgs{...} }

type DatabasePermissionArrayOutput

type DatabasePermissionArrayOutput struct{ *pulumi.OutputState }

func (DatabasePermissionArrayOutput) ElementType

func (DatabasePermissionArrayOutput) Index

func (DatabasePermissionArrayOutput) ToDatabasePermissionArrayOutput

func (o DatabasePermissionArrayOutput) ToDatabasePermissionArrayOutput() DatabasePermissionArrayOutput

func (DatabasePermissionArrayOutput) ToDatabasePermissionArrayOutputWithContext

func (o DatabasePermissionArrayOutput) ToDatabasePermissionArrayOutputWithContext(ctx context.Context) DatabasePermissionArrayOutput

func (DatabasePermissionArrayOutput) ToOutput added in v0.0.8

type DatabasePermissionInput

type DatabasePermissionInput interface {
	pulumi.Input

	ToDatabasePermissionOutput() DatabasePermissionOutput
	ToDatabasePermissionOutputWithContext(ctx context.Context) DatabasePermissionOutput
}

type DatabasePermissionMap

type DatabasePermissionMap map[string]DatabasePermissionInput

func (DatabasePermissionMap) ElementType

func (DatabasePermissionMap) ElementType() reflect.Type

func (DatabasePermissionMap) ToDatabasePermissionMapOutput

func (i DatabasePermissionMap) ToDatabasePermissionMapOutput() DatabasePermissionMapOutput

func (DatabasePermissionMap) ToDatabasePermissionMapOutputWithContext

func (i DatabasePermissionMap) ToDatabasePermissionMapOutputWithContext(ctx context.Context) DatabasePermissionMapOutput

func (DatabasePermissionMap) ToOutput added in v0.0.8

type DatabasePermissionMapInput

type DatabasePermissionMapInput interface {
	pulumi.Input

	ToDatabasePermissionMapOutput() DatabasePermissionMapOutput
	ToDatabasePermissionMapOutputWithContext(context.Context) DatabasePermissionMapOutput
}

DatabasePermissionMapInput is an input type that accepts DatabasePermissionMap and DatabasePermissionMapOutput values. You can construct a concrete instance of `DatabasePermissionMapInput` via:

DatabasePermissionMap{ "key": DatabasePermissionArgs{...} }

type DatabasePermissionMapOutput

type DatabasePermissionMapOutput struct{ *pulumi.OutputState }

func (DatabasePermissionMapOutput) ElementType

func (DatabasePermissionMapOutput) MapIndex

func (DatabasePermissionMapOutput) ToDatabasePermissionMapOutput

func (o DatabasePermissionMapOutput) ToDatabasePermissionMapOutput() DatabasePermissionMapOutput

func (DatabasePermissionMapOutput) ToDatabasePermissionMapOutputWithContext

func (o DatabasePermissionMapOutput) ToDatabasePermissionMapOutputWithContext(ctx context.Context) DatabasePermissionMapOutput

func (DatabasePermissionMapOutput) ToOutput added in v0.0.8

type DatabasePermissionOutput

type DatabasePermissionOutput struct{ *pulumi.OutputState }

func (DatabasePermissionOutput) ElementType

func (DatabasePermissionOutput) ElementType() reflect.Type

func (DatabasePermissionOutput) Permission

Name of database-level SQL permission. For full list of supported permissions, see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-database-permissions-transact-sql?view=azuresqldb-current#remarks)

func (DatabasePermissionOutput) PrincipalId

`<database_id>/<principal_id>`. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`.

func (DatabasePermissionOutput) ToDatabasePermissionOutput

func (o DatabasePermissionOutput) ToDatabasePermissionOutput() DatabasePermissionOutput

func (DatabasePermissionOutput) ToDatabasePermissionOutputWithContext

func (o DatabasePermissionOutput) ToDatabasePermissionOutputWithContext(ctx context.Context) DatabasePermissionOutput

func (DatabasePermissionOutput) ToOutput added in v0.0.8

func (DatabasePermissionOutput) WithGrantOption

func (o DatabasePermissionOutput) WithGrantOption() pulumi.BoolOutput

When set to `true`, `principalId` will be allowed to grant the `permission` to other principals. Defaults to `false`.

type DatabasePermissionState

type DatabasePermissionState struct {
	// Name of database-level SQL permission. For full list of supported permissions, see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-database-permissions-transact-sql?view=azuresqldb-current#remarks)
	Permission pulumi.StringPtrInput
	// `<database_id>/<principal_id>`. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`.
	PrincipalId pulumi.StringPtrInput
	// When set to `true`, `principalId` will be allowed to grant the `permission` to other principals. Defaults to `false`.
	WithGrantOption pulumi.BoolPtrInput
}

func (DatabasePermissionState) ElementType

func (DatabasePermissionState) ElementType() reflect.Type

type DatabaseRole

type DatabaseRole struct {
	pulumi.CustomResourceState

	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.
	DatabaseId pulumi.StringOutput `pulumi:"databaseId"`
	// Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars.
	Name pulumi.StringOutput `pulumi:"name"`
	// ID of another database role or user owning this role. Can be retrieved using `mssql_database_role` or `mssql_sql_user`.
	// Defaults to ID of current user, used to authorize the Terraform provider.
	OwnerId pulumi.StringOutput `pulumi:"ownerId"`
}

Manages database-level role.

## Example Usage

```go package main

import (

"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 {
		exampleDatabase, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		owner, err := mssql.LookupSqlUser(ctx, &mssql.LookupSqlUserArgs{
			Name: "example_user",
		}, nil)
		if err != nil {
			return err
		}
		_, err = mssql.NewDatabaseRole(ctx, "exampleDatabaseRole", &mssql.DatabaseRoleArgs{
			DatabaseId: *pulumi.String(exampleDatabase.Id),
			OwnerId:    *pulumi.String(owner.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

import using <db_id>/<role_id> - can be retrieved using `SELECT CONCAT(DB_ID(), '/', DATABASE_PRINCIPAL_ID('<role_name>'))`

```sh

$ pulumi import mssql:index/databaseRole:DatabaseRole example '7/5'

```

func GetDatabaseRole

func GetDatabaseRole(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatabaseRoleState, opts ...pulumi.ResourceOption) (*DatabaseRole, error)

GetDatabaseRole gets an existing DatabaseRole resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDatabaseRole

func NewDatabaseRole(ctx *pulumi.Context,
	name string, args *DatabaseRoleArgs, opts ...pulumi.ResourceOption) (*DatabaseRole, error)

NewDatabaseRole registers a new resource with the given unique name, arguments, and options.

func (*DatabaseRole) ElementType

func (*DatabaseRole) ElementType() reflect.Type

func (*DatabaseRole) ToDatabaseRoleOutput

func (i *DatabaseRole) ToDatabaseRoleOutput() DatabaseRoleOutput

func (*DatabaseRole) ToDatabaseRoleOutputWithContext

func (i *DatabaseRole) ToDatabaseRoleOutputWithContext(ctx context.Context) DatabaseRoleOutput

func (*DatabaseRole) ToOutput added in v0.0.8

type DatabaseRoleArgs

type DatabaseRoleArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.
	DatabaseId pulumi.StringPtrInput
	// Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars.
	Name pulumi.StringPtrInput
	// ID of another database role or user owning this role. Can be retrieved using `mssql_database_role` or `mssql_sql_user`.
	// Defaults to ID of current user, used to authorize the Terraform provider.
	OwnerId pulumi.StringPtrInput
}

The set of arguments for constructing a DatabaseRole resource.

func (DatabaseRoleArgs) ElementType

func (DatabaseRoleArgs) ElementType() reflect.Type

type DatabaseRoleArray

type DatabaseRoleArray []DatabaseRoleInput

func (DatabaseRoleArray) ElementType

func (DatabaseRoleArray) ElementType() reflect.Type

func (DatabaseRoleArray) ToDatabaseRoleArrayOutput

func (i DatabaseRoleArray) ToDatabaseRoleArrayOutput() DatabaseRoleArrayOutput

func (DatabaseRoleArray) ToDatabaseRoleArrayOutputWithContext

func (i DatabaseRoleArray) ToDatabaseRoleArrayOutputWithContext(ctx context.Context) DatabaseRoleArrayOutput

func (DatabaseRoleArray) ToOutput added in v0.0.8

type DatabaseRoleArrayInput

type DatabaseRoleArrayInput interface {
	pulumi.Input

	ToDatabaseRoleArrayOutput() DatabaseRoleArrayOutput
	ToDatabaseRoleArrayOutputWithContext(context.Context) DatabaseRoleArrayOutput
}

DatabaseRoleArrayInput is an input type that accepts DatabaseRoleArray and DatabaseRoleArrayOutput values. You can construct a concrete instance of `DatabaseRoleArrayInput` via:

DatabaseRoleArray{ DatabaseRoleArgs{...} }

type DatabaseRoleArrayOutput

type DatabaseRoleArrayOutput struct{ *pulumi.OutputState }

func (DatabaseRoleArrayOutput) ElementType

func (DatabaseRoleArrayOutput) ElementType() reflect.Type

func (DatabaseRoleArrayOutput) Index

func (DatabaseRoleArrayOutput) ToDatabaseRoleArrayOutput

func (o DatabaseRoleArrayOutput) ToDatabaseRoleArrayOutput() DatabaseRoleArrayOutput

func (DatabaseRoleArrayOutput) ToDatabaseRoleArrayOutputWithContext

func (o DatabaseRoleArrayOutput) ToDatabaseRoleArrayOutputWithContext(ctx context.Context) DatabaseRoleArrayOutput

func (DatabaseRoleArrayOutput) ToOutput added in v0.0.8

type DatabaseRoleInput

type DatabaseRoleInput interface {
	pulumi.Input

	ToDatabaseRoleOutput() DatabaseRoleOutput
	ToDatabaseRoleOutputWithContext(ctx context.Context) DatabaseRoleOutput
}

type DatabaseRoleMap

type DatabaseRoleMap map[string]DatabaseRoleInput

func (DatabaseRoleMap) ElementType

func (DatabaseRoleMap) ElementType() reflect.Type

func (DatabaseRoleMap) ToDatabaseRoleMapOutput

func (i DatabaseRoleMap) ToDatabaseRoleMapOutput() DatabaseRoleMapOutput

func (DatabaseRoleMap) ToDatabaseRoleMapOutputWithContext

func (i DatabaseRoleMap) ToDatabaseRoleMapOutputWithContext(ctx context.Context) DatabaseRoleMapOutput

func (DatabaseRoleMap) ToOutput added in v0.0.8

type DatabaseRoleMapInput

type DatabaseRoleMapInput interface {
	pulumi.Input

	ToDatabaseRoleMapOutput() DatabaseRoleMapOutput
	ToDatabaseRoleMapOutputWithContext(context.Context) DatabaseRoleMapOutput
}

DatabaseRoleMapInput is an input type that accepts DatabaseRoleMap and DatabaseRoleMapOutput values. You can construct a concrete instance of `DatabaseRoleMapInput` via:

DatabaseRoleMap{ "key": DatabaseRoleArgs{...} }

type DatabaseRoleMapOutput

type DatabaseRoleMapOutput struct{ *pulumi.OutputState }

func (DatabaseRoleMapOutput) ElementType

func (DatabaseRoleMapOutput) ElementType() reflect.Type

func (DatabaseRoleMapOutput) MapIndex

func (DatabaseRoleMapOutput) ToDatabaseRoleMapOutput

func (o DatabaseRoleMapOutput) ToDatabaseRoleMapOutput() DatabaseRoleMapOutput

func (DatabaseRoleMapOutput) ToDatabaseRoleMapOutputWithContext

func (o DatabaseRoleMapOutput) ToDatabaseRoleMapOutputWithContext(ctx context.Context) DatabaseRoleMapOutput

func (DatabaseRoleMapOutput) ToOutput added in v0.0.8

type DatabaseRoleMember

type DatabaseRoleMember struct {
	pulumi.CustomResourceState

	// Can be either user or role ID in format `<database_id>/<member_id>`. Can be retrieved using `SqlUser` or `mssqlDatabaseMember`.
	MemberId pulumi.StringOutput `pulumi:"memberId"`
	// `<database_id>/<role_id>`
	RoleId pulumi.StringOutput `pulumi:"roleId"`
}

Manages database role membership.

## Example Usage

```go package main

import (

"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 {
		exampleDatabase, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		owner, err := mssql.LookupSqlUser(ctx, &mssql.LookupSqlUserArgs{
			Name:       "example_user",
			DatabaseId: pulumi.StringRef(exampleDatabase.Id),
		}, nil)
		if err != nil {
			return err
		}
		member, err := mssql.LookupSqlUser(ctx, &mssql.LookupSqlUserArgs{
			Name:       "member_user",
			DatabaseId: pulumi.StringRef(exampleDatabase.Id),
		}, nil)
		if err != nil {
			return err
		}
		exampleDatabaseRole, err := mssql.NewDatabaseRole(ctx, "exampleDatabaseRole", &mssql.DatabaseRoleArgs{
			DatabaseId: *pulumi.String(exampleDatabase.Id),
			OwnerId:    *pulumi.String(owner.Id),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewDatabaseRoleMember(ctx, "exampleDatabaseRoleMember", &mssql.DatabaseRoleMemberArgs{
			RoleId:   exampleDatabaseRole.ID(),
			MemberId: *pulumi.String(member.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

import using <db_id>/<role_id> - can be retrieved using `SELECT CONCAT(DB_ID(), '/', DATABASE_PRINCIPAL_ID('<role_name>'), '/', DATABASE_PRINCIPAL_ID('<member_name'))`

```sh

$ pulumi import mssql:index/databaseRoleMember:DatabaseRoleMember example '7/5/9'

```

func GetDatabaseRoleMember

func GetDatabaseRoleMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatabaseRoleMemberState, opts ...pulumi.ResourceOption) (*DatabaseRoleMember, error)

GetDatabaseRoleMember gets an existing DatabaseRoleMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDatabaseRoleMember

func NewDatabaseRoleMember(ctx *pulumi.Context,
	name string, args *DatabaseRoleMemberArgs, opts ...pulumi.ResourceOption) (*DatabaseRoleMember, error)

NewDatabaseRoleMember registers a new resource with the given unique name, arguments, and options.

func (*DatabaseRoleMember) ElementType

func (*DatabaseRoleMember) ElementType() reflect.Type

func (*DatabaseRoleMember) ToDatabaseRoleMemberOutput

func (i *DatabaseRoleMember) ToDatabaseRoleMemberOutput() DatabaseRoleMemberOutput

func (*DatabaseRoleMember) ToDatabaseRoleMemberOutputWithContext

func (i *DatabaseRoleMember) ToDatabaseRoleMemberOutputWithContext(ctx context.Context) DatabaseRoleMemberOutput

func (*DatabaseRoleMember) ToOutput added in v0.0.8

type DatabaseRoleMemberArgs

type DatabaseRoleMemberArgs struct {
	// Can be either user or role ID in format `<database_id>/<member_id>`. Can be retrieved using `SqlUser` or `mssqlDatabaseMember`.
	MemberId pulumi.StringInput
	// `<database_id>/<role_id>`
	RoleId pulumi.StringInput
}

The set of arguments for constructing a DatabaseRoleMember resource.

func (DatabaseRoleMemberArgs) ElementType

func (DatabaseRoleMemberArgs) ElementType() reflect.Type

type DatabaseRoleMemberArray

type DatabaseRoleMemberArray []DatabaseRoleMemberInput

func (DatabaseRoleMemberArray) ElementType

func (DatabaseRoleMemberArray) ElementType() reflect.Type

func (DatabaseRoleMemberArray) ToDatabaseRoleMemberArrayOutput

func (i DatabaseRoleMemberArray) ToDatabaseRoleMemberArrayOutput() DatabaseRoleMemberArrayOutput

func (DatabaseRoleMemberArray) ToDatabaseRoleMemberArrayOutputWithContext

func (i DatabaseRoleMemberArray) ToDatabaseRoleMemberArrayOutputWithContext(ctx context.Context) DatabaseRoleMemberArrayOutput

func (DatabaseRoleMemberArray) ToOutput added in v0.0.8

type DatabaseRoleMemberArrayInput

type DatabaseRoleMemberArrayInput interface {
	pulumi.Input

	ToDatabaseRoleMemberArrayOutput() DatabaseRoleMemberArrayOutput
	ToDatabaseRoleMemberArrayOutputWithContext(context.Context) DatabaseRoleMemberArrayOutput
}

DatabaseRoleMemberArrayInput is an input type that accepts DatabaseRoleMemberArray and DatabaseRoleMemberArrayOutput values. You can construct a concrete instance of `DatabaseRoleMemberArrayInput` via:

DatabaseRoleMemberArray{ DatabaseRoleMemberArgs{...} }

type DatabaseRoleMemberArrayOutput

type DatabaseRoleMemberArrayOutput struct{ *pulumi.OutputState }

func (DatabaseRoleMemberArrayOutput) ElementType

func (DatabaseRoleMemberArrayOutput) Index

func (DatabaseRoleMemberArrayOutput) ToDatabaseRoleMemberArrayOutput

func (o DatabaseRoleMemberArrayOutput) ToDatabaseRoleMemberArrayOutput() DatabaseRoleMemberArrayOutput

func (DatabaseRoleMemberArrayOutput) ToDatabaseRoleMemberArrayOutputWithContext

func (o DatabaseRoleMemberArrayOutput) ToDatabaseRoleMemberArrayOutputWithContext(ctx context.Context) DatabaseRoleMemberArrayOutput

func (DatabaseRoleMemberArrayOutput) ToOutput added in v0.0.8

type DatabaseRoleMemberInput

type DatabaseRoleMemberInput interface {
	pulumi.Input

	ToDatabaseRoleMemberOutput() DatabaseRoleMemberOutput
	ToDatabaseRoleMemberOutputWithContext(ctx context.Context) DatabaseRoleMemberOutput
}

type DatabaseRoleMemberMap

type DatabaseRoleMemberMap map[string]DatabaseRoleMemberInput

func (DatabaseRoleMemberMap) ElementType

func (DatabaseRoleMemberMap) ElementType() reflect.Type

func (DatabaseRoleMemberMap) ToDatabaseRoleMemberMapOutput

func (i DatabaseRoleMemberMap) ToDatabaseRoleMemberMapOutput() DatabaseRoleMemberMapOutput

func (DatabaseRoleMemberMap) ToDatabaseRoleMemberMapOutputWithContext

func (i DatabaseRoleMemberMap) ToDatabaseRoleMemberMapOutputWithContext(ctx context.Context) DatabaseRoleMemberMapOutput

func (DatabaseRoleMemberMap) ToOutput added in v0.0.8

type DatabaseRoleMemberMapInput

type DatabaseRoleMemberMapInput interface {
	pulumi.Input

	ToDatabaseRoleMemberMapOutput() DatabaseRoleMemberMapOutput
	ToDatabaseRoleMemberMapOutputWithContext(context.Context) DatabaseRoleMemberMapOutput
}

DatabaseRoleMemberMapInput is an input type that accepts DatabaseRoleMemberMap and DatabaseRoleMemberMapOutput values. You can construct a concrete instance of `DatabaseRoleMemberMapInput` via:

DatabaseRoleMemberMap{ "key": DatabaseRoleMemberArgs{...} }

type DatabaseRoleMemberMapOutput

type DatabaseRoleMemberMapOutput struct{ *pulumi.OutputState }

func (DatabaseRoleMemberMapOutput) ElementType

func (DatabaseRoleMemberMapOutput) MapIndex

func (DatabaseRoleMemberMapOutput) ToDatabaseRoleMemberMapOutput

func (o DatabaseRoleMemberMapOutput) ToDatabaseRoleMemberMapOutput() DatabaseRoleMemberMapOutput

func (DatabaseRoleMemberMapOutput) ToDatabaseRoleMemberMapOutputWithContext

func (o DatabaseRoleMemberMapOutput) ToDatabaseRoleMemberMapOutputWithContext(ctx context.Context) DatabaseRoleMemberMapOutput

func (DatabaseRoleMemberMapOutput) ToOutput added in v0.0.8

type DatabaseRoleMemberOutput

type DatabaseRoleMemberOutput struct{ *pulumi.OutputState }

func (DatabaseRoleMemberOutput) ElementType

func (DatabaseRoleMemberOutput) ElementType() reflect.Type

func (DatabaseRoleMemberOutput) MemberId

Can be either user or role ID in format `<database_id>/<member_id>`. Can be retrieved using `SqlUser` or `mssqlDatabaseMember`.

func (DatabaseRoleMemberOutput) RoleId

`<database_id>/<role_id>`

func (DatabaseRoleMemberOutput) ToDatabaseRoleMemberOutput

func (o DatabaseRoleMemberOutput) ToDatabaseRoleMemberOutput() DatabaseRoleMemberOutput

func (DatabaseRoleMemberOutput) ToDatabaseRoleMemberOutputWithContext

func (o DatabaseRoleMemberOutput) ToDatabaseRoleMemberOutputWithContext(ctx context.Context) DatabaseRoleMemberOutput

func (DatabaseRoleMemberOutput) ToOutput added in v0.0.8

type DatabaseRoleMemberState

type DatabaseRoleMemberState struct {
	// Can be either user or role ID in format `<database_id>/<member_id>`. Can be retrieved using `SqlUser` or `mssqlDatabaseMember`.
	MemberId pulumi.StringPtrInput
	// `<database_id>/<role_id>`
	RoleId pulumi.StringPtrInput
}

func (DatabaseRoleMemberState) ElementType

func (DatabaseRoleMemberState) ElementType() reflect.Type

type DatabaseRoleOutput

type DatabaseRoleOutput struct{ *pulumi.OutputState }

func (DatabaseRoleOutput) DatabaseId

func (o DatabaseRoleOutput) DatabaseId() pulumi.StringOutput

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.

func (DatabaseRoleOutput) ElementType

func (DatabaseRoleOutput) ElementType() reflect.Type

func (DatabaseRoleOutput) Name

Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars.

func (DatabaseRoleOutput) OwnerId

ID of another database role or user owning this role. Can be retrieved using `mssql_database_role` or `mssql_sql_user`. Defaults to ID of current user, used to authorize the Terraform provider.

func (DatabaseRoleOutput) ToDatabaseRoleOutput

func (o DatabaseRoleOutput) ToDatabaseRoleOutput() DatabaseRoleOutput

func (DatabaseRoleOutput) ToDatabaseRoleOutputWithContext

func (o DatabaseRoleOutput) ToDatabaseRoleOutputWithContext(ctx context.Context) DatabaseRoleOutput

func (DatabaseRoleOutput) ToOutput added in v0.0.8

type DatabaseRoleState

type DatabaseRoleState struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.
	DatabaseId pulumi.StringPtrInput
	// Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars.
	Name pulumi.StringPtrInput
	// ID of another database role or user owning this role. Can be retrieved using `mssql_database_role` or `mssql_sql_user`.
	// Defaults to ID of current user, used to authorize the Terraform provider.
	OwnerId pulumi.StringPtrInput
}

func (DatabaseRoleState) ElementType

func (DatabaseRoleState) ElementType() reflect.Type

type DatabaseState

type DatabaseState struct {
	// Default collation name. Can be either a Windows collation name or a SQL collation name. Defaults to SQL Server instance's default collation.
	Collation pulumi.StringPtrInput
	// Database name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers).
	Name pulumi.StringPtrInput
}

func (DatabaseState) ElementType

func (DatabaseState) ElementType() reflect.Type

type GetDatabasePermissionsArgs

type GetDatabasePermissionsArgs struct {
	// `<database_id>/<principal_id>`. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`.
	PrincipalId string `pulumi:"principalId"`
}

A collection of arguments for invoking getDatabasePermissions.

type GetDatabasePermissionsOutputArgs

type GetDatabasePermissionsOutputArgs struct {
	// `<database_id>/<principal_id>`. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`.
	PrincipalId pulumi.StringInput `pulumi:"principalId"`
}

A collection of arguments for invoking getDatabasePermissions.

func (GetDatabasePermissionsOutputArgs) ElementType

type GetDatabasePermissionsPermission

type GetDatabasePermissionsPermission struct {
	// Name of database-level SQL permission. For full list of supported permissions, see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-database-permissions-transact-sql?view=azuresqldb-current#remarks)
	Permission string `pulumi:"permission"`
	// When set to `true`, `principalId` will be allowed to grant the `permission` to other principals.
	WithGrantOption bool `pulumi:"withGrantOption"`
}

type GetDatabasePermissionsPermissionArgs

type GetDatabasePermissionsPermissionArgs struct {
	// Name of database-level SQL permission. For full list of supported permissions, see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-database-permissions-transact-sql?view=azuresqldb-current#remarks)
	Permission pulumi.StringInput `pulumi:"permission"`
	// When set to `true`, `principalId` will be allowed to grant the `permission` to other principals.
	WithGrantOption pulumi.BoolInput `pulumi:"withGrantOption"`
}

func (GetDatabasePermissionsPermissionArgs) ElementType

func (GetDatabasePermissionsPermissionArgs) ToGetDatabasePermissionsPermissionOutput

func (i GetDatabasePermissionsPermissionArgs) ToGetDatabasePermissionsPermissionOutput() GetDatabasePermissionsPermissionOutput

func (GetDatabasePermissionsPermissionArgs) ToGetDatabasePermissionsPermissionOutputWithContext

func (i GetDatabasePermissionsPermissionArgs) ToGetDatabasePermissionsPermissionOutputWithContext(ctx context.Context) GetDatabasePermissionsPermissionOutput

func (GetDatabasePermissionsPermissionArgs) ToOutput added in v0.0.8

type GetDatabasePermissionsPermissionArray

type GetDatabasePermissionsPermissionArray []GetDatabasePermissionsPermissionInput

func (GetDatabasePermissionsPermissionArray) ElementType

func (GetDatabasePermissionsPermissionArray) ToGetDatabasePermissionsPermissionArrayOutput

func (i GetDatabasePermissionsPermissionArray) ToGetDatabasePermissionsPermissionArrayOutput() GetDatabasePermissionsPermissionArrayOutput

func (GetDatabasePermissionsPermissionArray) ToGetDatabasePermissionsPermissionArrayOutputWithContext

func (i GetDatabasePermissionsPermissionArray) ToGetDatabasePermissionsPermissionArrayOutputWithContext(ctx context.Context) GetDatabasePermissionsPermissionArrayOutput

func (GetDatabasePermissionsPermissionArray) ToOutput added in v0.0.8

type GetDatabasePermissionsPermissionArrayInput

type GetDatabasePermissionsPermissionArrayInput interface {
	pulumi.Input

	ToGetDatabasePermissionsPermissionArrayOutput() GetDatabasePermissionsPermissionArrayOutput
	ToGetDatabasePermissionsPermissionArrayOutputWithContext(context.Context) GetDatabasePermissionsPermissionArrayOutput
}

GetDatabasePermissionsPermissionArrayInput is an input type that accepts GetDatabasePermissionsPermissionArray and GetDatabasePermissionsPermissionArrayOutput values. You can construct a concrete instance of `GetDatabasePermissionsPermissionArrayInput` via:

GetDatabasePermissionsPermissionArray{ GetDatabasePermissionsPermissionArgs{...} }

type GetDatabasePermissionsPermissionArrayOutput

type GetDatabasePermissionsPermissionArrayOutput struct{ *pulumi.OutputState }

func (GetDatabasePermissionsPermissionArrayOutput) ElementType

func (GetDatabasePermissionsPermissionArrayOutput) Index

func (GetDatabasePermissionsPermissionArrayOutput) ToGetDatabasePermissionsPermissionArrayOutput

func (o GetDatabasePermissionsPermissionArrayOutput) ToGetDatabasePermissionsPermissionArrayOutput() GetDatabasePermissionsPermissionArrayOutput

func (GetDatabasePermissionsPermissionArrayOutput) ToGetDatabasePermissionsPermissionArrayOutputWithContext

func (o GetDatabasePermissionsPermissionArrayOutput) ToGetDatabasePermissionsPermissionArrayOutputWithContext(ctx context.Context) GetDatabasePermissionsPermissionArrayOutput

func (GetDatabasePermissionsPermissionArrayOutput) ToOutput added in v0.0.8

type GetDatabasePermissionsPermissionInput

type GetDatabasePermissionsPermissionInput interface {
	pulumi.Input

	ToGetDatabasePermissionsPermissionOutput() GetDatabasePermissionsPermissionOutput
	ToGetDatabasePermissionsPermissionOutputWithContext(context.Context) GetDatabasePermissionsPermissionOutput
}

GetDatabasePermissionsPermissionInput is an input type that accepts GetDatabasePermissionsPermissionArgs and GetDatabasePermissionsPermissionOutput values. You can construct a concrete instance of `GetDatabasePermissionsPermissionInput` via:

GetDatabasePermissionsPermissionArgs{...}

type GetDatabasePermissionsPermissionOutput

type GetDatabasePermissionsPermissionOutput struct{ *pulumi.OutputState }

func (GetDatabasePermissionsPermissionOutput) ElementType

func (GetDatabasePermissionsPermissionOutput) Permission

Name of database-level SQL permission. For full list of supported permissions, see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-database-permissions-transact-sql?view=azuresqldb-current#remarks)

func (GetDatabasePermissionsPermissionOutput) ToGetDatabasePermissionsPermissionOutput

func (o GetDatabasePermissionsPermissionOutput) ToGetDatabasePermissionsPermissionOutput() GetDatabasePermissionsPermissionOutput

func (GetDatabasePermissionsPermissionOutput) ToGetDatabasePermissionsPermissionOutputWithContext

func (o GetDatabasePermissionsPermissionOutput) ToGetDatabasePermissionsPermissionOutputWithContext(ctx context.Context) GetDatabasePermissionsPermissionOutput

func (GetDatabasePermissionsPermissionOutput) ToOutput added in v0.0.8

func (GetDatabasePermissionsPermissionOutput) WithGrantOption

When set to `true`, `principalId` will be allowed to grant the `permission` to other principals.

type GetDatabasePermissionsResult

type GetDatabasePermissionsResult struct {
	// `<database_id>/<principal_id>`.
	Id string `pulumi:"id"`
	// Set of permissions granted to the principal
	Permissions []GetDatabasePermissionsPermission `pulumi:"permissions"`
	// `<database_id>/<principal_id>`. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`.
	PrincipalId string `pulumi:"principalId"`
}

A collection of values returned by getDatabasePermissions.

func GetDatabasePermissions

func GetDatabasePermissions(ctx *pulumi.Context, args *GetDatabasePermissionsArgs, opts ...pulumi.InvokeOption) (*GetDatabasePermissionsResult, error)

Returns all permissions granted in a DB to given principal

## Example Usage

```go package main

import (

"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 {
		exampleDatabase, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		exampleSqlUser, err := mssql.LookupSqlUser(ctx, &mssql.LookupSqlUserArgs{
			Name:       "example_user",
			DatabaseId: pulumi.StringRef(exampleDatabase.Id),
		}, nil)
		if err != nil {
			return err
		}
		exampleDatabasePermissions, err := mssql.GetDatabasePermissions(ctx, &mssql.GetDatabasePermissionsArgs{
			PrincipalId: exampleSqlUser.Id,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("permissions", exampleDatabasePermissions.Permissions)
		return nil
	})
}

```

type GetDatabasePermissionsResultOutput

type GetDatabasePermissionsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDatabasePermissions.

func (GetDatabasePermissionsResultOutput) ElementType

func (GetDatabasePermissionsResultOutput) Id

`<database_id>/<principal_id>`.

func (GetDatabasePermissionsResultOutput) Permissions

Set of permissions granted to the principal

func (GetDatabasePermissionsResultOutput) PrincipalId

`<database_id>/<principal_id>`. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`.

func (GetDatabasePermissionsResultOutput) ToGetDatabasePermissionsResultOutput

func (o GetDatabasePermissionsResultOutput) ToGetDatabasePermissionsResultOutput() GetDatabasePermissionsResultOutput

func (GetDatabasePermissionsResultOutput) ToGetDatabasePermissionsResultOutputWithContext

func (o GetDatabasePermissionsResultOutput) ToGetDatabasePermissionsResultOutputWithContext(ctx context.Context) GetDatabasePermissionsResultOutput

func (GetDatabasePermissionsResultOutput) ToOutput added in v0.0.8

type GetDatabaseRoleMemberType

type GetDatabaseRoleMemberType struct {
	// `<database_id>/<member_id>`. Member ID can be retrieved using `SELECT DATABASE*PRINCIPAL*ID('\n\n')
	Id string `pulumi:"id"`
	// Name of the database principal.
	Name string `pulumi:"name"`
	// One of: `SQL_USER`, `DATABASE_ROLE`, `AZUREAD_USER`
	Type string `pulumi:"type"`
}

type GetDatabaseRoleMemberTypeArgs

type GetDatabaseRoleMemberTypeArgs struct {
	// `<database_id>/<member_id>`. Member ID can be retrieved using `SELECT DATABASE*PRINCIPAL*ID('\n\n')
	Id pulumi.StringInput `pulumi:"id"`
	// Name of the database principal.
	Name pulumi.StringInput `pulumi:"name"`
	// One of: `SQL_USER`, `DATABASE_ROLE`, `AZUREAD_USER`
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetDatabaseRoleMemberTypeArgs) ElementType

func (GetDatabaseRoleMemberTypeArgs) ToGetDatabaseRoleMemberTypeOutput

func (i GetDatabaseRoleMemberTypeArgs) ToGetDatabaseRoleMemberTypeOutput() GetDatabaseRoleMemberTypeOutput

func (GetDatabaseRoleMemberTypeArgs) ToGetDatabaseRoleMemberTypeOutputWithContext

func (i GetDatabaseRoleMemberTypeArgs) ToGetDatabaseRoleMemberTypeOutputWithContext(ctx context.Context) GetDatabaseRoleMemberTypeOutput

func (GetDatabaseRoleMemberTypeArgs) ToOutput added in v0.0.8

type GetDatabaseRoleMemberTypeArray

type GetDatabaseRoleMemberTypeArray []GetDatabaseRoleMemberTypeInput

func (GetDatabaseRoleMemberTypeArray) ElementType

func (GetDatabaseRoleMemberTypeArray) ToGetDatabaseRoleMemberTypeArrayOutput

func (i GetDatabaseRoleMemberTypeArray) ToGetDatabaseRoleMemberTypeArrayOutput() GetDatabaseRoleMemberTypeArrayOutput

func (GetDatabaseRoleMemberTypeArray) ToGetDatabaseRoleMemberTypeArrayOutputWithContext

func (i GetDatabaseRoleMemberTypeArray) ToGetDatabaseRoleMemberTypeArrayOutputWithContext(ctx context.Context) GetDatabaseRoleMemberTypeArrayOutput

func (GetDatabaseRoleMemberTypeArray) ToOutput added in v0.0.8

type GetDatabaseRoleMemberTypeArrayInput

type GetDatabaseRoleMemberTypeArrayInput interface {
	pulumi.Input

	ToGetDatabaseRoleMemberTypeArrayOutput() GetDatabaseRoleMemberTypeArrayOutput
	ToGetDatabaseRoleMemberTypeArrayOutputWithContext(context.Context) GetDatabaseRoleMemberTypeArrayOutput
}

GetDatabaseRoleMemberTypeArrayInput is an input type that accepts GetDatabaseRoleMemberTypeArray and GetDatabaseRoleMemberTypeArrayOutput values. You can construct a concrete instance of `GetDatabaseRoleMemberTypeArrayInput` via:

GetDatabaseRoleMemberTypeArray{ GetDatabaseRoleMemberTypeArgs{...} }

type GetDatabaseRoleMemberTypeArrayOutput

type GetDatabaseRoleMemberTypeArrayOutput struct{ *pulumi.OutputState }

func (GetDatabaseRoleMemberTypeArrayOutput) ElementType

func (GetDatabaseRoleMemberTypeArrayOutput) Index

func (GetDatabaseRoleMemberTypeArrayOutput) ToGetDatabaseRoleMemberTypeArrayOutput

func (o GetDatabaseRoleMemberTypeArrayOutput) ToGetDatabaseRoleMemberTypeArrayOutput() GetDatabaseRoleMemberTypeArrayOutput

func (GetDatabaseRoleMemberTypeArrayOutput) ToGetDatabaseRoleMemberTypeArrayOutputWithContext

func (o GetDatabaseRoleMemberTypeArrayOutput) ToGetDatabaseRoleMemberTypeArrayOutputWithContext(ctx context.Context) GetDatabaseRoleMemberTypeArrayOutput

func (GetDatabaseRoleMemberTypeArrayOutput) ToOutput added in v0.0.8

type GetDatabaseRoleMemberTypeInput

type GetDatabaseRoleMemberTypeInput interface {
	pulumi.Input

	ToGetDatabaseRoleMemberTypeOutput() GetDatabaseRoleMemberTypeOutput
	ToGetDatabaseRoleMemberTypeOutputWithContext(context.Context) GetDatabaseRoleMemberTypeOutput
}

GetDatabaseRoleMemberTypeInput is an input type that accepts GetDatabaseRoleMemberTypeArgs and GetDatabaseRoleMemberTypeOutput values. You can construct a concrete instance of `GetDatabaseRoleMemberTypeInput` via:

GetDatabaseRoleMemberTypeArgs{...}

type GetDatabaseRoleMemberTypeOutput

type GetDatabaseRoleMemberTypeOutput struct{ *pulumi.OutputState }

func (GetDatabaseRoleMemberTypeOutput) ElementType

func (GetDatabaseRoleMemberTypeOutput) Id

`<database_id>/<member_id>`. Member ID can be retrieved using `SELECT DATABASE*PRINCIPAL*ID('\n\n')

func (GetDatabaseRoleMemberTypeOutput) Name

Name of the database principal.

func (GetDatabaseRoleMemberTypeOutput) ToGetDatabaseRoleMemberTypeOutput

func (o GetDatabaseRoleMemberTypeOutput) ToGetDatabaseRoleMemberTypeOutput() GetDatabaseRoleMemberTypeOutput

func (GetDatabaseRoleMemberTypeOutput) ToGetDatabaseRoleMemberTypeOutputWithContext

func (o GetDatabaseRoleMemberTypeOutput) ToGetDatabaseRoleMemberTypeOutputWithContext(ctx context.Context) GetDatabaseRoleMemberTypeOutput

func (GetDatabaseRoleMemberTypeOutput) ToOutput added in v0.0.8

func (GetDatabaseRoleMemberTypeOutput) Type

One of: `SQL_USER`, `DATABASE_ROLE`, `AZUREAD_USER`

type GetDatabaseRolesArgs

type GetDatabaseRolesArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId *string `pulumi:"databaseId"`
}

A collection of arguments for invoking getDatabaseRoles.

type GetDatabaseRolesOutputArgs

type GetDatabaseRolesOutputArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringPtrInput `pulumi:"databaseId"`
}

A collection of arguments for invoking getDatabaseRoles.

func (GetDatabaseRolesOutputArgs) ElementType

func (GetDatabaseRolesOutputArgs) ElementType() reflect.Type

type GetDatabaseRolesResult

type GetDatabaseRolesResult struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.
	DatabaseId *string `pulumi:"databaseId"`
	// ID of the resource, equals to database ID
	Id string `pulumi:"id"`
	// Set of database role objects
	Roles []GetDatabaseRolesRole `pulumi:"roles"`
}

A collection of values returned by getDatabaseRoles.

func GetDatabaseRoles

func GetDatabaseRoles(ctx *pulumi.Context, args *GetDatabaseRolesArgs, opts ...pulumi.InvokeOption) (*GetDatabaseRolesResult, error)

Obtains information about all roles defined in a database.

## Example Usage

```go package main

import (

"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 {
		master, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "master",
		}, nil)
		if err != nil {
			return err
		}
		example, err := mssql.GetDatabaseRoles(ctx, &mssql.GetDatabaseRolesArgs{
			DatabaseId: pulumi.StringRef(master.Id),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("roles", example.Roles)
		return nil
	})
}

```

type GetDatabaseRolesResultOutput

type GetDatabaseRolesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDatabaseRoles.

func (GetDatabaseRolesResultOutput) DatabaseId

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.

func (GetDatabaseRolesResultOutput) ElementType

func (GetDatabaseRolesResultOutput) Id

ID of the resource, equals to database ID

func (GetDatabaseRolesResultOutput) Roles

Set of database role objects

func (GetDatabaseRolesResultOutput) ToGetDatabaseRolesResultOutput

func (o GetDatabaseRolesResultOutput) ToGetDatabaseRolesResultOutput() GetDatabaseRolesResultOutput

func (GetDatabaseRolesResultOutput) ToGetDatabaseRolesResultOutputWithContext

func (o GetDatabaseRolesResultOutput) ToGetDatabaseRolesResultOutputWithContext(ctx context.Context) GetDatabaseRolesResultOutput

func (GetDatabaseRolesResultOutput) ToOutput added in v0.0.8

type GetDatabaseRolesRole

type GetDatabaseRolesRole struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId string `pulumi:"databaseId"`
	// `<database_id>/<role_id>`. Role ID can be retrieved using `SELECT DATABASE_PRINCIPAL_ID('<role_name>')`
	Id string `pulumi:"id"`
	// Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars.
	Name string `pulumi:"name"`
	// ID of another database role or user owning this role. Can be retrieved using `DatabaseRole` or `SqlUser`.
	OwnerId string `pulumi:"ownerId"`
}

type GetDatabaseRolesRoleArgs

type GetDatabaseRolesRoleArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringInput `pulumi:"databaseId"`
	// `<database_id>/<role_id>`. Role ID can be retrieved using `SELECT DATABASE_PRINCIPAL_ID('<role_name>')`
	Id pulumi.StringInput `pulumi:"id"`
	// Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars.
	Name pulumi.StringInput `pulumi:"name"`
	// ID of another database role or user owning this role. Can be retrieved using `DatabaseRole` or `SqlUser`.
	OwnerId pulumi.StringInput `pulumi:"ownerId"`
}

func (GetDatabaseRolesRoleArgs) ElementType

func (GetDatabaseRolesRoleArgs) ElementType() reflect.Type

func (GetDatabaseRolesRoleArgs) ToGetDatabaseRolesRoleOutput

func (i GetDatabaseRolesRoleArgs) ToGetDatabaseRolesRoleOutput() GetDatabaseRolesRoleOutput

func (GetDatabaseRolesRoleArgs) ToGetDatabaseRolesRoleOutputWithContext

func (i GetDatabaseRolesRoleArgs) ToGetDatabaseRolesRoleOutputWithContext(ctx context.Context) GetDatabaseRolesRoleOutput

func (GetDatabaseRolesRoleArgs) ToOutput added in v0.0.8

type GetDatabaseRolesRoleArray

type GetDatabaseRolesRoleArray []GetDatabaseRolesRoleInput

func (GetDatabaseRolesRoleArray) ElementType

func (GetDatabaseRolesRoleArray) ElementType() reflect.Type

func (GetDatabaseRolesRoleArray) ToGetDatabaseRolesRoleArrayOutput

func (i GetDatabaseRolesRoleArray) ToGetDatabaseRolesRoleArrayOutput() GetDatabaseRolesRoleArrayOutput

func (GetDatabaseRolesRoleArray) ToGetDatabaseRolesRoleArrayOutputWithContext

func (i GetDatabaseRolesRoleArray) ToGetDatabaseRolesRoleArrayOutputWithContext(ctx context.Context) GetDatabaseRolesRoleArrayOutput

func (GetDatabaseRolesRoleArray) ToOutput added in v0.0.8

type GetDatabaseRolesRoleArrayInput

type GetDatabaseRolesRoleArrayInput interface {
	pulumi.Input

	ToGetDatabaseRolesRoleArrayOutput() GetDatabaseRolesRoleArrayOutput
	ToGetDatabaseRolesRoleArrayOutputWithContext(context.Context) GetDatabaseRolesRoleArrayOutput
}

GetDatabaseRolesRoleArrayInput is an input type that accepts GetDatabaseRolesRoleArray and GetDatabaseRolesRoleArrayOutput values. You can construct a concrete instance of `GetDatabaseRolesRoleArrayInput` via:

GetDatabaseRolesRoleArray{ GetDatabaseRolesRoleArgs{...} }

type GetDatabaseRolesRoleArrayOutput

type GetDatabaseRolesRoleArrayOutput struct{ *pulumi.OutputState }

func (GetDatabaseRolesRoleArrayOutput) ElementType

func (GetDatabaseRolesRoleArrayOutput) Index

func (GetDatabaseRolesRoleArrayOutput) ToGetDatabaseRolesRoleArrayOutput

func (o GetDatabaseRolesRoleArrayOutput) ToGetDatabaseRolesRoleArrayOutput() GetDatabaseRolesRoleArrayOutput

func (GetDatabaseRolesRoleArrayOutput) ToGetDatabaseRolesRoleArrayOutputWithContext

func (o GetDatabaseRolesRoleArrayOutput) ToGetDatabaseRolesRoleArrayOutputWithContext(ctx context.Context) GetDatabaseRolesRoleArrayOutput

func (GetDatabaseRolesRoleArrayOutput) ToOutput added in v0.0.8

type GetDatabaseRolesRoleInput

type GetDatabaseRolesRoleInput interface {
	pulumi.Input

	ToGetDatabaseRolesRoleOutput() GetDatabaseRolesRoleOutput
	ToGetDatabaseRolesRoleOutputWithContext(context.Context) GetDatabaseRolesRoleOutput
}

GetDatabaseRolesRoleInput is an input type that accepts GetDatabaseRolesRoleArgs and GetDatabaseRolesRoleOutput values. You can construct a concrete instance of `GetDatabaseRolesRoleInput` via:

GetDatabaseRolesRoleArgs{...}

type GetDatabaseRolesRoleOutput

type GetDatabaseRolesRoleOutput struct{ *pulumi.OutputState }

func (GetDatabaseRolesRoleOutput) DatabaseId

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.

func (GetDatabaseRolesRoleOutput) ElementType

func (GetDatabaseRolesRoleOutput) ElementType() reflect.Type

func (GetDatabaseRolesRoleOutput) Id

`<database_id>/<role_id>`. Role ID can be retrieved using `SELECT DATABASE_PRINCIPAL_ID('<role_name>')`

func (GetDatabaseRolesRoleOutput) Name

Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars.

func (GetDatabaseRolesRoleOutput) OwnerId

ID of another database role or user owning this role. Can be retrieved using `DatabaseRole` or `SqlUser`.

func (GetDatabaseRolesRoleOutput) ToGetDatabaseRolesRoleOutput

func (o GetDatabaseRolesRoleOutput) ToGetDatabaseRolesRoleOutput() GetDatabaseRolesRoleOutput

func (GetDatabaseRolesRoleOutput) ToGetDatabaseRolesRoleOutputWithContext

func (o GetDatabaseRolesRoleOutput) ToGetDatabaseRolesRoleOutputWithContext(ctx context.Context) GetDatabaseRolesRoleOutput

func (GetDatabaseRolesRoleOutput) ToOutput added in v0.0.8

type GetDatabasesDatabase

type GetDatabasesDatabase struct {
	// Default collation name. Can be either a Windows collation name or a SQL collation name.
	Collation string `pulumi:"collation"`
	// Database ID. Can be retrieved using `SELECT DB_ID('<db_name>')`.
	Id string `pulumi:"id"`
	// Database name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers).
	Name string `pulumi:"name"`
}

type GetDatabasesDatabaseArgs

type GetDatabasesDatabaseArgs struct {
	// Default collation name. Can be either a Windows collation name or a SQL collation name.
	Collation pulumi.StringInput `pulumi:"collation"`
	// Database ID. Can be retrieved using `SELECT DB_ID('<db_name>')`.
	Id pulumi.StringInput `pulumi:"id"`
	// Database name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers).
	Name pulumi.StringInput `pulumi:"name"`
}

func (GetDatabasesDatabaseArgs) ElementType

func (GetDatabasesDatabaseArgs) ElementType() reflect.Type

func (GetDatabasesDatabaseArgs) ToGetDatabasesDatabaseOutput

func (i GetDatabasesDatabaseArgs) ToGetDatabasesDatabaseOutput() GetDatabasesDatabaseOutput

func (GetDatabasesDatabaseArgs) ToGetDatabasesDatabaseOutputWithContext

func (i GetDatabasesDatabaseArgs) ToGetDatabasesDatabaseOutputWithContext(ctx context.Context) GetDatabasesDatabaseOutput

func (GetDatabasesDatabaseArgs) ToOutput added in v0.0.8

type GetDatabasesDatabaseArray

type GetDatabasesDatabaseArray []GetDatabasesDatabaseInput

func (GetDatabasesDatabaseArray) ElementType

func (GetDatabasesDatabaseArray) ElementType() reflect.Type

func (GetDatabasesDatabaseArray) ToGetDatabasesDatabaseArrayOutput

func (i GetDatabasesDatabaseArray) ToGetDatabasesDatabaseArrayOutput() GetDatabasesDatabaseArrayOutput

func (GetDatabasesDatabaseArray) ToGetDatabasesDatabaseArrayOutputWithContext

func (i GetDatabasesDatabaseArray) ToGetDatabasesDatabaseArrayOutputWithContext(ctx context.Context) GetDatabasesDatabaseArrayOutput

func (GetDatabasesDatabaseArray) ToOutput added in v0.0.8

type GetDatabasesDatabaseArrayInput

type GetDatabasesDatabaseArrayInput interface {
	pulumi.Input

	ToGetDatabasesDatabaseArrayOutput() GetDatabasesDatabaseArrayOutput
	ToGetDatabasesDatabaseArrayOutputWithContext(context.Context) GetDatabasesDatabaseArrayOutput
}

GetDatabasesDatabaseArrayInput is an input type that accepts GetDatabasesDatabaseArray and GetDatabasesDatabaseArrayOutput values. You can construct a concrete instance of `GetDatabasesDatabaseArrayInput` via:

GetDatabasesDatabaseArray{ GetDatabasesDatabaseArgs{...} }

type GetDatabasesDatabaseArrayOutput

type GetDatabasesDatabaseArrayOutput struct{ *pulumi.OutputState }

func (GetDatabasesDatabaseArrayOutput) ElementType

func (GetDatabasesDatabaseArrayOutput) Index

func (GetDatabasesDatabaseArrayOutput) ToGetDatabasesDatabaseArrayOutput

func (o GetDatabasesDatabaseArrayOutput) ToGetDatabasesDatabaseArrayOutput() GetDatabasesDatabaseArrayOutput

func (GetDatabasesDatabaseArrayOutput) ToGetDatabasesDatabaseArrayOutputWithContext

func (o GetDatabasesDatabaseArrayOutput) ToGetDatabasesDatabaseArrayOutputWithContext(ctx context.Context) GetDatabasesDatabaseArrayOutput

func (GetDatabasesDatabaseArrayOutput) ToOutput added in v0.0.8

type GetDatabasesDatabaseInput

type GetDatabasesDatabaseInput interface {
	pulumi.Input

	ToGetDatabasesDatabaseOutput() GetDatabasesDatabaseOutput
	ToGetDatabasesDatabaseOutputWithContext(context.Context) GetDatabasesDatabaseOutput
}

GetDatabasesDatabaseInput is an input type that accepts GetDatabasesDatabaseArgs and GetDatabasesDatabaseOutput values. You can construct a concrete instance of `GetDatabasesDatabaseInput` via:

GetDatabasesDatabaseArgs{...}

type GetDatabasesDatabaseOutput

type GetDatabasesDatabaseOutput struct{ *pulumi.OutputState }

func (GetDatabasesDatabaseOutput) Collation

Default collation name. Can be either a Windows collation name or a SQL collation name.

func (GetDatabasesDatabaseOutput) ElementType

func (GetDatabasesDatabaseOutput) ElementType() reflect.Type

func (GetDatabasesDatabaseOutput) Id

Database ID. Can be retrieved using `SELECT DB_ID('<db_name>')`.

func (GetDatabasesDatabaseOutput) Name

Database name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers).

func (GetDatabasesDatabaseOutput) ToGetDatabasesDatabaseOutput

func (o GetDatabasesDatabaseOutput) ToGetDatabasesDatabaseOutput() GetDatabasesDatabaseOutput

func (GetDatabasesDatabaseOutput) ToGetDatabasesDatabaseOutputWithContext

func (o GetDatabasesDatabaseOutput) ToGetDatabasesDatabaseOutputWithContext(ctx context.Context) GetDatabasesDatabaseOutput

func (GetDatabasesDatabaseOutput) ToOutput added in v0.0.8

type GetDatabasesResult

type GetDatabasesResult struct {
	// Set of database objects
	Databases []GetDatabasesDatabase `pulumi:"databases"`
	// ID of the resource used only internally by the provider.
	Id string `pulumi:"id"`
}

A collection of values returned by getDatabases.

func GetDatabases

func GetDatabases(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetDatabasesResult, error)

Obtains information about all databases found in SQL Server instance.

## Example Usage

```go package main

import (

"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 {
		example, err := mssql.GetDatabases(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("databases", example.Databases)
		return nil
	})
}

```

type GetDatabasesResultOutput added in v0.0.8

type GetDatabasesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDatabases.

func GetDatabasesOutput added in v0.0.8

func GetDatabasesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetDatabasesResultOutput

func (GetDatabasesResultOutput) Databases added in v0.0.8

Set of database objects

func (GetDatabasesResultOutput) ElementType added in v0.0.8

func (GetDatabasesResultOutput) ElementType() reflect.Type

func (GetDatabasesResultOutput) Id added in v0.0.8

ID of the resource used only internally by the provider.

func (GetDatabasesResultOutput) ToGetDatabasesResultOutput added in v0.0.8

func (o GetDatabasesResultOutput) ToGetDatabasesResultOutput() GetDatabasesResultOutput

func (GetDatabasesResultOutput) ToGetDatabasesResultOutputWithContext added in v0.0.8

func (o GetDatabasesResultOutput) ToGetDatabasesResultOutputWithContext(ctx context.Context) GetDatabasesResultOutput

func (GetDatabasesResultOutput) ToOutput added in v0.0.8

type GetQueryArgs

type GetQueryArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId string `pulumi:"databaseId"`
	// SQL query returning single result set, with any number of rows, where all columns are strings
	Query string `pulumi:"query"`
}

A collection of arguments for invoking getQuery.

type GetQueryOutputArgs

type GetQueryOutputArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringInput `pulumi:"databaseId"`
	// SQL query returning single result set, with any number of rows, where all columns are strings
	Query pulumi.StringInput `pulumi:"query"`
}

A collection of arguments for invoking getQuery.

func (GetQueryOutputArgs) ElementType

func (GetQueryOutputArgs) ElementType() reflect.Type

type GetQueryResult

type GetQueryResult struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId string `pulumi:"databaseId"`
	Id         string `pulumi:"id"`
	// SQL query returning single result set, with any number of rows, where all columns are strings
	Query string `pulumi:"query"`
	// Results of the SQL query, represented as list of maps, where the map key corresponds to column name and the value is the value of column in given row.
	Results []map[string]string `pulumi:"results"`
}

A collection of values returned by getQuery.

func GetQuery

func GetQuery(ctx *pulumi.Context, args *GetQueryArgs, opts ...pulumi.InvokeOption) (*GetQueryResult, error)

Retrieves arbitrary SQL query result.

> **Note** This data source is meant to be an escape hatch for all cases not supported by the provider's data sources. Whenever possible, use dedicated data sources, which offer better plan, validation and error reporting.

## Example Usage

```go package main

import (

"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 {
		test, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "test",
		}, nil)
		if err != nil {
			return err
		}
		column, err := mssql.GetQuery(ctx, &mssql.GetQueryArgs{
			DatabaseId: test.Id,
			Query:      "SELECT [column_id], [name] FROM sys.columns WHERE [object_id] = OBJECT_ID('test_table')",
		}, nil)
		if err != nil {
			return err
		}
		var splat0 []string
		for _, val0 := range column.Results {
			splat0 = append(splat0, val0.Name)
		}
		ctx.Export("columnNames", splat0)
		return nil
	})
}

```

type GetQueryResultOutput

type GetQueryResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getQuery.

func (GetQueryResultOutput) DatabaseId

func (o GetQueryResultOutput) DatabaseId() pulumi.StringOutput

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.

func (GetQueryResultOutput) ElementType

func (GetQueryResultOutput) ElementType() reflect.Type

func (GetQueryResultOutput) Id

func (GetQueryResultOutput) Query

SQL query returning single result set, with any number of rows, where all columns are strings

func (GetQueryResultOutput) Results

Results of the SQL query, represented as list of maps, where the map key corresponds to column name and the value is the value of column in given row.

func (GetQueryResultOutput) ToGetQueryResultOutput

func (o GetQueryResultOutput) ToGetQueryResultOutput() GetQueryResultOutput

func (GetQueryResultOutput) ToGetQueryResultOutputWithContext

func (o GetQueryResultOutput) ToGetQueryResultOutputWithContext(ctx context.Context) GetQueryResultOutput

func (GetQueryResultOutput) ToOutput added in v0.0.8

type GetSchemaPermissionsArgs

type GetSchemaPermissionsArgs struct {
	// `<database_id>/<principal_id>`. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`.
	PrincipalId string `pulumi:"principalId"`
	// `<database_id>/<schema_id>`. Can be retrieved using `Schema`.
	SchemaId string `pulumi:"schemaId"`
}

A collection of arguments for invoking getSchemaPermissions.

type GetSchemaPermissionsOutputArgs

type GetSchemaPermissionsOutputArgs struct {
	// `<database_id>/<principal_id>`. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`.
	PrincipalId pulumi.StringInput `pulumi:"principalId"`
	// `<database_id>/<schema_id>`. Can be retrieved using `Schema`.
	SchemaId pulumi.StringInput `pulumi:"schemaId"`
}

A collection of arguments for invoking getSchemaPermissions.

func (GetSchemaPermissionsOutputArgs) ElementType

type GetSchemaPermissionsPermission

type GetSchemaPermissionsPermission struct {
	// Name of schema SQL permission. For full list of supported permissions, see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-schema-permissions-transact-sql?view=azuresqldb-current#remarks)
	Permission string `pulumi:"permission"`
	// When set to `true`, `principalId` will be allowed to grant the `permission` to other principals.
	WithGrantOption bool `pulumi:"withGrantOption"`
}

type GetSchemaPermissionsPermissionArgs

type GetSchemaPermissionsPermissionArgs struct {
	// Name of schema SQL permission. For full list of supported permissions, see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-schema-permissions-transact-sql?view=azuresqldb-current#remarks)
	Permission pulumi.StringInput `pulumi:"permission"`
	// When set to `true`, `principalId` will be allowed to grant the `permission` to other principals.
	WithGrantOption pulumi.BoolInput `pulumi:"withGrantOption"`
}

func (GetSchemaPermissionsPermissionArgs) ElementType

func (GetSchemaPermissionsPermissionArgs) ToGetSchemaPermissionsPermissionOutput

func (i GetSchemaPermissionsPermissionArgs) ToGetSchemaPermissionsPermissionOutput() GetSchemaPermissionsPermissionOutput

func (GetSchemaPermissionsPermissionArgs) ToGetSchemaPermissionsPermissionOutputWithContext

func (i GetSchemaPermissionsPermissionArgs) ToGetSchemaPermissionsPermissionOutputWithContext(ctx context.Context) GetSchemaPermissionsPermissionOutput

func (GetSchemaPermissionsPermissionArgs) ToOutput added in v0.0.8

type GetSchemaPermissionsPermissionArray

type GetSchemaPermissionsPermissionArray []GetSchemaPermissionsPermissionInput

func (GetSchemaPermissionsPermissionArray) ElementType

func (GetSchemaPermissionsPermissionArray) ToGetSchemaPermissionsPermissionArrayOutput

func (i GetSchemaPermissionsPermissionArray) ToGetSchemaPermissionsPermissionArrayOutput() GetSchemaPermissionsPermissionArrayOutput

func (GetSchemaPermissionsPermissionArray) ToGetSchemaPermissionsPermissionArrayOutputWithContext

func (i GetSchemaPermissionsPermissionArray) ToGetSchemaPermissionsPermissionArrayOutputWithContext(ctx context.Context) GetSchemaPermissionsPermissionArrayOutput

func (GetSchemaPermissionsPermissionArray) ToOutput added in v0.0.8

type GetSchemaPermissionsPermissionArrayInput

type GetSchemaPermissionsPermissionArrayInput interface {
	pulumi.Input

	ToGetSchemaPermissionsPermissionArrayOutput() GetSchemaPermissionsPermissionArrayOutput
	ToGetSchemaPermissionsPermissionArrayOutputWithContext(context.Context) GetSchemaPermissionsPermissionArrayOutput
}

GetSchemaPermissionsPermissionArrayInput is an input type that accepts GetSchemaPermissionsPermissionArray and GetSchemaPermissionsPermissionArrayOutput values. You can construct a concrete instance of `GetSchemaPermissionsPermissionArrayInput` via:

GetSchemaPermissionsPermissionArray{ GetSchemaPermissionsPermissionArgs{...} }

type GetSchemaPermissionsPermissionArrayOutput

type GetSchemaPermissionsPermissionArrayOutput struct{ *pulumi.OutputState }

func (GetSchemaPermissionsPermissionArrayOutput) ElementType

func (GetSchemaPermissionsPermissionArrayOutput) Index

func (GetSchemaPermissionsPermissionArrayOutput) ToGetSchemaPermissionsPermissionArrayOutput

func (o GetSchemaPermissionsPermissionArrayOutput) ToGetSchemaPermissionsPermissionArrayOutput() GetSchemaPermissionsPermissionArrayOutput

func (GetSchemaPermissionsPermissionArrayOutput) ToGetSchemaPermissionsPermissionArrayOutputWithContext

func (o GetSchemaPermissionsPermissionArrayOutput) ToGetSchemaPermissionsPermissionArrayOutputWithContext(ctx context.Context) GetSchemaPermissionsPermissionArrayOutput

func (GetSchemaPermissionsPermissionArrayOutput) ToOutput added in v0.0.8

type GetSchemaPermissionsPermissionInput

type GetSchemaPermissionsPermissionInput interface {
	pulumi.Input

	ToGetSchemaPermissionsPermissionOutput() GetSchemaPermissionsPermissionOutput
	ToGetSchemaPermissionsPermissionOutputWithContext(context.Context) GetSchemaPermissionsPermissionOutput
}

GetSchemaPermissionsPermissionInput is an input type that accepts GetSchemaPermissionsPermissionArgs and GetSchemaPermissionsPermissionOutput values. You can construct a concrete instance of `GetSchemaPermissionsPermissionInput` via:

GetSchemaPermissionsPermissionArgs{...}

type GetSchemaPermissionsPermissionOutput

type GetSchemaPermissionsPermissionOutput struct{ *pulumi.OutputState }

func (GetSchemaPermissionsPermissionOutput) ElementType

func (GetSchemaPermissionsPermissionOutput) Permission

Name of schema SQL permission. For full list of supported permissions, see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-schema-permissions-transact-sql?view=azuresqldb-current#remarks)

func (GetSchemaPermissionsPermissionOutput) ToGetSchemaPermissionsPermissionOutput

func (o GetSchemaPermissionsPermissionOutput) ToGetSchemaPermissionsPermissionOutput() GetSchemaPermissionsPermissionOutput

func (GetSchemaPermissionsPermissionOutput) ToGetSchemaPermissionsPermissionOutputWithContext

func (o GetSchemaPermissionsPermissionOutput) ToGetSchemaPermissionsPermissionOutputWithContext(ctx context.Context) GetSchemaPermissionsPermissionOutput

func (GetSchemaPermissionsPermissionOutput) ToOutput added in v0.0.8

func (GetSchemaPermissionsPermissionOutput) WithGrantOption

When set to `true`, `principalId` will be allowed to grant the `permission` to other principals.

type GetSchemaPermissionsResult

type GetSchemaPermissionsResult struct {
	// `<database_id>/<schema_id>/<principal_id>`.
	Id string `pulumi:"id"`
	// Set of permissions granted to the principal
	Permissions []GetSchemaPermissionsPermission `pulumi:"permissions"`
	// `<database_id>/<principal_id>`. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`.
	PrincipalId string `pulumi:"principalId"`
	// `<database_id>/<schema_id>`. Can be retrieved using `Schema`.
	SchemaId string `pulumi:"schemaId"`
}

A collection of values returned by getSchemaPermissions.

func GetSchemaPermissions

func GetSchemaPermissions(ctx *pulumi.Context, args *GetSchemaPermissionsArgs, opts ...pulumi.InvokeOption) (*GetSchemaPermissionsResult, error)

Returns all permissions granted in a schema to given principal

## Example Usage

```go package main

import (

"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 {
		exampleDatabase, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		exampleSqlUser, err := mssql.LookupSqlUser(ctx, &mssql.LookupSqlUserArgs{
			Name:       "example_user",
			DatabaseId: pulumi.StringRef(exampleDatabase.Id),
		}, nil)
		if err != nil {
			return err
		}
		exampleSchema, err := mssql.LookupSchema(ctx, &mssql.LookupSchemaArgs{
			Name:       pulumi.StringRef("example_schema"),
			DatabaseId: pulumi.StringRef(exampleDatabase.Id),
		}, nil)
		if err != nil {
			return err
		}
		exampleSchemaPermissions, err := mssql.GetSchemaPermissions(ctx, &mssql.GetSchemaPermissionsArgs{
			SchemaId:    exampleSchema.Id,
			PrincipalId: exampleSqlUser.Id,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("permissions", exampleSchemaPermissions.Permissions)
		return nil
	})
}

```

type GetSchemaPermissionsResultOutput

type GetSchemaPermissionsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSchemaPermissions.

func (GetSchemaPermissionsResultOutput) ElementType

func (GetSchemaPermissionsResultOutput) Id

`<database_id>/<schema_id>/<principal_id>`.

func (GetSchemaPermissionsResultOutput) Permissions

Set of permissions granted to the principal

func (GetSchemaPermissionsResultOutput) PrincipalId

`<database_id>/<principal_id>`. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`.

func (GetSchemaPermissionsResultOutput) SchemaId

`<database_id>/<schema_id>`. Can be retrieved using `Schema`.

func (GetSchemaPermissionsResultOutput) ToGetSchemaPermissionsResultOutput

func (o GetSchemaPermissionsResultOutput) ToGetSchemaPermissionsResultOutput() GetSchemaPermissionsResultOutput

func (GetSchemaPermissionsResultOutput) ToGetSchemaPermissionsResultOutputWithContext

func (o GetSchemaPermissionsResultOutput) ToGetSchemaPermissionsResultOutputWithContext(ctx context.Context) GetSchemaPermissionsResultOutput

func (GetSchemaPermissionsResultOutput) ToOutput added in v0.0.8

type GetSchemasArgs

type GetSchemasArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId *string `pulumi:"databaseId"`
}

A collection of arguments for invoking getSchemas.

type GetSchemasOutputArgs

type GetSchemasOutputArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringPtrInput `pulumi:"databaseId"`
}

A collection of arguments for invoking getSchemas.

func (GetSchemasOutputArgs) ElementType

func (GetSchemasOutputArgs) ElementType() reflect.Type

type GetSchemasResult

type GetSchemasResult struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.
	DatabaseId string `pulumi:"databaseId"`
	// ID of the data source, equals to database ID
	Id string `pulumi:"id"`
	// Set of schemas found in the DB.
	Schemas []GetSchemasSchema `pulumi:"schemas"`
}

A collection of values returned by getSchemas.

func GetSchemas

func GetSchemas(ctx *pulumi.Context, args *GetSchemasArgs, opts ...pulumi.InvokeOption) (*GetSchemasResult, error)

Obtains information about all schemas found in SQL database.

## Example Usage

```go package main

import (

"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 {
		example, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		all, err := mssql.GetSchemas(ctx, &mssql.GetSchemasArgs{
			DatabaseId: pulumi.StringRef(example.Id),
		}, nil)
		if err != nil {
			return err
		}
		var splat0 []*string
		for _, val0 := range all.Schemas {
			splat0 = append(splat0, val0.Name)
		}
		ctx.Export("allSchemaNames", splat0)
		return nil
	})
}

```

type GetSchemasResultOutput

type GetSchemasResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSchemas.

func (GetSchemasResultOutput) DatabaseId

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.

func (GetSchemasResultOutput) ElementType

func (GetSchemasResultOutput) ElementType() reflect.Type

func (GetSchemasResultOutput) Id

ID of the data source, equals to database ID

func (GetSchemasResultOutput) Schemas

Set of schemas found in the DB.

func (GetSchemasResultOutput) ToGetSchemasResultOutput

func (o GetSchemasResultOutput) ToGetSchemasResultOutput() GetSchemasResultOutput

func (GetSchemasResultOutput) ToGetSchemasResultOutputWithContext

func (o GetSchemasResultOutput) ToGetSchemasResultOutputWithContext(ctx context.Context) GetSchemasResultOutput

func (GetSchemasResultOutput) ToOutput added in v0.0.8

type GetSchemasSchema

type GetSchemasSchema struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId string `pulumi:"databaseId"`
	// `<database_id>/<schema_id>`. Schema ID can be retrieved using `SELECT SCHEMA_ID('<schema_name>')`.
	Id string `pulumi:"id"`
	// Schema name.
	Name string `pulumi:"name"`
	// ID of database role or user owning this schema. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`
	OwnerId string `pulumi:"ownerId"`
}

type GetSchemasSchemaArgs

type GetSchemasSchemaArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringInput `pulumi:"databaseId"`
	// `<database_id>/<schema_id>`. Schema ID can be retrieved using `SELECT SCHEMA_ID('<schema_name>')`.
	Id pulumi.StringInput `pulumi:"id"`
	// Schema name.
	Name pulumi.StringInput `pulumi:"name"`
	// ID of database role or user owning this schema. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`
	OwnerId pulumi.StringInput `pulumi:"ownerId"`
}

func (GetSchemasSchemaArgs) ElementType

func (GetSchemasSchemaArgs) ElementType() reflect.Type

func (GetSchemasSchemaArgs) ToGetSchemasSchemaOutput

func (i GetSchemasSchemaArgs) ToGetSchemasSchemaOutput() GetSchemasSchemaOutput

func (GetSchemasSchemaArgs) ToGetSchemasSchemaOutputWithContext

func (i GetSchemasSchemaArgs) ToGetSchemasSchemaOutputWithContext(ctx context.Context) GetSchemasSchemaOutput

func (GetSchemasSchemaArgs) ToOutput added in v0.0.8

type GetSchemasSchemaArray

type GetSchemasSchemaArray []GetSchemasSchemaInput

func (GetSchemasSchemaArray) ElementType

func (GetSchemasSchemaArray) ElementType() reflect.Type

func (GetSchemasSchemaArray) ToGetSchemasSchemaArrayOutput

func (i GetSchemasSchemaArray) ToGetSchemasSchemaArrayOutput() GetSchemasSchemaArrayOutput

func (GetSchemasSchemaArray) ToGetSchemasSchemaArrayOutputWithContext

func (i GetSchemasSchemaArray) ToGetSchemasSchemaArrayOutputWithContext(ctx context.Context) GetSchemasSchemaArrayOutput

func (GetSchemasSchemaArray) ToOutput added in v0.0.8

type GetSchemasSchemaArrayInput

type GetSchemasSchemaArrayInput interface {
	pulumi.Input

	ToGetSchemasSchemaArrayOutput() GetSchemasSchemaArrayOutput
	ToGetSchemasSchemaArrayOutputWithContext(context.Context) GetSchemasSchemaArrayOutput
}

GetSchemasSchemaArrayInput is an input type that accepts GetSchemasSchemaArray and GetSchemasSchemaArrayOutput values. You can construct a concrete instance of `GetSchemasSchemaArrayInput` via:

GetSchemasSchemaArray{ GetSchemasSchemaArgs{...} }

type GetSchemasSchemaArrayOutput

type GetSchemasSchemaArrayOutput struct{ *pulumi.OutputState }

func (GetSchemasSchemaArrayOutput) ElementType

func (GetSchemasSchemaArrayOutput) Index

func (GetSchemasSchemaArrayOutput) ToGetSchemasSchemaArrayOutput

func (o GetSchemasSchemaArrayOutput) ToGetSchemasSchemaArrayOutput() GetSchemasSchemaArrayOutput

func (GetSchemasSchemaArrayOutput) ToGetSchemasSchemaArrayOutputWithContext

func (o GetSchemasSchemaArrayOutput) ToGetSchemasSchemaArrayOutputWithContext(ctx context.Context) GetSchemasSchemaArrayOutput

func (GetSchemasSchemaArrayOutput) ToOutput added in v0.0.8

type GetSchemasSchemaInput

type GetSchemasSchemaInput interface {
	pulumi.Input

	ToGetSchemasSchemaOutput() GetSchemasSchemaOutput
	ToGetSchemasSchemaOutputWithContext(context.Context) GetSchemasSchemaOutput
}

GetSchemasSchemaInput is an input type that accepts GetSchemasSchemaArgs and GetSchemasSchemaOutput values. You can construct a concrete instance of `GetSchemasSchemaInput` via:

GetSchemasSchemaArgs{...}

type GetSchemasSchemaOutput

type GetSchemasSchemaOutput struct{ *pulumi.OutputState }

func (GetSchemasSchemaOutput) DatabaseId

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.

func (GetSchemasSchemaOutput) ElementType

func (GetSchemasSchemaOutput) ElementType() reflect.Type

func (GetSchemasSchemaOutput) Id

`<database_id>/<schema_id>`. Schema ID can be retrieved using `SELECT SCHEMA_ID('<schema_name>')`.

func (GetSchemasSchemaOutput) Name

Schema name.

func (GetSchemasSchemaOutput) OwnerId

ID of database role or user owning this schema. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`

func (GetSchemasSchemaOutput) ToGetSchemasSchemaOutput

func (o GetSchemasSchemaOutput) ToGetSchemasSchemaOutput() GetSchemasSchemaOutput

func (GetSchemasSchemaOutput) ToGetSchemasSchemaOutputWithContext

func (o GetSchemasSchemaOutput) ToGetSchemasSchemaOutputWithContext(ctx context.Context) GetSchemasSchemaOutput

func (GetSchemasSchemaOutput) ToOutput added in v0.0.8

type GetServerPermissionsArgs

type GetServerPermissionsArgs struct {
	// ID of the principal who will be granted `permission`. Can be retrieved using `ServerRole` or `SqlLogin`.
	PrincipalId string `pulumi:"principalId"`
}

A collection of arguments for invoking getServerPermissions.

type GetServerPermissionsOutputArgs

type GetServerPermissionsOutputArgs struct {
	// ID of the principal who will be granted `permission`. Can be retrieved using `ServerRole` or `SqlLogin`.
	PrincipalId pulumi.StringInput `pulumi:"principalId"`
}

A collection of arguments for invoking getServerPermissions.

func (GetServerPermissionsOutputArgs) ElementType

type GetServerPermissionsPermission

type GetServerPermissionsPermission struct {
	// Name of server-level SQL permission. For full list of supported permissions see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-server-permissions-transact-sql?view=azuresqldb-current#remarks)
	Permission string `pulumi:"permission"`
	// When set to `true`, `principalId` will be allowed to grant the `permission` to other principals.
	WithGrantOption bool `pulumi:"withGrantOption"`
}

type GetServerPermissionsPermissionArgs

type GetServerPermissionsPermissionArgs struct {
	// Name of server-level SQL permission. For full list of supported permissions see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-server-permissions-transact-sql?view=azuresqldb-current#remarks)
	Permission pulumi.StringInput `pulumi:"permission"`
	// When set to `true`, `principalId` will be allowed to grant the `permission` to other principals.
	WithGrantOption pulumi.BoolInput `pulumi:"withGrantOption"`
}

func (GetServerPermissionsPermissionArgs) ElementType

func (GetServerPermissionsPermissionArgs) ToGetServerPermissionsPermissionOutput

func (i GetServerPermissionsPermissionArgs) ToGetServerPermissionsPermissionOutput() GetServerPermissionsPermissionOutput

func (GetServerPermissionsPermissionArgs) ToGetServerPermissionsPermissionOutputWithContext

func (i GetServerPermissionsPermissionArgs) ToGetServerPermissionsPermissionOutputWithContext(ctx context.Context) GetServerPermissionsPermissionOutput

func (GetServerPermissionsPermissionArgs) ToOutput added in v0.0.8

type GetServerPermissionsPermissionArray

type GetServerPermissionsPermissionArray []GetServerPermissionsPermissionInput

func (GetServerPermissionsPermissionArray) ElementType

func (GetServerPermissionsPermissionArray) ToGetServerPermissionsPermissionArrayOutput

func (i GetServerPermissionsPermissionArray) ToGetServerPermissionsPermissionArrayOutput() GetServerPermissionsPermissionArrayOutput

func (GetServerPermissionsPermissionArray) ToGetServerPermissionsPermissionArrayOutputWithContext

func (i GetServerPermissionsPermissionArray) ToGetServerPermissionsPermissionArrayOutputWithContext(ctx context.Context) GetServerPermissionsPermissionArrayOutput

func (GetServerPermissionsPermissionArray) ToOutput added in v0.0.8

type GetServerPermissionsPermissionArrayInput

type GetServerPermissionsPermissionArrayInput interface {
	pulumi.Input

	ToGetServerPermissionsPermissionArrayOutput() GetServerPermissionsPermissionArrayOutput
	ToGetServerPermissionsPermissionArrayOutputWithContext(context.Context) GetServerPermissionsPermissionArrayOutput
}

GetServerPermissionsPermissionArrayInput is an input type that accepts GetServerPermissionsPermissionArray and GetServerPermissionsPermissionArrayOutput values. You can construct a concrete instance of `GetServerPermissionsPermissionArrayInput` via:

GetServerPermissionsPermissionArray{ GetServerPermissionsPermissionArgs{...} }

type GetServerPermissionsPermissionArrayOutput

type GetServerPermissionsPermissionArrayOutput struct{ *pulumi.OutputState }

func (GetServerPermissionsPermissionArrayOutput) ElementType

func (GetServerPermissionsPermissionArrayOutput) Index

func (GetServerPermissionsPermissionArrayOutput) ToGetServerPermissionsPermissionArrayOutput

func (o GetServerPermissionsPermissionArrayOutput) ToGetServerPermissionsPermissionArrayOutput() GetServerPermissionsPermissionArrayOutput

func (GetServerPermissionsPermissionArrayOutput) ToGetServerPermissionsPermissionArrayOutputWithContext

func (o GetServerPermissionsPermissionArrayOutput) ToGetServerPermissionsPermissionArrayOutputWithContext(ctx context.Context) GetServerPermissionsPermissionArrayOutput

func (GetServerPermissionsPermissionArrayOutput) ToOutput added in v0.0.8

type GetServerPermissionsPermissionInput

type GetServerPermissionsPermissionInput interface {
	pulumi.Input

	ToGetServerPermissionsPermissionOutput() GetServerPermissionsPermissionOutput
	ToGetServerPermissionsPermissionOutputWithContext(context.Context) GetServerPermissionsPermissionOutput
}

GetServerPermissionsPermissionInput is an input type that accepts GetServerPermissionsPermissionArgs and GetServerPermissionsPermissionOutput values. You can construct a concrete instance of `GetServerPermissionsPermissionInput` via:

GetServerPermissionsPermissionArgs{...}

type GetServerPermissionsPermissionOutput

type GetServerPermissionsPermissionOutput struct{ *pulumi.OutputState }

func (GetServerPermissionsPermissionOutput) ElementType

func (GetServerPermissionsPermissionOutput) Permission

Name of server-level SQL permission. For full list of supported permissions see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-server-permissions-transact-sql?view=azuresqldb-current#remarks)

func (GetServerPermissionsPermissionOutput) ToGetServerPermissionsPermissionOutput

func (o GetServerPermissionsPermissionOutput) ToGetServerPermissionsPermissionOutput() GetServerPermissionsPermissionOutput

func (GetServerPermissionsPermissionOutput) ToGetServerPermissionsPermissionOutputWithContext

func (o GetServerPermissionsPermissionOutput) ToGetServerPermissionsPermissionOutputWithContext(ctx context.Context) GetServerPermissionsPermissionOutput

func (GetServerPermissionsPermissionOutput) ToOutput added in v0.0.8

func (GetServerPermissionsPermissionOutput) WithGrantOption

When set to `true`, `principalId` will be allowed to grant the `permission` to other principals.

type GetServerPermissionsResult

type GetServerPermissionsResult struct {
	// Equals to `principalId`.
	Id string `pulumi:"id"`
	// Set of permissions granted to the principal
	Permissions []GetServerPermissionsPermission `pulumi:"permissions"`
	// ID of the principal who will be granted `permission`. Can be retrieved using `ServerRole` or `SqlLogin`.
	PrincipalId string `pulumi:"principalId"`
}

A collection of values returned by getServerPermissions.

func GetServerPermissions

func GetServerPermissions(ctx *pulumi.Context, args *GetServerPermissionsArgs, opts ...pulumi.InvokeOption) (*GetServerPermissionsResult, error)

Returns all permissions grated to given principal

## Example Usage

```go package main

import (

"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 {
		exampleSqlLogin, err := mssql.LookupSqlLogin(ctx, &mssql.LookupSqlLoginArgs{
			Name: "example_login",
		}, nil)
		if err != nil {
			return err
		}
		exampleServerPermissions, err := mssql.GetServerPermissions(ctx, &mssql.GetServerPermissionsArgs{
			PrincipalId: exampleSqlLogin.PrincipalId,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("permissions", exampleServerPermissions.Permissions)
		return nil
	})
}

```

type GetServerPermissionsResultOutput

type GetServerPermissionsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getServerPermissions.

func (GetServerPermissionsResultOutput) ElementType

func (GetServerPermissionsResultOutput) Id

Equals to `principalId`.

func (GetServerPermissionsResultOutput) Permissions

Set of permissions granted to the principal

func (GetServerPermissionsResultOutput) PrincipalId

ID of the principal who will be granted `permission`. Can be retrieved using `ServerRole` or `SqlLogin`.

func (GetServerPermissionsResultOutput) ToGetServerPermissionsResultOutput

func (o GetServerPermissionsResultOutput) ToGetServerPermissionsResultOutput() GetServerPermissionsResultOutput

func (GetServerPermissionsResultOutput) ToGetServerPermissionsResultOutputWithContext

func (o GetServerPermissionsResultOutput) ToGetServerPermissionsResultOutputWithContext(ctx context.Context) GetServerPermissionsResultOutput

func (GetServerPermissionsResultOutput) ToOutput added in v0.0.8

type GetServerRoleMemberType

type GetServerRoleMemberType struct {
	// ID of the member principal
	Id string `pulumi:"id"`
	// Name of the server principal
	Name string `pulumi:"name"`
	// One of: `SQL_LOGIN`, `SERVER_ROLE`
	Type string `pulumi:"type"`
}

type GetServerRoleMemberTypeArgs

type GetServerRoleMemberTypeArgs struct {
	// ID of the member principal
	Id pulumi.StringInput `pulumi:"id"`
	// Name of the server principal
	Name pulumi.StringInput `pulumi:"name"`
	// One of: `SQL_LOGIN`, `SERVER_ROLE`
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetServerRoleMemberTypeArgs) ElementType

func (GetServerRoleMemberTypeArgs) ToGetServerRoleMemberTypeOutput

func (i GetServerRoleMemberTypeArgs) ToGetServerRoleMemberTypeOutput() GetServerRoleMemberTypeOutput

func (GetServerRoleMemberTypeArgs) ToGetServerRoleMemberTypeOutputWithContext

func (i GetServerRoleMemberTypeArgs) ToGetServerRoleMemberTypeOutputWithContext(ctx context.Context) GetServerRoleMemberTypeOutput

func (GetServerRoleMemberTypeArgs) ToOutput added in v0.0.8

type GetServerRoleMemberTypeArray

type GetServerRoleMemberTypeArray []GetServerRoleMemberTypeInput

func (GetServerRoleMemberTypeArray) ElementType

func (GetServerRoleMemberTypeArray) ToGetServerRoleMemberTypeArrayOutput

func (i GetServerRoleMemberTypeArray) ToGetServerRoleMemberTypeArrayOutput() GetServerRoleMemberTypeArrayOutput

func (GetServerRoleMemberTypeArray) ToGetServerRoleMemberTypeArrayOutputWithContext

func (i GetServerRoleMemberTypeArray) ToGetServerRoleMemberTypeArrayOutputWithContext(ctx context.Context) GetServerRoleMemberTypeArrayOutput

func (GetServerRoleMemberTypeArray) ToOutput added in v0.0.8

type GetServerRoleMemberTypeArrayInput

type GetServerRoleMemberTypeArrayInput interface {
	pulumi.Input

	ToGetServerRoleMemberTypeArrayOutput() GetServerRoleMemberTypeArrayOutput
	ToGetServerRoleMemberTypeArrayOutputWithContext(context.Context) GetServerRoleMemberTypeArrayOutput
}

GetServerRoleMemberTypeArrayInput is an input type that accepts GetServerRoleMemberTypeArray and GetServerRoleMemberTypeArrayOutput values. You can construct a concrete instance of `GetServerRoleMemberTypeArrayInput` via:

GetServerRoleMemberTypeArray{ GetServerRoleMemberTypeArgs{...} }

type GetServerRoleMemberTypeArrayOutput

type GetServerRoleMemberTypeArrayOutput struct{ *pulumi.OutputState }

func (GetServerRoleMemberTypeArrayOutput) ElementType

func (GetServerRoleMemberTypeArrayOutput) Index

func (GetServerRoleMemberTypeArrayOutput) ToGetServerRoleMemberTypeArrayOutput

func (o GetServerRoleMemberTypeArrayOutput) ToGetServerRoleMemberTypeArrayOutput() GetServerRoleMemberTypeArrayOutput

func (GetServerRoleMemberTypeArrayOutput) ToGetServerRoleMemberTypeArrayOutputWithContext

func (o GetServerRoleMemberTypeArrayOutput) ToGetServerRoleMemberTypeArrayOutputWithContext(ctx context.Context) GetServerRoleMemberTypeArrayOutput

func (GetServerRoleMemberTypeArrayOutput) ToOutput added in v0.0.8

type GetServerRoleMemberTypeInput

type GetServerRoleMemberTypeInput interface {
	pulumi.Input

	ToGetServerRoleMemberTypeOutput() GetServerRoleMemberTypeOutput
	ToGetServerRoleMemberTypeOutputWithContext(context.Context) GetServerRoleMemberTypeOutput
}

GetServerRoleMemberTypeInput is an input type that accepts GetServerRoleMemberTypeArgs and GetServerRoleMemberTypeOutput values. You can construct a concrete instance of `GetServerRoleMemberTypeInput` via:

GetServerRoleMemberTypeArgs{...}

type GetServerRoleMemberTypeOutput

type GetServerRoleMemberTypeOutput struct{ *pulumi.OutputState }

func (GetServerRoleMemberTypeOutput) ElementType

func (GetServerRoleMemberTypeOutput) Id

ID of the member principal

func (GetServerRoleMemberTypeOutput) Name

Name of the server principal

func (GetServerRoleMemberTypeOutput) ToGetServerRoleMemberTypeOutput

func (o GetServerRoleMemberTypeOutput) ToGetServerRoleMemberTypeOutput() GetServerRoleMemberTypeOutput

func (GetServerRoleMemberTypeOutput) ToGetServerRoleMemberTypeOutputWithContext

func (o GetServerRoleMemberTypeOutput) ToGetServerRoleMemberTypeOutputWithContext(ctx context.Context) GetServerRoleMemberTypeOutput

func (GetServerRoleMemberTypeOutput) ToOutput added in v0.0.8

func (GetServerRoleMemberTypeOutput) Type

One of: `SQL_LOGIN`, `SERVER_ROLE`

type GetServerRolesResult

type GetServerRolesResult struct {
	Id string `pulumi:"id"`
	// Set of all roles found in the server
	Roles []GetServerRolesRole `pulumi:"roles"`
}

A collection of values returned by getServerRoles.

func GetServerRoles

func GetServerRoles(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetServerRolesResult, error)

Obtains information about all roles defined in the server.

## Example Usage

```go package main

import (

"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 {
		all, err := mssql.GetServerRoles(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("roles", all.Roles)
		return nil
	})
}

```

type GetServerRolesResultOutput added in v0.0.8

type GetServerRolesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getServerRoles.

func GetServerRolesOutput added in v0.0.8

func GetServerRolesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetServerRolesResultOutput

func (GetServerRolesResultOutput) ElementType added in v0.0.8

func (GetServerRolesResultOutput) ElementType() reflect.Type

func (GetServerRolesResultOutput) Id added in v0.0.8

func (GetServerRolesResultOutput) Roles added in v0.0.8

Set of all roles found in the server

func (GetServerRolesResultOutput) ToGetServerRolesResultOutput added in v0.0.8

func (o GetServerRolesResultOutput) ToGetServerRolesResultOutput() GetServerRolesResultOutput

func (GetServerRolesResultOutput) ToGetServerRolesResultOutputWithContext added in v0.0.8

func (o GetServerRolesResultOutput) ToGetServerRolesResultOutputWithContext(ctx context.Context) GetServerRolesResultOutput

func (GetServerRolesResultOutput) ToOutput added in v0.0.8

type GetServerRolesRole

type GetServerRolesRole struct {
	// Role principal ID.
	Id string `pulumi:"id"`
	// Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars.
	Name string `pulumi:"name"`
	// ID of another server role or login owning this role. Can be retrieved using `ServerRole` or `SqlLogin`.
	OwnerId string `pulumi:"ownerId"`
}

type GetServerRolesRoleArgs

type GetServerRolesRoleArgs struct {
	// Role principal ID.
	Id pulumi.StringInput `pulumi:"id"`
	// Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars.
	Name pulumi.StringInput `pulumi:"name"`
	// ID of another server role or login owning this role. Can be retrieved using `ServerRole` or `SqlLogin`.
	OwnerId pulumi.StringInput `pulumi:"ownerId"`
}

func (GetServerRolesRoleArgs) ElementType

func (GetServerRolesRoleArgs) ElementType() reflect.Type

func (GetServerRolesRoleArgs) ToGetServerRolesRoleOutput

func (i GetServerRolesRoleArgs) ToGetServerRolesRoleOutput() GetServerRolesRoleOutput

func (GetServerRolesRoleArgs) ToGetServerRolesRoleOutputWithContext

func (i GetServerRolesRoleArgs) ToGetServerRolesRoleOutputWithContext(ctx context.Context) GetServerRolesRoleOutput

func (GetServerRolesRoleArgs) ToOutput added in v0.0.8

type GetServerRolesRoleArray

type GetServerRolesRoleArray []GetServerRolesRoleInput

func (GetServerRolesRoleArray) ElementType

func (GetServerRolesRoleArray) ElementType() reflect.Type

func (GetServerRolesRoleArray) ToGetServerRolesRoleArrayOutput

func (i GetServerRolesRoleArray) ToGetServerRolesRoleArrayOutput() GetServerRolesRoleArrayOutput

func (GetServerRolesRoleArray) ToGetServerRolesRoleArrayOutputWithContext

func (i GetServerRolesRoleArray) ToGetServerRolesRoleArrayOutputWithContext(ctx context.Context) GetServerRolesRoleArrayOutput

func (GetServerRolesRoleArray) ToOutput added in v0.0.8

type GetServerRolesRoleArrayInput

type GetServerRolesRoleArrayInput interface {
	pulumi.Input

	ToGetServerRolesRoleArrayOutput() GetServerRolesRoleArrayOutput
	ToGetServerRolesRoleArrayOutputWithContext(context.Context) GetServerRolesRoleArrayOutput
}

GetServerRolesRoleArrayInput is an input type that accepts GetServerRolesRoleArray and GetServerRolesRoleArrayOutput values. You can construct a concrete instance of `GetServerRolesRoleArrayInput` via:

GetServerRolesRoleArray{ GetServerRolesRoleArgs{...} }

type GetServerRolesRoleArrayOutput

type GetServerRolesRoleArrayOutput struct{ *pulumi.OutputState }

func (GetServerRolesRoleArrayOutput) ElementType

func (GetServerRolesRoleArrayOutput) Index

func (GetServerRolesRoleArrayOutput) ToGetServerRolesRoleArrayOutput

func (o GetServerRolesRoleArrayOutput) ToGetServerRolesRoleArrayOutput() GetServerRolesRoleArrayOutput

func (GetServerRolesRoleArrayOutput) ToGetServerRolesRoleArrayOutputWithContext

func (o GetServerRolesRoleArrayOutput) ToGetServerRolesRoleArrayOutputWithContext(ctx context.Context) GetServerRolesRoleArrayOutput

func (GetServerRolesRoleArrayOutput) ToOutput added in v0.0.8

type GetServerRolesRoleInput

type GetServerRolesRoleInput interface {
	pulumi.Input

	ToGetServerRolesRoleOutput() GetServerRolesRoleOutput
	ToGetServerRolesRoleOutputWithContext(context.Context) GetServerRolesRoleOutput
}

GetServerRolesRoleInput is an input type that accepts GetServerRolesRoleArgs and GetServerRolesRoleOutput values. You can construct a concrete instance of `GetServerRolesRoleInput` via:

GetServerRolesRoleArgs{...}

type GetServerRolesRoleOutput

type GetServerRolesRoleOutput struct{ *pulumi.OutputState }

func (GetServerRolesRoleOutput) ElementType

func (GetServerRolesRoleOutput) ElementType() reflect.Type

func (GetServerRolesRoleOutput) Id

Role principal ID.

func (GetServerRolesRoleOutput) Name

Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars.

func (GetServerRolesRoleOutput) OwnerId

ID of another server role or login owning this role. Can be retrieved using `ServerRole` or `SqlLogin`.

func (GetServerRolesRoleOutput) ToGetServerRolesRoleOutput

func (o GetServerRolesRoleOutput) ToGetServerRolesRoleOutput() GetServerRolesRoleOutput

func (GetServerRolesRoleOutput) ToGetServerRolesRoleOutputWithContext

func (o GetServerRolesRoleOutput) ToGetServerRolesRoleOutputWithContext(ctx context.Context) GetServerRolesRoleOutput

func (GetServerRolesRoleOutput) ToOutput added in v0.0.8

type GetSqlLoginsLogin

type GetSqlLoginsLogin struct {
	// When `true`, password expiration policy is enforced for this login.
	CheckPasswordExpiration bool `pulumi:"checkPasswordExpiration"`
	// When `true`, the Windows password policies of the computer on which SQL Server is running are enforced on this login.
	CheckPasswordPolicy bool `pulumi:"checkPasswordPolicy"`
	// ID of login's default DB. The ID can be retrieved using `Database` data resource.
	DefaultDatabaseId string `pulumi:"defaultDatabaseId"`
	// Default language assigned to login.
	DefaultLanguage string `pulumi:"defaultLanguage"`
	// Login SID. Can be retrieved using `SELECT SUSER_SID('<login_name>')`.
	Id string `pulumi:"id"`
	// When true, password change will be forced on first logon.
	MustChangePassword bool `pulumi:"mustChangePassword"`
	// Login name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot contain `\`
	Name string `pulumi:"name"`
	// ID used to reference SQL Login in other resources, e.g. `serverRole`. Can be retrieved from `sys.sql_logins`.
	PrincipalId string `pulumi:"principalId"`
}

type GetSqlLoginsLoginArgs

type GetSqlLoginsLoginArgs struct {
	// When `true`, password expiration policy is enforced for this login.
	CheckPasswordExpiration pulumi.BoolInput `pulumi:"checkPasswordExpiration"`
	// When `true`, the Windows password policies of the computer on which SQL Server is running are enforced on this login.
	CheckPasswordPolicy pulumi.BoolInput `pulumi:"checkPasswordPolicy"`
	// ID of login's default DB. The ID can be retrieved using `Database` data resource.
	DefaultDatabaseId pulumi.StringInput `pulumi:"defaultDatabaseId"`
	// Default language assigned to login.
	DefaultLanguage pulumi.StringInput `pulumi:"defaultLanguage"`
	// Login SID. Can be retrieved using `SELECT SUSER_SID('<login_name>')`.
	Id pulumi.StringInput `pulumi:"id"`
	// When true, password change will be forced on first logon.
	MustChangePassword pulumi.BoolInput `pulumi:"mustChangePassword"`
	// Login name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot contain `\`
	Name pulumi.StringInput `pulumi:"name"`
	// ID used to reference SQL Login in other resources, e.g. `serverRole`. Can be retrieved from `sys.sql_logins`.
	PrincipalId pulumi.StringInput `pulumi:"principalId"`
}

func (GetSqlLoginsLoginArgs) ElementType

func (GetSqlLoginsLoginArgs) ElementType() reflect.Type

func (GetSqlLoginsLoginArgs) ToGetSqlLoginsLoginOutput

func (i GetSqlLoginsLoginArgs) ToGetSqlLoginsLoginOutput() GetSqlLoginsLoginOutput

func (GetSqlLoginsLoginArgs) ToGetSqlLoginsLoginOutputWithContext

func (i GetSqlLoginsLoginArgs) ToGetSqlLoginsLoginOutputWithContext(ctx context.Context) GetSqlLoginsLoginOutput

func (GetSqlLoginsLoginArgs) ToOutput added in v0.0.8

type GetSqlLoginsLoginArray

type GetSqlLoginsLoginArray []GetSqlLoginsLoginInput

func (GetSqlLoginsLoginArray) ElementType

func (GetSqlLoginsLoginArray) ElementType() reflect.Type

func (GetSqlLoginsLoginArray) ToGetSqlLoginsLoginArrayOutput

func (i GetSqlLoginsLoginArray) ToGetSqlLoginsLoginArrayOutput() GetSqlLoginsLoginArrayOutput

func (GetSqlLoginsLoginArray) ToGetSqlLoginsLoginArrayOutputWithContext

func (i GetSqlLoginsLoginArray) ToGetSqlLoginsLoginArrayOutputWithContext(ctx context.Context) GetSqlLoginsLoginArrayOutput

func (GetSqlLoginsLoginArray) ToOutput added in v0.0.8

type GetSqlLoginsLoginArrayInput

type GetSqlLoginsLoginArrayInput interface {
	pulumi.Input

	ToGetSqlLoginsLoginArrayOutput() GetSqlLoginsLoginArrayOutput
	ToGetSqlLoginsLoginArrayOutputWithContext(context.Context) GetSqlLoginsLoginArrayOutput
}

GetSqlLoginsLoginArrayInput is an input type that accepts GetSqlLoginsLoginArray and GetSqlLoginsLoginArrayOutput values. You can construct a concrete instance of `GetSqlLoginsLoginArrayInput` via:

GetSqlLoginsLoginArray{ GetSqlLoginsLoginArgs{...} }

type GetSqlLoginsLoginArrayOutput

type GetSqlLoginsLoginArrayOutput struct{ *pulumi.OutputState }

func (GetSqlLoginsLoginArrayOutput) ElementType

func (GetSqlLoginsLoginArrayOutput) Index

func (GetSqlLoginsLoginArrayOutput) ToGetSqlLoginsLoginArrayOutput

func (o GetSqlLoginsLoginArrayOutput) ToGetSqlLoginsLoginArrayOutput() GetSqlLoginsLoginArrayOutput

func (GetSqlLoginsLoginArrayOutput) ToGetSqlLoginsLoginArrayOutputWithContext

func (o GetSqlLoginsLoginArrayOutput) ToGetSqlLoginsLoginArrayOutputWithContext(ctx context.Context) GetSqlLoginsLoginArrayOutput

func (GetSqlLoginsLoginArrayOutput) ToOutput added in v0.0.8

type GetSqlLoginsLoginInput

type GetSqlLoginsLoginInput interface {
	pulumi.Input

	ToGetSqlLoginsLoginOutput() GetSqlLoginsLoginOutput
	ToGetSqlLoginsLoginOutputWithContext(context.Context) GetSqlLoginsLoginOutput
}

GetSqlLoginsLoginInput is an input type that accepts GetSqlLoginsLoginArgs and GetSqlLoginsLoginOutput values. You can construct a concrete instance of `GetSqlLoginsLoginInput` via:

GetSqlLoginsLoginArgs{...}

type GetSqlLoginsLoginOutput

type GetSqlLoginsLoginOutput struct{ *pulumi.OutputState }

func (GetSqlLoginsLoginOutput) CheckPasswordExpiration

func (o GetSqlLoginsLoginOutput) CheckPasswordExpiration() pulumi.BoolOutput

When `true`, password expiration policy is enforced for this login.

func (GetSqlLoginsLoginOutput) CheckPasswordPolicy

func (o GetSqlLoginsLoginOutput) CheckPasswordPolicy() pulumi.BoolOutput

When `true`, the Windows password policies of the computer on which SQL Server is running are enforced on this login.

func (GetSqlLoginsLoginOutput) DefaultDatabaseId

func (o GetSqlLoginsLoginOutput) DefaultDatabaseId() pulumi.StringOutput

ID of login's default DB. The ID can be retrieved using `Database` data resource.

func (GetSqlLoginsLoginOutput) DefaultLanguage

func (o GetSqlLoginsLoginOutput) DefaultLanguage() pulumi.StringOutput

Default language assigned to login.

func (GetSqlLoginsLoginOutput) ElementType

func (GetSqlLoginsLoginOutput) ElementType() reflect.Type

func (GetSqlLoginsLoginOutput) Id

Login SID. Can be retrieved using `SELECT SUSER_SID('<login_name>')`.

func (GetSqlLoginsLoginOutput) MustChangePassword

func (o GetSqlLoginsLoginOutput) MustChangePassword() pulumi.BoolOutput

When true, password change will be forced on first logon.

func (GetSqlLoginsLoginOutput) Name

Login name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot contain `\`

func (GetSqlLoginsLoginOutput) PrincipalId

ID used to reference SQL Login in other resources, e.g. `serverRole`. Can be retrieved from `sys.sql_logins`.

func (GetSqlLoginsLoginOutput) ToGetSqlLoginsLoginOutput

func (o GetSqlLoginsLoginOutput) ToGetSqlLoginsLoginOutput() GetSqlLoginsLoginOutput

func (GetSqlLoginsLoginOutput) ToGetSqlLoginsLoginOutputWithContext

func (o GetSqlLoginsLoginOutput) ToGetSqlLoginsLoginOutputWithContext(ctx context.Context) GetSqlLoginsLoginOutput

func (GetSqlLoginsLoginOutput) ToOutput added in v0.0.8

type GetSqlLoginsResult

type GetSqlLoginsResult struct {
	// ID of the resource used only internally by the provider.
	Id string `pulumi:"id"`
	// Set of SQL login objects
	Logins []GetSqlLoginsLogin `pulumi:"logins"`
}

A collection of values returned by getSqlLogins.

func GetSqlLogins

func GetSqlLogins(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetSqlLoginsResult, error)

Obtains information about all SQL logins found in SQL Server instance.

## Example Usage

```go package main

import (

"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 {
		example, err := mssql.GetSqlLogins(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("databases", example.Logins)
		return nil
	})
}

```

type GetSqlLoginsResultOutput added in v0.0.8

type GetSqlLoginsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSqlLogins.

func GetSqlLoginsOutput added in v0.0.8

func GetSqlLoginsOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetSqlLoginsResultOutput

func (GetSqlLoginsResultOutput) ElementType added in v0.0.8

func (GetSqlLoginsResultOutput) ElementType() reflect.Type

func (GetSqlLoginsResultOutput) Id added in v0.0.8

ID of the resource used only internally by the provider.

func (GetSqlLoginsResultOutput) Logins added in v0.0.8

Set of SQL login objects

func (GetSqlLoginsResultOutput) ToGetSqlLoginsResultOutput added in v0.0.8

func (o GetSqlLoginsResultOutput) ToGetSqlLoginsResultOutput() GetSqlLoginsResultOutput

func (GetSqlLoginsResultOutput) ToGetSqlLoginsResultOutputWithContext added in v0.0.8

func (o GetSqlLoginsResultOutput) ToGetSqlLoginsResultOutputWithContext(ctx context.Context) GetSqlLoginsResultOutput

func (GetSqlLoginsResultOutput) ToOutput added in v0.0.8

type GetSqlUsersArgs

type GetSqlUsersArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId *string `pulumi:"databaseId"`
}

A collection of arguments for invoking getSqlUsers.

type GetSqlUsersOutputArgs

type GetSqlUsersOutputArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringPtrInput `pulumi:"databaseId"`
}

A collection of arguments for invoking getSqlUsers.

func (GetSqlUsersOutputArgs) ElementType

func (GetSqlUsersOutputArgs) ElementType() reflect.Type

type GetSqlUsersResult

type GetSqlUsersResult struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.
	DatabaseId *string `pulumi:"databaseId"`
	// ID of the resource, equals to database ID
	Id string `pulumi:"id"`
	// Set of SQL user objects
	Users []GetSqlUsersUser `pulumi:"users"`
}

A collection of values returned by getSqlUsers.

func GetSqlUsers

func GetSqlUsers(ctx *pulumi.Context, args *GetSqlUsersArgs, opts ...pulumi.InvokeOption) (*GetSqlUsersResult, error)

Obtains information about all SQL users found in a database

## Example Usage

```go package main

import (

"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 {
		master, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "master",
		}, nil)
		if err != nil {
			return err
		}
		example, err := mssql.GetSqlUsers(ctx, &mssql.GetSqlUsersArgs{
			DatabaseId: pulumi.StringRef(master.Id),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("users", example.Users)
		return nil
	})
}

```

type GetSqlUsersResultOutput

type GetSqlUsersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSqlUsers.

func (GetSqlUsersResultOutput) DatabaseId

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.

func (GetSqlUsersResultOutput) ElementType

func (GetSqlUsersResultOutput) ElementType() reflect.Type

func (GetSqlUsersResultOutput) Id

ID of the resource, equals to database ID

func (GetSqlUsersResultOutput) ToGetSqlUsersResultOutput

func (o GetSqlUsersResultOutput) ToGetSqlUsersResultOutput() GetSqlUsersResultOutput

func (GetSqlUsersResultOutput) ToGetSqlUsersResultOutputWithContext

func (o GetSqlUsersResultOutput) ToGetSqlUsersResultOutputWithContext(ctx context.Context) GetSqlUsersResultOutput

func (GetSqlUsersResultOutput) ToOutput added in v0.0.8

func (GetSqlUsersResultOutput) Users

Set of SQL user objects

type GetSqlUsersUser

type GetSqlUsersUser struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId string `pulumi:"databaseId"`
	// `<database_id>/<user_id>`. User ID can be retrieved using `SELECT DATABASE_PRINCIPAL_ID('<user_name>')`.
	Id string `pulumi:"id"`
	// SID of SQL login. Can be retrieved using `SqlLogin` or `SELECT SUSER_SID('<login_name>')`.
	LoginId string `pulumi:"loginId"`
	// User name. Cannot be longer than 128 chars.
	Name string `pulumi:"name"`
}

type GetSqlUsersUserArgs

type GetSqlUsersUserArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringInput `pulumi:"databaseId"`
	// `<database_id>/<user_id>`. User ID can be retrieved using `SELECT DATABASE_PRINCIPAL_ID('<user_name>')`.
	Id pulumi.StringInput `pulumi:"id"`
	// SID of SQL login. Can be retrieved using `SqlLogin` or `SELECT SUSER_SID('<login_name>')`.
	LoginId pulumi.StringInput `pulumi:"loginId"`
	// User name. Cannot be longer than 128 chars.
	Name pulumi.StringInput `pulumi:"name"`
}

func (GetSqlUsersUserArgs) ElementType

func (GetSqlUsersUserArgs) ElementType() reflect.Type

func (GetSqlUsersUserArgs) ToGetSqlUsersUserOutput

func (i GetSqlUsersUserArgs) ToGetSqlUsersUserOutput() GetSqlUsersUserOutput

func (GetSqlUsersUserArgs) ToGetSqlUsersUserOutputWithContext

func (i GetSqlUsersUserArgs) ToGetSqlUsersUserOutputWithContext(ctx context.Context) GetSqlUsersUserOutput

func (GetSqlUsersUserArgs) ToOutput added in v0.0.8

type GetSqlUsersUserArray

type GetSqlUsersUserArray []GetSqlUsersUserInput

func (GetSqlUsersUserArray) ElementType

func (GetSqlUsersUserArray) ElementType() reflect.Type

func (GetSqlUsersUserArray) ToGetSqlUsersUserArrayOutput

func (i GetSqlUsersUserArray) ToGetSqlUsersUserArrayOutput() GetSqlUsersUserArrayOutput

func (GetSqlUsersUserArray) ToGetSqlUsersUserArrayOutputWithContext

func (i GetSqlUsersUserArray) ToGetSqlUsersUserArrayOutputWithContext(ctx context.Context) GetSqlUsersUserArrayOutput

func (GetSqlUsersUserArray) ToOutput added in v0.0.8

type GetSqlUsersUserArrayInput

type GetSqlUsersUserArrayInput interface {
	pulumi.Input

	ToGetSqlUsersUserArrayOutput() GetSqlUsersUserArrayOutput
	ToGetSqlUsersUserArrayOutputWithContext(context.Context) GetSqlUsersUserArrayOutput
}

GetSqlUsersUserArrayInput is an input type that accepts GetSqlUsersUserArray and GetSqlUsersUserArrayOutput values. You can construct a concrete instance of `GetSqlUsersUserArrayInput` via:

GetSqlUsersUserArray{ GetSqlUsersUserArgs{...} }

type GetSqlUsersUserArrayOutput

type GetSqlUsersUserArrayOutput struct{ *pulumi.OutputState }

func (GetSqlUsersUserArrayOutput) ElementType

func (GetSqlUsersUserArrayOutput) ElementType() reflect.Type

func (GetSqlUsersUserArrayOutput) Index

func (GetSqlUsersUserArrayOutput) ToGetSqlUsersUserArrayOutput

func (o GetSqlUsersUserArrayOutput) ToGetSqlUsersUserArrayOutput() GetSqlUsersUserArrayOutput

func (GetSqlUsersUserArrayOutput) ToGetSqlUsersUserArrayOutputWithContext

func (o GetSqlUsersUserArrayOutput) ToGetSqlUsersUserArrayOutputWithContext(ctx context.Context) GetSqlUsersUserArrayOutput

func (GetSqlUsersUserArrayOutput) ToOutput added in v0.0.8

type GetSqlUsersUserInput

type GetSqlUsersUserInput interface {
	pulumi.Input

	ToGetSqlUsersUserOutput() GetSqlUsersUserOutput
	ToGetSqlUsersUserOutputWithContext(context.Context) GetSqlUsersUserOutput
}

GetSqlUsersUserInput is an input type that accepts GetSqlUsersUserArgs and GetSqlUsersUserOutput values. You can construct a concrete instance of `GetSqlUsersUserInput` via:

GetSqlUsersUserArgs{...}

type GetSqlUsersUserOutput

type GetSqlUsersUserOutput struct{ *pulumi.OutputState }

func (GetSqlUsersUserOutput) DatabaseId

func (o GetSqlUsersUserOutput) DatabaseId() pulumi.StringOutput

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.

func (GetSqlUsersUserOutput) ElementType

func (GetSqlUsersUserOutput) ElementType() reflect.Type

func (GetSqlUsersUserOutput) Id

`<database_id>/<user_id>`. User ID can be retrieved using `SELECT DATABASE_PRINCIPAL_ID('<user_name>')`.

func (GetSqlUsersUserOutput) LoginId

SID of SQL login. Can be retrieved using `SqlLogin` or `SELECT SUSER_SID('<login_name>')`.

func (GetSqlUsersUserOutput) Name

User name. Cannot be longer than 128 chars.

func (GetSqlUsersUserOutput) ToGetSqlUsersUserOutput

func (o GetSqlUsersUserOutput) ToGetSqlUsersUserOutput() GetSqlUsersUserOutput

func (GetSqlUsersUserOutput) ToGetSqlUsersUserOutputWithContext

func (o GetSqlUsersUserOutput) ToGetSqlUsersUserOutputWithContext(ctx context.Context) GetSqlUsersUserOutput

func (GetSqlUsersUserOutput) ToOutput added in v0.0.8

type LookupAzureadServicePrincipalArgs

type LookupAzureadServicePrincipalArgs struct {
	// Azure AD clientId of the Service Principal. This can be either regular Service Principal or Managed Service Identity.
	ClientId *string `pulumi:"clientId"`
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId string `pulumi:"databaseId"`
	// User name. Cannot be longer than 128 chars.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getAzureadServicePrincipal.

type LookupAzureadServicePrincipalOutputArgs

type LookupAzureadServicePrincipalOutputArgs struct {
	// Azure AD clientId of the Service Principal. This can be either regular Service Principal or Managed Service Identity.
	ClientId pulumi.StringPtrInput `pulumi:"clientId"`
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringInput `pulumi:"databaseId"`
	// User name. Cannot be longer than 128 chars.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

A collection of arguments for invoking getAzureadServicePrincipal.

func (LookupAzureadServicePrincipalOutputArgs) ElementType

type LookupAzureadServicePrincipalResult

type LookupAzureadServicePrincipalResult struct {
	// Azure AD clientId of the Service Principal. This can be either regular Service Principal or Managed Service Identity.
	ClientId string `pulumi:"clientId"`
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId string `pulumi:"databaseId"`
	// `<database_id>/<user_id>`. User ID can be retrieved using `sys.database_principals` view.
	Id string `pulumi:"id"`
	// User name. Cannot be longer than 128 chars.
	Name string `pulumi:"name"`
}

A collection of values returned by getAzureadServicePrincipal.

func LookupAzureadServicePrincipal

Obtains information about single Azure AD Service Principal database user.

## Example Usage

```go package main

import (

"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 {
		exampleDatabase, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		exampleAzureadServicePrincipal, err := mssql.LookupAzureadServicePrincipal(ctx, &mssql.LookupAzureadServicePrincipalArgs{
			Name:       pulumi.StringRef("example"),
			DatabaseId: exampleDatabase.Id,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("appClientId", exampleAzureadServicePrincipal.ClientId)
		return nil
	})
}

```

type LookupAzureadServicePrincipalResultOutput

type LookupAzureadServicePrincipalResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAzureadServicePrincipal.

func (LookupAzureadServicePrincipalResultOutput) ClientId

Azure AD clientId of the Service Principal. This can be either regular Service Principal or Managed Service Identity.

func (LookupAzureadServicePrincipalResultOutput) DatabaseId

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.

func (LookupAzureadServicePrincipalResultOutput) ElementType

func (LookupAzureadServicePrincipalResultOutput) Id

`<database_id>/<user_id>`. User ID can be retrieved using `sys.database_principals` view.

func (LookupAzureadServicePrincipalResultOutput) Name

User name. Cannot be longer than 128 chars.

func (LookupAzureadServicePrincipalResultOutput) ToLookupAzureadServicePrincipalResultOutput

func (o LookupAzureadServicePrincipalResultOutput) ToLookupAzureadServicePrincipalResultOutput() LookupAzureadServicePrincipalResultOutput

func (LookupAzureadServicePrincipalResultOutput) ToLookupAzureadServicePrincipalResultOutputWithContext

func (o LookupAzureadServicePrincipalResultOutput) ToLookupAzureadServicePrincipalResultOutputWithContext(ctx context.Context) LookupAzureadServicePrincipalResultOutput

func (LookupAzureadServicePrincipalResultOutput) ToOutput added in v0.0.8

type LookupAzureadUserArgs

type LookupAzureadUserArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId string `pulumi:"databaseId"`
	// User name. Cannot be longer than 128 chars.
	Name *string `pulumi:"name"`
	// Azure AD objectId of the user. This can be either regular user or a group.
	UserObjectId *string `pulumi:"userObjectId"`
}

A collection of arguments for invoking getAzureadUser.

type LookupAzureadUserOutputArgs

type LookupAzureadUserOutputArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringInput `pulumi:"databaseId"`
	// User name. Cannot be longer than 128 chars.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Azure AD objectId of the user. This can be either regular user or a group.
	UserObjectId pulumi.StringPtrInput `pulumi:"userObjectId"`
}

A collection of arguments for invoking getAzureadUser.

func (LookupAzureadUserOutputArgs) ElementType

type LookupAzureadUserResult

type LookupAzureadUserResult struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId string `pulumi:"databaseId"`
	// `<database_id>/<user_id>`. User ID can be retrieved using `sys.database_principals` view.
	Id string `pulumi:"id"`
	// User name. Cannot be longer than 128 chars.
	Name string `pulumi:"name"`
	// Azure AD objectId of the user. This can be either regular user or a group.
	UserObjectId string `pulumi:"userObjectId"`
}

A collection of values returned by getAzureadUser.

func LookupAzureadUser

func LookupAzureadUser(ctx *pulumi.Context, args *LookupAzureadUserArgs, opts ...pulumi.InvokeOption) (*LookupAzureadUserResult, error)

Obtains information about single Azure AD database user.

## Example Usage

```go package main

import (

"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 {
		exampleDatabase, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		exampleAzureadUser, err := mssql.LookupAzureadUser(ctx, &mssql.LookupAzureadUserArgs{
			Name:       pulumi.StringRef("example"),
			DatabaseId: exampleDatabase.Id,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("userObjectId", exampleAzureadUser.UserObjectId)
		return nil
	})
}

```

type LookupAzureadUserResultOutput

type LookupAzureadUserResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAzureadUser.

func (LookupAzureadUserResultOutput) DatabaseId

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.

func (LookupAzureadUserResultOutput) ElementType

func (LookupAzureadUserResultOutput) Id

`<database_id>/<user_id>`. User ID can be retrieved using `sys.database_principals` view.

func (LookupAzureadUserResultOutput) Name

User name. Cannot be longer than 128 chars.

func (LookupAzureadUserResultOutput) ToLookupAzureadUserResultOutput

func (o LookupAzureadUserResultOutput) ToLookupAzureadUserResultOutput() LookupAzureadUserResultOutput

func (LookupAzureadUserResultOutput) ToLookupAzureadUserResultOutputWithContext

func (o LookupAzureadUserResultOutput) ToLookupAzureadUserResultOutputWithContext(ctx context.Context) LookupAzureadUserResultOutput

func (LookupAzureadUserResultOutput) ToOutput added in v0.0.8

func (LookupAzureadUserResultOutput) UserObjectId

Azure AD objectId of the user. This can be either regular user or a group.

type LookupDatabaseArgs

type LookupDatabaseArgs struct {
	// Database name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers).
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getDatabase.

type LookupDatabaseOutputArgs

type LookupDatabaseOutputArgs struct {
	// Database name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers).
	Name pulumi.StringInput `pulumi:"name"`
}

A collection of arguments for invoking getDatabase.

func (LookupDatabaseOutputArgs) ElementType

func (LookupDatabaseOutputArgs) ElementType() reflect.Type

type LookupDatabaseResult

type LookupDatabaseResult struct {
	// Default collation name. Can be either a Windows collation name or a SQL collation name.
	Collation string `pulumi:"collation"`
	// Database ID. Can be retrieved using `SELECT DB_ID('<db_name>')`.
	Id string `pulumi:"id"`
	// Database name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers).
	Name string `pulumi:"name"`
}

A collection of values returned by getDatabase.

func LookupDatabase

func LookupDatabase(ctx *pulumi.Context, args *LookupDatabaseArgs, opts ...pulumi.InvokeOption) (*LookupDatabaseResult, error)

Obtains information about single database.

## Example Usage

```go package main

import (

"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 {
		example, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("dbId", example.Id)
		ctx.Export("dbCollation", example.Collation)
		return nil
	})
}

```

type LookupDatabaseResultOutput

type LookupDatabaseResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDatabase.

func (LookupDatabaseResultOutput) Collation

Default collation name. Can be either a Windows collation name or a SQL collation name.

func (LookupDatabaseResultOutput) ElementType

func (LookupDatabaseResultOutput) ElementType() reflect.Type

func (LookupDatabaseResultOutput) Id

Database ID. Can be retrieved using `SELECT DB_ID('<db_name>')`.

func (LookupDatabaseResultOutput) Name

Database name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers).

func (LookupDatabaseResultOutput) ToLookupDatabaseResultOutput

func (o LookupDatabaseResultOutput) ToLookupDatabaseResultOutput() LookupDatabaseResultOutput

func (LookupDatabaseResultOutput) ToLookupDatabaseResultOutputWithContext

func (o LookupDatabaseResultOutput) ToLookupDatabaseResultOutputWithContext(ctx context.Context) LookupDatabaseResultOutput

func (LookupDatabaseResultOutput) ToOutput added in v0.0.8

type LookupDatabaseRoleArgs

type LookupDatabaseRoleArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.
	DatabaseId *string `pulumi:"databaseId"`
	// Name of the database principal.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getDatabaseRole.

type LookupDatabaseRoleOutputArgs

type LookupDatabaseRoleOutputArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.
	DatabaseId pulumi.StringPtrInput `pulumi:"databaseId"`
	// Name of the database principal.
	Name pulumi.StringInput `pulumi:"name"`
}

A collection of arguments for invoking getDatabaseRole.

func (LookupDatabaseRoleOutputArgs) ElementType

type LookupDatabaseRoleResult

type LookupDatabaseRoleResult struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.
	DatabaseId *string `pulumi:"databaseId"`
	// `<database_id>/<role_id>`. Role ID can be retrieved using `SELECT DATABASE_PRINCIPAL_ID('<role_name>')`
	Id string `pulumi:"id"`
	// Set of role members
	Members []GetDatabaseRoleMemberType `pulumi:"members"`
	// Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars.
	Name string `pulumi:"name"`
	// ID of another database role or user owning this role. Can be retrieved using `DatabaseRole` or `SqlUser`.
	OwnerId string `pulumi:"ownerId"`
}

A collection of values returned by getDatabaseRole.

func LookupDatabaseRole

func LookupDatabaseRole(ctx *pulumi.Context, args *LookupDatabaseRoleArgs, opts ...pulumi.InvokeOption) (*LookupDatabaseRoleResult, error)

Obtains information about single database role.

## Example Usage

```go package main

import (

"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 {
		master, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "master",
		}, nil)
		if err != nil {
			return err
		}
		example, err := mssql.LookupDatabaseRole(ctx, &mssql.LookupDatabaseRoleArgs{
			Name:       "public",
			DatabaseId: pulumi.StringRef(master.Id),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}

```

type LookupDatabaseRoleResultOutput

type LookupDatabaseRoleResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDatabaseRole.

func (LookupDatabaseRoleResultOutput) DatabaseId

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.

func (LookupDatabaseRoleResultOutput) ElementType

func (LookupDatabaseRoleResultOutput) Id

`<database_id>/<role_id>`. Role ID can be retrieved using `SELECT DATABASE_PRINCIPAL_ID('<role_name>')`

func (LookupDatabaseRoleResultOutput) Members

Set of role members

func (LookupDatabaseRoleResultOutput) Name

Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars.

func (LookupDatabaseRoleResultOutput) OwnerId

ID of another database role or user owning this role. Can be retrieved using `DatabaseRole` or `SqlUser`.

func (LookupDatabaseRoleResultOutput) ToLookupDatabaseRoleResultOutput

func (o LookupDatabaseRoleResultOutput) ToLookupDatabaseRoleResultOutput() LookupDatabaseRoleResultOutput

func (LookupDatabaseRoleResultOutput) ToLookupDatabaseRoleResultOutputWithContext

func (o LookupDatabaseRoleResultOutput) ToLookupDatabaseRoleResultOutputWithContext(ctx context.Context) LookupDatabaseRoleResultOutput

func (LookupDatabaseRoleResultOutput) ToOutput added in v0.0.8

type LookupSchemaArgs

type LookupSchemaArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId *string `pulumi:"databaseId"`
	// `<database_id>/<schema_id>`. Schema ID can be retrieved using `SELECT SCHEMA_ID('<schema_name>')`. Either `id` or `name` must be provided.
	Id *string `pulumi:"id"`
	// Schema name. Either `id` or `name` must be provided.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getSchema.

type LookupSchemaOutputArgs

type LookupSchemaOutputArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringPtrInput `pulumi:"databaseId"`
	// `<database_id>/<schema_id>`. Schema ID can be retrieved using `SELECT SCHEMA_ID('<schema_name>')`. Either `id` or `name` must be provided.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Schema name. Either `id` or `name` must be provided.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

A collection of arguments for invoking getSchema.

func (LookupSchemaOutputArgs) ElementType

func (LookupSchemaOutputArgs) ElementType() reflect.Type

type LookupSchemaResult

type LookupSchemaResult struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId string `pulumi:"databaseId"`
	// `<database_id>/<schema_id>`. Schema ID can be retrieved using `SELECT SCHEMA_ID('<schema_name>')`. Either `id` or `name` must be provided.
	Id string `pulumi:"id"`
	// Schema name. Either `id` or `name` must be provided.
	Name string `pulumi:"name"`
	// ID of database role or user owning this schema. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`
	OwnerId string `pulumi:"ownerId"`
}

A collection of values returned by getSchema.

func LookupSchema

func LookupSchema(ctx *pulumi.Context, args *LookupSchemaArgs, opts ...pulumi.InvokeOption) (*LookupSchemaResult, error)

Retrieves information about DB schema.

## Example Usage

```go package main

import (

"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 {
		example, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		_, err = mssql.LookupSchema(ctx, &mssql.LookupSchemaArgs{
			DatabaseId: pulumi.StringRef(example.Id),
			Name:       pulumi.StringRef("dbo"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupSchemaResultOutput

type LookupSchemaResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSchema.

func (LookupSchemaResultOutput) DatabaseId

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.

func (LookupSchemaResultOutput) ElementType

func (LookupSchemaResultOutput) ElementType() reflect.Type

func (LookupSchemaResultOutput) Id

`<database_id>/<schema_id>`. Schema ID can be retrieved using `SELECT SCHEMA_ID('<schema_name>')`. Either `id` or `name` must be provided.

func (LookupSchemaResultOutput) Name

Schema name. Either `id` or `name` must be provided.

func (LookupSchemaResultOutput) OwnerId

ID of database role or user owning this schema. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`

func (LookupSchemaResultOutput) ToLookupSchemaResultOutput

func (o LookupSchemaResultOutput) ToLookupSchemaResultOutput() LookupSchemaResultOutput

func (LookupSchemaResultOutput) ToLookupSchemaResultOutputWithContext

func (o LookupSchemaResultOutput) ToLookupSchemaResultOutputWithContext(ctx context.Context) LookupSchemaResultOutput

func (LookupSchemaResultOutput) ToOutput added in v0.0.8

type LookupServerRoleArgs

type LookupServerRoleArgs struct {
	// ID of the member principal
	Id *string `pulumi:"id"`
	// Name of the server principal
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getServerRole.

type LookupServerRoleOutputArgs

type LookupServerRoleOutputArgs struct {
	// ID of the member principal
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Name of the server principal
	Name pulumi.StringPtrInput `pulumi:"name"`
}

A collection of arguments for invoking getServerRole.

func (LookupServerRoleOutputArgs) ElementType

func (LookupServerRoleOutputArgs) ElementType() reflect.Type

type LookupServerRoleResult

type LookupServerRoleResult struct {
	// Role principal ID. Either `name` or `id` must be provided.
	Id string `pulumi:"id"`
	// Set of role members
	Members []GetServerRoleMemberType `pulumi:"members"`
	// Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars. Either `name` or `id` must be provided.
	Name string `pulumi:"name"`
	// ID of another server role or login owning this role. Can be retrieved using `ServerRole` or `SqlLogin`.
	OwnerId string `pulumi:"ownerId"`
}

A collection of values returned by getServerRole.

func LookupServerRole

func LookupServerRole(ctx *pulumi.Context, args *LookupServerRoleArgs, opts ...pulumi.InvokeOption) (*LookupServerRoleResult, error)

Obtains information about single server role.

## Example Usage

```go package main

import (

"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 {
		_, err := mssql.LookupServerRole(ctx, &mssql.LookupServerRoleArgs{
			Name: pulumi.StringRef("example"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = mssql.LookupServerRole(ctx, &mssql.LookupServerRoleArgs{
			Id: pulumi.StringRef("8"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupServerRoleResultOutput

type LookupServerRoleResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getServerRole.

func (LookupServerRoleResultOutput) ElementType

func (LookupServerRoleResultOutput) Id

Role principal ID. Either `name` or `id` must be provided.

func (LookupServerRoleResultOutput) Members

Set of role members

func (LookupServerRoleResultOutput) Name

Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars. Either `name` or `id` must be provided.

func (LookupServerRoleResultOutput) OwnerId

ID of another server role or login owning this role. Can be retrieved using `ServerRole` or `SqlLogin`.

func (LookupServerRoleResultOutput) ToLookupServerRoleResultOutput

func (o LookupServerRoleResultOutput) ToLookupServerRoleResultOutput() LookupServerRoleResultOutput

func (LookupServerRoleResultOutput) ToLookupServerRoleResultOutputWithContext

func (o LookupServerRoleResultOutput) ToLookupServerRoleResultOutputWithContext(ctx context.Context) LookupServerRoleResultOutput

func (LookupServerRoleResultOutput) ToOutput added in v0.0.8

type LookupSqlLoginArgs

type LookupSqlLoginArgs struct {
	// Login name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot contain `\`
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getSqlLogin.

type LookupSqlLoginOutputArgs

type LookupSqlLoginOutputArgs struct {
	// Login name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot contain `\`
	Name pulumi.StringInput `pulumi:"name"`
}

A collection of arguments for invoking getSqlLogin.

func (LookupSqlLoginOutputArgs) ElementType

func (LookupSqlLoginOutputArgs) ElementType() reflect.Type

type LookupSqlLoginResult

type LookupSqlLoginResult struct {
	// When `true`, password expiration policy is enforced for this login.
	CheckPasswordExpiration bool `pulumi:"checkPasswordExpiration"`
	// When `true`, the Windows password policies of the computer on which SQL Server is running are enforced on this login.
	CheckPasswordPolicy bool `pulumi:"checkPasswordPolicy"`
	// ID of login's default DB. The ID can be retrieved using `Database` data resource.
	DefaultDatabaseId string `pulumi:"defaultDatabaseId"`
	// Default language assigned to login.
	DefaultLanguage string `pulumi:"defaultLanguage"`
	// Login SID. Can be retrieved using `SELECT SUSER_SID('<login_name>')`.
	Id string `pulumi:"id"`
	// When true, password change will be forced on first logon.
	MustChangePassword bool `pulumi:"mustChangePassword"`
	// Login name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot contain `\`
	Name string `pulumi:"name"`
	// ID used to reference SQL Login in other resources, e.g. `serverRole`. Can be retrieved from `sys.sql_logins`.
	PrincipalId string `pulumi:"principalId"`
}

A collection of values returned by getSqlLogin.

func LookupSqlLogin

func LookupSqlLogin(ctx *pulumi.Context, args *LookupSqlLoginArgs, opts ...pulumi.InvokeOption) (*LookupSqlLoginResult, error)

Obtains information about single SQL login.

## Example Usage

```go package main

import (

"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 {
		sa, err := mssql.LookupSqlLogin(ctx, &mssql.LookupSqlLoginArgs{
			Name: "sa",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", sa.Id)
		ctx.Export("dbId", sa.DefaultDatabaseId)
		return nil
	})
}

```

type LookupSqlLoginResultOutput

type LookupSqlLoginResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSqlLogin.

func (LookupSqlLoginResultOutput) CheckPasswordExpiration

func (o LookupSqlLoginResultOutput) CheckPasswordExpiration() pulumi.BoolOutput

When `true`, password expiration policy is enforced for this login.

func (LookupSqlLoginResultOutput) CheckPasswordPolicy

func (o LookupSqlLoginResultOutput) CheckPasswordPolicy() pulumi.BoolOutput

When `true`, the Windows password policies of the computer on which SQL Server is running are enforced on this login.

func (LookupSqlLoginResultOutput) DefaultDatabaseId

func (o LookupSqlLoginResultOutput) DefaultDatabaseId() pulumi.StringOutput

ID of login's default DB. The ID can be retrieved using `Database` data resource.

func (LookupSqlLoginResultOutput) DefaultLanguage

func (o LookupSqlLoginResultOutput) DefaultLanguage() pulumi.StringOutput

Default language assigned to login.

func (LookupSqlLoginResultOutput) ElementType

func (LookupSqlLoginResultOutput) ElementType() reflect.Type

func (LookupSqlLoginResultOutput) Id

Login SID. Can be retrieved using `SELECT SUSER_SID('<login_name>')`.

func (LookupSqlLoginResultOutput) MustChangePassword

func (o LookupSqlLoginResultOutput) MustChangePassword() pulumi.BoolOutput

When true, password change will be forced on first logon.

func (LookupSqlLoginResultOutput) Name

Login name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot contain `\`

func (LookupSqlLoginResultOutput) PrincipalId

ID used to reference SQL Login in other resources, e.g. `serverRole`. Can be retrieved from `sys.sql_logins`.

func (LookupSqlLoginResultOutput) ToLookupSqlLoginResultOutput

func (o LookupSqlLoginResultOutput) ToLookupSqlLoginResultOutput() LookupSqlLoginResultOutput

func (LookupSqlLoginResultOutput) ToLookupSqlLoginResultOutputWithContext

func (o LookupSqlLoginResultOutput) ToLookupSqlLoginResultOutputWithContext(ctx context.Context) LookupSqlLoginResultOutput

func (LookupSqlLoginResultOutput) ToOutput added in v0.0.8

type LookupSqlUserArgs

type LookupSqlUserArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId *string `pulumi:"databaseId"`
	// User name. Cannot be longer than 128 chars.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getSqlUser.

type LookupSqlUserOutputArgs

type LookupSqlUserOutputArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringPtrInput `pulumi:"databaseId"`
	// User name. Cannot be longer than 128 chars.
	Name pulumi.StringInput `pulumi:"name"`
}

A collection of arguments for invoking getSqlUser.

func (LookupSqlUserOutputArgs) ElementType

func (LookupSqlUserOutputArgs) ElementType() reflect.Type

type LookupSqlUserResult

type LookupSqlUserResult struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId string `pulumi:"databaseId"`
	// `<database_id>/<user_id>`. User ID can be retrieved using `SELECT DATABASE_PRINCIPAL_ID('<user_name>')`.
	Id string `pulumi:"id"`
	// SID of SQL login. Can be retrieved using `SqlLogin` or `SELECT SUSER_SID('<login_name>')`.
	LoginId string `pulumi:"loginId"`
	// User name. Cannot be longer than 128 chars.
	Name string `pulumi:"name"`
}

A collection of values returned by getSqlUser.

func LookupSqlUser

func LookupSqlUser(ctx *pulumi.Context, args *LookupSqlUserArgs, opts ...pulumi.InvokeOption) (*LookupSqlUserResult, error)

Obtains information about single SQL database user.

## Example Usage

```go package main

import (

"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 {
		master, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "master",
		}, nil)
		if err != nil {
			return err
		}
		example, err := mssql.LookupSqlUser(ctx, &mssql.LookupSqlUserArgs{
			Name:       "dbo",
			DatabaseId: pulumi.StringRef(master.Id),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}

```

type LookupSqlUserResultOutput

type LookupSqlUserResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSqlUser.

func (LookupSqlUserResultOutput) DatabaseId

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.

func (LookupSqlUserResultOutput) ElementType

func (LookupSqlUserResultOutput) ElementType() reflect.Type

func (LookupSqlUserResultOutput) Id

`<database_id>/<user_id>`. User ID can be retrieved using `SELECT DATABASE_PRINCIPAL_ID('<user_name>')`.

func (LookupSqlUserResultOutput) LoginId

SID of SQL login. Can be retrieved using `SqlLogin` or `SELECT SUSER_SID('<login_name>')`.

func (LookupSqlUserResultOutput) Name

User name. Cannot be longer than 128 chars.

func (LookupSqlUserResultOutput) ToLookupSqlUserResultOutput

func (o LookupSqlUserResultOutput) ToLookupSqlUserResultOutput() LookupSqlUserResultOutput

func (LookupSqlUserResultOutput) ToLookupSqlUserResultOutputWithContext

func (o LookupSqlUserResultOutput) ToLookupSqlUserResultOutputWithContext(ctx context.Context) LookupSqlUserResultOutput

func (LookupSqlUserResultOutput) ToOutput added in v0.0.8

type Provider

type Provider struct {
	pulumi.ProviderResourceState

	// FQDN or IP address of the SQL endpoint. Can be also set using `MSSQL_HOSTNAME` environment variable.
	Hostname pulumi.StringPtrOutput `pulumi:"hostname"`
}

The provider type for the mssql package. By default, resources use package-wide configuration settings, however an explicit `Provider` instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.

func NewProvider

func NewProvider(ctx *pulumi.Context,
	name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error)

NewProvider registers a new resource with the given unique name, arguments, and options.

func (*Provider) ElementType

func (*Provider) ElementType() reflect.Type

func (*Provider) ToOutput added in v0.0.8

func (i *Provider) ToOutput(ctx context.Context) pulumix.Output[*Provider]

func (*Provider) ToProviderOutput

func (i *Provider) ToProviderOutput() ProviderOutput

func (*Provider) ToProviderOutputWithContext

func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput

type ProviderArgs

type ProviderArgs struct {
	// When provided, Azure AD authentication will be used when connecting.
	AzureAuth ProviderAzureAuthPtrInput
	// FQDN or IP address of the SQL endpoint. Can be also set using `MSSQL_HOSTNAME` environment variable.
	Hostname pulumi.StringPtrInput
	// TCP port of SQL endpoint. Defaults to `1433`. Can be also set using `MSSQL_PORT` environment variable.
	Port pulumi.IntPtrInput
	// When provided, SQL authentication will be used when connecting.
	SqlAuth ProviderSqlAuthPtrInput
}

The set of arguments for constructing a Provider resource.

func (ProviderArgs) ElementType

func (ProviderArgs) ElementType() reflect.Type

type ProviderAzureAuth

type ProviderAzureAuth struct {
	ClientId     *string `pulumi:"clientId"`
	ClientSecret *string `pulumi:"clientSecret"`
	TenantId     *string `pulumi:"tenantId"`
}

type ProviderAzureAuthArgs

type ProviderAzureAuthArgs struct {
	ClientId     pulumi.StringPtrInput `pulumi:"clientId"`
	ClientSecret pulumi.StringPtrInput `pulumi:"clientSecret"`
	TenantId     pulumi.StringPtrInput `pulumi:"tenantId"`
}

func (ProviderAzureAuthArgs) ElementType

func (ProviderAzureAuthArgs) ElementType() reflect.Type

func (ProviderAzureAuthArgs) ToOutput added in v0.0.8

func (ProviderAzureAuthArgs) ToProviderAzureAuthOutput

func (i ProviderAzureAuthArgs) ToProviderAzureAuthOutput() ProviderAzureAuthOutput

func (ProviderAzureAuthArgs) ToProviderAzureAuthOutputWithContext

func (i ProviderAzureAuthArgs) ToProviderAzureAuthOutputWithContext(ctx context.Context) ProviderAzureAuthOutput

func (ProviderAzureAuthArgs) ToProviderAzureAuthPtrOutput

func (i ProviderAzureAuthArgs) ToProviderAzureAuthPtrOutput() ProviderAzureAuthPtrOutput

func (ProviderAzureAuthArgs) ToProviderAzureAuthPtrOutputWithContext

func (i ProviderAzureAuthArgs) ToProviderAzureAuthPtrOutputWithContext(ctx context.Context) ProviderAzureAuthPtrOutput

type ProviderAzureAuthInput

type ProviderAzureAuthInput interface {
	pulumi.Input

	ToProviderAzureAuthOutput() ProviderAzureAuthOutput
	ToProviderAzureAuthOutputWithContext(context.Context) ProviderAzureAuthOutput
}

ProviderAzureAuthInput is an input type that accepts ProviderAzureAuthArgs and ProviderAzureAuthOutput values. You can construct a concrete instance of `ProviderAzureAuthInput` via:

ProviderAzureAuthArgs{...}

type ProviderAzureAuthOutput

type ProviderAzureAuthOutput struct{ *pulumi.OutputState }

func (ProviderAzureAuthOutput) ClientId

func (ProviderAzureAuthOutput) ClientSecret

func (ProviderAzureAuthOutput) ElementType

func (ProviderAzureAuthOutput) ElementType() reflect.Type

func (ProviderAzureAuthOutput) TenantId

func (ProviderAzureAuthOutput) ToOutput added in v0.0.8

func (ProviderAzureAuthOutput) ToProviderAzureAuthOutput

func (o ProviderAzureAuthOutput) ToProviderAzureAuthOutput() ProviderAzureAuthOutput

func (ProviderAzureAuthOutput) ToProviderAzureAuthOutputWithContext

func (o ProviderAzureAuthOutput) ToProviderAzureAuthOutputWithContext(ctx context.Context) ProviderAzureAuthOutput

func (ProviderAzureAuthOutput) ToProviderAzureAuthPtrOutput

func (o ProviderAzureAuthOutput) ToProviderAzureAuthPtrOutput() ProviderAzureAuthPtrOutput

func (ProviderAzureAuthOutput) ToProviderAzureAuthPtrOutputWithContext

func (o ProviderAzureAuthOutput) ToProviderAzureAuthPtrOutputWithContext(ctx context.Context) ProviderAzureAuthPtrOutput

type ProviderAzureAuthPtrInput

type ProviderAzureAuthPtrInput interface {
	pulumi.Input

	ToProviderAzureAuthPtrOutput() ProviderAzureAuthPtrOutput
	ToProviderAzureAuthPtrOutputWithContext(context.Context) ProviderAzureAuthPtrOutput
}

ProviderAzureAuthPtrInput is an input type that accepts ProviderAzureAuthArgs, ProviderAzureAuthPtr and ProviderAzureAuthPtrOutput values. You can construct a concrete instance of `ProviderAzureAuthPtrInput` via:

        ProviderAzureAuthArgs{...}

or:

        nil

type ProviderAzureAuthPtrOutput

type ProviderAzureAuthPtrOutput struct{ *pulumi.OutputState }

func (ProviderAzureAuthPtrOutput) ClientId

func (ProviderAzureAuthPtrOutput) ClientSecret

func (ProviderAzureAuthPtrOutput) Elem

func (ProviderAzureAuthPtrOutput) ElementType

func (ProviderAzureAuthPtrOutput) ElementType() reflect.Type

func (ProviderAzureAuthPtrOutput) TenantId

func (ProviderAzureAuthPtrOutput) ToOutput added in v0.0.8

func (ProviderAzureAuthPtrOutput) ToProviderAzureAuthPtrOutput

func (o ProviderAzureAuthPtrOutput) ToProviderAzureAuthPtrOutput() ProviderAzureAuthPtrOutput

func (ProviderAzureAuthPtrOutput) ToProviderAzureAuthPtrOutputWithContext

func (o ProviderAzureAuthPtrOutput) ToProviderAzureAuthPtrOutputWithContext(ctx context.Context) ProviderAzureAuthPtrOutput

type ProviderInput

type ProviderInput interface {
	pulumi.Input

	ToProviderOutput() ProviderOutput
	ToProviderOutputWithContext(ctx context.Context) ProviderOutput
}

type ProviderOutput

type ProviderOutput struct{ *pulumi.OutputState }

func (ProviderOutput) ElementType

func (ProviderOutput) ElementType() reflect.Type

func (ProviderOutput) Hostname

func (o ProviderOutput) Hostname() pulumi.StringPtrOutput

FQDN or IP address of the SQL endpoint. Can be also set using `MSSQL_HOSTNAME` environment variable.

func (ProviderOutput) ToOutput added in v0.0.8

func (ProviderOutput) ToProviderOutput

func (o ProviderOutput) ToProviderOutput() ProviderOutput

func (ProviderOutput) ToProviderOutputWithContext

func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput

type ProviderSqlAuth

type ProviderSqlAuth struct {
	Password string `pulumi:"password"`
	Username string `pulumi:"username"`
}

type ProviderSqlAuthArgs

type ProviderSqlAuthArgs struct {
	Password pulumi.StringInput `pulumi:"password"`
	Username pulumi.StringInput `pulumi:"username"`
}

func (ProviderSqlAuthArgs) ElementType

func (ProviderSqlAuthArgs) ElementType() reflect.Type

func (ProviderSqlAuthArgs) ToOutput added in v0.0.8

func (ProviderSqlAuthArgs) ToProviderSqlAuthOutput

func (i ProviderSqlAuthArgs) ToProviderSqlAuthOutput() ProviderSqlAuthOutput

func (ProviderSqlAuthArgs) ToProviderSqlAuthOutputWithContext

func (i ProviderSqlAuthArgs) ToProviderSqlAuthOutputWithContext(ctx context.Context) ProviderSqlAuthOutput

func (ProviderSqlAuthArgs) ToProviderSqlAuthPtrOutput

func (i ProviderSqlAuthArgs) ToProviderSqlAuthPtrOutput() ProviderSqlAuthPtrOutput

func (ProviderSqlAuthArgs) ToProviderSqlAuthPtrOutputWithContext

func (i ProviderSqlAuthArgs) ToProviderSqlAuthPtrOutputWithContext(ctx context.Context) ProviderSqlAuthPtrOutput

type ProviderSqlAuthInput

type ProviderSqlAuthInput interface {
	pulumi.Input

	ToProviderSqlAuthOutput() ProviderSqlAuthOutput
	ToProviderSqlAuthOutputWithContext(context.Context) ProviderSqlAuthOutput
}

ProviderSqlAuthInput is an input type that accepts ProviderSqlAuthArgs and ProviderSqlAuthOutput values. You can construct a concrete instance of `ProviderSqlAuthInput` via:

ProviderSqlAuthArgs{...}

type ProviderSqlAuthOutput

type ProviderSqlAuthOutput struct{ *pulumi.OutputState }

func (ProviderSqlAuthOutput) ElementType

func (ProviderSqlAuthOutput) ElementType() reflect.Type

func (ProviderSqlAuthOutput) Password

func (ProviderSqlAuthOutput) ToOutput added in v0.0.8

func (ProviderSqlAuthOutput) ToProviderSqlAuthOutput

func (o ProviderSqlAuthOutput) ToProviderSqlAuthOutput() ProviderSqlAuthOutput

func (ProviderSqlAuthOutput) ToProviderSqlAuthOutputWithContext

func (o ProviderSqlAuthOutput) ToProviderSqlAuthOutputWithContext(ctx context.Context) ProviderSqlAuthOutput

func (ProviderSqlAuthOutput) ToProviderSqlAuthPtrOutput

func (o ProviderSqlAuthOutput) ToProviderSqlAuthPtrOutput() ProviderSqlAuthPtrOutput

func (ProviderSqlAuthOutput) ToProviderSqlAuthPtrOutputWithContext

func (o ProviderSqlAuthOutput) ToProviderSqlAuthPtrOutputWithContext(ctx context.Context) ProviderSqlAuthPtrOutput

func (ProviderSqlAuthOutput) Username

type ProviderSqlAuthPtrInput

type ProviderSqlAuthPtrInput interface {
	pulumi.Input

	ToProviderSqlAuthPtrOutput() ProviderSqlAuthPtrOutput
	ToProviderSqlAuthPtrOutputWithContext(context.Context) ProviderSqlAuthPtrOutput
}

ProviderSqlAuthPtrInput is an input type that accepts ProviderSqlAuthArgs, ProviderSqlAuthPtr and ProviderSqlAuthPtrOutput values. You can construct a concrete instance of `ProviderSqlAuthPtrInput` via:

        ProviderSqlAuthArgs{...}

or:

        nil

type ProviderSqlAuthPtrOutput

type ProviderSqlAuthPtrOutput struct{ *pulumi.OutputState }

func (ProviderSqlAuthPtrOutput) Elem

func (ProviderSqlAuthPtrOutput) ElementType

func (ProviderSqlAuthPtrOutput) ElementType() reflect.Type

func (ProviderSqlAuthPtrOutput) Password

func (ProviderSqlAuthPtrOutput) ToOutput added in v0.0.8

func (ProviderSqlAuthPtrOutput) ToProviderSqlAuthPtrOutput

func (o ProviderSqlAuthPtrOutput) ToProviderSqlAuthPtrOutput() ProviderSqlAuthPtrOutput

func (ProviderSqlAuthPtrOutput) ToProviderSqlAuthPtrOutputWithContext

func (o ProviderSqlAuthPtrOutput) ToProviderSqlAuthPtrOutputWithContext(ctx context.Context) ProviderSqlAuthPtrOutput

func (ProviderSqlAuthPtrOutput) Username

type Schema added in v0.0.7

type Schema struct {
	pulumi.CustomResourceState

	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.
	DatabaseId pulumi.StringOutput `pulumi:"databaseId"`
	// Schema name.
	Name pulumi.StringOutput `pulumi:"name"`
	// ID of database role or user owning this schema. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`
	OwnerId pulumi.StringOutput `pulumi:"ownerId"`
}

Manages single DB schema.

## Example Usage

```go package main

import (

"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 {
		exampleDatabase, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		owner, err := mssql.LookupSqlUser(ctx, &mssql.LookupSqlUserArgs{
			Name: "example_user",
		}, nil)
		if err != nil {
			return err
		}
		_, err = mssql.NewSchema(ctx, "exampleSchema", &mssql.SchemaArgs{
			DatabaseId: *pulumi.String(exampleDatabase.Id),
			OwnerId:    *pulumi.String(owner.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

import using <db_id>/<schema_id> - can be retrieved using `SELECT CONCAT(DB_ID(), '/', SCHEMA_ID('<schema_name>'))`

```sh

$ pulumi import mssql:index/schema:Schema example '7/5'

```

func GetSchema added in v0.0.7

func GetSchema(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SchemaState, opts ...pulumi.ResourceOption) (*Schema, error)

GetSchema gets an existing Schema resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSchema added in v0.0.7

func NewSchema(ctx *pulumi.Context,
	name string, args *SchemaArgs, opts ...pulumi.ResourceOption) (*Schema, error)

NewSchema registers a new resource with the given unique name, arguments, and options.

func (*Schema) ElementType added in v0.0.7

func (*Schema) ElementType() reflect.Type

func (*Schema) ToOutput added in v0.0.8

func (i *Schema) ToOutput(ctx context.Context) pulumix.Output[*Schema]

func (*Schema) ToSchemaOutput added in v0.0.7

func (i *Schema) ToSchemaOutput() SchemaOutput

func (*Schema) ToSchemaOutputWithContext added in v0.0.7

func (i *Schema) ToSchemaOutputWithContext(ctx context.Context) SchemaOutput

type SchemaArgs added in v0.0.7

type SchemaArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.
	DatabaseId pulumi.StringPtrInput
	// Schema name.
	Name pulumi.StringPtrInput
	// ID of database role or user owning this schema. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`
	OwnerId pulumi.StringPtrInput
}

The set of arguments for constructing a Schema resource.

func (SchemaArgs) ElementType added in v0.0.7

func (SchemaArgs) ElementType() reflect.Type

type SchemaArray added in v0.0.7

type SchemaArray []SchemaInput

func (SchemaArray) ElementType added in v0.0.7

func (SchemaArray) ElementType() reflect.Type

func (SchemaArray) ToOutput added in v0.0.8

func (i SchemaArray) ToOutput(ctx context.Context) pulumix.Output[[]*Schema]

func (SchemaArray) ToSchemaArrayOutput added in v0.0.7

func (i SchemaArray) ToSchemaArrayOutput() SchemaArrayOutput

func (SchemaArray) ToSchemaArrayOutputWithContext added in v0.0.7

func (i SchemaArray) ToSchemaArrayOutputWithContext(ctx context.Context) SchemaArrayOutput

type SchemaArrayInput added in v0.0.7

type SchemaArrayInput interface {
	pulumi.Input

	ToSchemaArrayOutput() SchemaArrayOutput
	ToSchemaArrayOutputWithContext(context.Context) SchemaArrayOutput
}

SchemaArrayInput is an input type that accepts SchemaArray and SchemaArrayOutput values. You can construct a concrete instance of `SchemaArrayInput` via:

SchemaArray{ SchemaArgs{...} }

type SchemaArrayOutput added in v0.0.7

type SchemaArrayOutput struct{ *pulumi.OutputState }

func (SchemaArrayOutput) ElementType added in v0.0.7

func (SchemaArrayOutput) ElementType() reflect.Type

func (SchemaArrayOutput) Index added in v0.0.7

func (SchemaArrayOutput) ToOutput added in v0.0.8

func (o SchemaArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Schema]

func (SchemaArrayOutput) ToSchemaArrayOutput added in v0.0.7

func (o SchemaArrayOutput) ToSchemaArrayOutput() SchemaArrayOutput

func (SchemaArrayOutput) ToSchemaArrayOutputWithContext added in v0.0.7

func (o SchemaArrayOutput) ToSchemaArrayOutputWithContext(ctx context.Context) SchemaArrayOutput

type SchemaInput added in v0.0.7

type SchemaInput interface {
	pulumi.Input

	ToSchemaOutput() SchemaOutput
	ToSchemaOutputWithContext(ctx context.Context) SchemaOutput
}

type SchemaMap added in v0.0.7

type SchemaMap map[string]SchemaInput

func (SchemaMap) ElementType added in v0.0.7

func (SchemaMap) ElementType() reflect.Type

func (SchemaMap) ToOutput added in v0.0.8

func (i SchemaMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Schema]

func (SchemaMap) ToSchemaMapOutput added in v0.0.7

func (i SchemaMap) ToSchemaMapOutput() SchemaMapOutput

func (SchemaMap) ToSchemaMapOutputWithContext added in v0.0.7

func (i SchemaMap) ToSchemaMapOutputWithContext(ctx context.Context) SchemaMapOutput

type SchemaMapInput added in v0.0.7

type SchemaMapInput interface {
	pulumi.Input

	ToSchemaMapOutput() SchemaMapOutput
	ToSchemaMapOutputWithContext(context.Context) SchemaMapOutput
}

SchemaMapInput is an input type that accepts SchemaMap and SchemaMapOutput values. You can construct a concrete instance of `SchemaMapInput` via:

SchemaMap{ "key": SchemaArgs{...} }

type SchemaMapOutput added in v0.0.7

type SchemaMapOutput struct{ *pulumi.OutputState }

func (SchemaMapOutput) ElementType added in v0.0.7

func (SchemaMapOutput) ElementType() reflect.Type

func (SchemaMapOutput) MapIndex added in v0.0.7

func (SchemaMapOutput) ToOutput added in v0.0.8

func (o SchemaMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Schema]

func (SchemaMapOutput) ToSchemaMapOutput added in v0.0.7

func (o SchemaMapOutput) ToSchemaMapOutput() SchemaMapOutput

func (SchemaMapOutput) ToSchemaMapOutputWithContext added in v0.0.7

func (o SchemaMapOutput) ToSchemaMapOutputWithContext(ctx context.Context) SchemaMapOutput

type SchemaOutput added in v0.0.7

type SchemaOutput struct{ *pulumi.OutputState }

func (SchemaOutput) DatabaseId added in v0.0.7

func (o SchemaOutput) DatabaseId() pulumi.StringOutput

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.

func (SchemaOutput) ElementType added in v0.0.7

func (SchemaOutput) ElementType() reflect.Type

func (SchemaOutput) Name added in v0.0.7

func (o SchemaOutput) Name() pulumi.StringOutput

Schema name.

func (SchemaOutput) OwnerId added in v0.0.7

func (o SchemaOutput) OwnerId() pulumi.StringOutput

ID of database role or user owning this schema. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`

func (SchemaOutput) ToOutput added in v0.0.8

func (o SchemaOutput) ToOutput(ctx context.Context) pulumix.Output[*Schema]

func (SchemaOutput) ToSchemaOutput added in v0.0.7

func (o SchemaOutput) ToSchemaOutput() SchemaOutput

func (SchemaOutput) ToSchemaOutputWithContext added in v0.0.7

func (o SchemaOutput) ToSchemaOutputWithContext(ctx context.Context) SchemaOutput

type SchemaPermission

type SchemaPermission struct {
	pulumi.CustomResourceState

	// Name of schema SQL permission. For full list of supported permissions, see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-schema-permissions-transact-sql?view=azuresqldb-current#remarks)
	Permission pulumi.StringOutput `pulumi:"permission"`
	// `<database_id>/<principal_id>`. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`.
	PrincipalId pulumi.StringOutput `pulumi:"principalId"`
	// `<database_id>/<schema_id>`. Can be retrieved using `Schema`.
	SchemaId pulumi.StringOutput `pulumi:"schemaId"`
	// When set to `true`, `principalId` will be allowed to grant the `permission` to other principals. Defaults to `false`.
	WithGrantOption pulumi.BoolOutput `pulumi:"withGrantOption"`
}

Grants database-level permission.

## Example Usage

```go package main

import (

"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 {
		exampleDatabase, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		exampleSqlUser, err := mssql.LookupSqlUser(ctx, &mssql.LookupSqlUserArgs{
			Name:       "example_user",
			DatabaseId: pulumi.StringRef(exampleDatabase.Id),
		}, nil)
		if err != nil {
			return err
		}
		exampleSchema, err := mssql.LookupSchema(ctx, &mssql.LookupSchemaArgs{
			Name:       pulumi.StringRef("example_schema"),
			DatabaseId: pulumi.StringRef(exampleDatabase.Id),
		}, nil)
		if err != nil {
			return err
		}
		_, err = mssql.NewSchemaPermission(ctx, "deleteToExample", &mssql.SchemaPermissionArgs{
			SchemaId:    *pulumi.String(exampleSchema.Id),
			PrincipalId: *pulumi.String(exampleSqlUser.Id),
			Permission:  pulumi.String("DELETE"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

import using <db_id>/<schema_id>/<principal_id>/<permission> - can be retrieved using `SELECT CONCAT(DB_ID(), '/', SCHEMA_ID('<schema_name>'), '/', DATABASE_PRINCIPAL_ID('<principal_name>'), '/DELETE')`

```sh

$ pulumi import mssql:index/schemaPermission:SchemaPermission example '7/5/8/DELETE'

```

func GetSchemaPermission

func GetSchemaPermission(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SchemaPermissionState, opts ...pulumi.ResourceOption) (*SchemaPermission, error)

GetSchemaPermission gets an existing SchemaPermission resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSchemaPermission

func NewSchemaPermission(ctx *pulumi.Context,
	name string, args *SchemaPermissionArgs, opts ...pulumi.ResourceOption) (*SchemaPermission, error)

NewSchemaPermission registers a new resource with the given unique name, arguments, and options.

func (*SchemaPermission) ElementType

func (*SchemaPermission) ElementType() reflect.Type

func (*SchemaPermission) ToOutput added in v0.0.8

func (*SchemaPermission) ToSchemaPermissionOutput

func (i *SchemaPermission) ToSchemaPermissionOutput() SchemaPermissionOutput

func (*SchemaPermission) ToSchemaPermissionOutputWithContext

func (i *SchemaPermission) ToSchemaPermissionOutputWithContext(ctx context.Context) SchemaPermissionOutput

type SchemaPermissionArgs

type SchemaPermissionArgs struct {
	// Name of schema SQL permission. For full list of supported permissions, see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-schema-permissions-transact-sql?view=azuresqldb-current#remarks)
	Permission pulumi.StringInput
	// `<database_id>/<principal_id>`. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`.
	PrincipalId pulumi.StringInput
	// `<database_id>/<schema_id>`. Can be retrieved using `Schema`.
	SchemaId pulumi.StringInput
	// When set to `true`, `principalId` will be allowed to grant the `permission` to other principals. Defaults to `false`.
	WithGrantOption pulumi.BoolPtrInput
}

The set of arguments for constructing a SchemaPermission resource.

func (SchemaPermissionArgs) ElementType

func (SchemaPermissionArgs) ElementType() reflect.Type

type SchemaPermissionArray

type SchemaPermissionArray []SchemaPermissionInput

func (SchemaPermissionArray) ElementType

func (SchemaPermissionArray) ElementType() reflect.Type

func (SchemaPermissionArray) ToOutput added in v0.0.8

func (SchemaPermissionArray) ToSchemaPermissionArrayOutput

func (i SchemaPermissionArray) ToSchemaPermissionArrayOutput() SchemaPermissionArrayOutput

func (SchemaPermissionArray) ToSchemaPermissionArrayOutputWithContext

func (i SchemaPermissionArray) ToSchemaPermissionArrayOutputWithContext(ctx context.Context) SchemaPermissionArrayOutput

type SchemaPermissionArrayInput

type SchemaPermissionArrayInput interface {
	pulumi.Input

	ToSchemaPermissionArrayOutput() SchemaPermissionArrayOutput
	ToSchemaPermissionArrayOutputWithContext(context.Context) SchemaPermissionArrayOutput
}

SchemaPermissionArrayInput is an input type that accepts SchemaPermissionArray and SchemaPermissionArrayOutput values. You can construct a concrete instance of `SchemaPermissionArrayInput` via:

SchemaPermissionArray{ SchemaPermissionArgs{...} }

type SchemaPermissionArrayOutput

type SchemaPermissionArrayOutput struct{ *pulumi.OutputState }

func (SchemaPermissionArrayOutput) ElementType

func (SchemaPermissionArrayOutput) Index

func (SchemaPermissionArrayOutput) ToOutput added in v0.0.8

func (SchemaPermissionArrayOutput) ToSchemaPermissionArrayOutput

func (o SchemaPermissionArrayOutput) ToSchemaPermissionArrayOutput() SchemaPermissionArrayOutput

func (SchemaPermissionArrayOutput) ToSchemaPermissionArrayOutputWithContext

func (o SchemaPermissionArrayOutput) ToSchemaPermissionArrayOutputWithContext(ctx context.Context) SchemaPermissionArrayOutput

type SchemaPermissionInput

type SchemaPermissionInput interface {
	pulumi.Input

	ToSchemaPermissionOutput() SchemaPermissionOutput
	ToSchemaPermissionOutputWithContext(ctx context.Context) SchemaPermissionOutput
}

type SchemaPermissionMap

type SchemaPermissionMap map[string]SchemaPermissionInput

func (SchemaPermissionMap) ElementType

func (SchemaPermissionMap) ElementType() reflect.Type

func (SchemaPermissionMap) ToOutput added in v0.0.8

func (SchemaPermissionMap) ToSchemaPermissionMapOutput

func (i SchemaPermissionMap) ToSchemaPermissionMapOutput() SchemaPermissionMapOutput

func (SchemaPermissionMap) ToSchemaPermissionMapOutputWithContext

func (i SchemaPermissionMap) ToSchemaPermissionMapOutputWithContext(ctx context.Context) SchemaPermissionMapOutput

type SchemaPermissionMapInput

type SchemaPermissionMapInput interface {
	pulumi.Input

	ToSchemaPermissionMapOutput() SchemaPermissionMapOutput
	ToSchemaPermissionMapOutputWithContext(context.Context) SchemaPermissionMapOutput
}

SchemaPermissionMapInput is an input type that accepts SchemaPermissionMap and SchemaPermissionMapOutput values. You can construct a concrete instance of `SchemaPermissionMapInput` via:

SchemaPermissionMap{ "key": SchemaPermissionArgs{...} }

type SchemaPermissionMapOutput

type SchemaPermissionMapOutput struct{ *pulumi.OutputState }

func (SchemaPermissionMapOutput) ElementType

func (SchemaPermissionMapOutput) ElementType() reflect.Type

func (SchemaPermissionMapOutput) MapIndex

func (SchemaPermissionMapOutput) ToOutput added in v0.0.8

func (SchemaPermissionMapOutput) ToSchemaPermissionMapOutput

func (o SchemaPermissionMapOutput) ToSchemaPermissionMapOutput() SchemaPermissionMapOutput

func (SchemaPermissionMapOutput) ToSchemaPermissionMapOutputWithContext

func (o SchemaPermissionMapOutput) ToSchemaPermissionMapOutputWithContext(ctx context.Context) SchemaPermissionMapOutput

type SchemaPermissionOutput

type SchemaPermissionOutput struct{ *pulumi.OutputState }

func (SchemaPermissionOutput) ElementType

func (SchemaPermissionOutput) ElementType() reflect.Type

func (SchemaPermissionOutput) Permission

Name of schema SQL permission. For full list of supported permissions, see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-schema-permissions-transact-sql?view=azuresqldb-current#remarks)

func (SchemaPermissionOutput) PrincipalId

func (o SchemaPermissionOutput) PrincipalId() pulumi.StringOutput

`<database_id>/<principal_id>`. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`.

func (SchemaPermissionOutput) SchemaId

`<database_id>/<schema_id>`. Can be retrieved using `Schema`.

func (SchemaPermissionOutput) ToOutput added in v0.0.8

func (SchemaPermissionOutput) ToSchemaPermissionOutput

func (o SchemaPermissionOutput) ToSchemaPermissionOutput() SchemaPermissionOutput

func (SchemaPermissionOutput) ToSchemaPermissionOutputWithContext

func (o SchemaPermissionOutput) ToSchemaPermissionOutputWithContext(ctx context.Context) SchemaPermissionOutput

func (SchemaPermissionOutput) WithGrantOption

func (o SchemaPermissionOutput) WithGrantOption() pulumi.BoolOutput

When set to `true`, `principalId` will be allowed to grant the `permission` to other principals. Defaults to `false`.

type SchemaPermissionState

type SchemaPermissionState struct {
	// Name of schema SQL permission. For full list of supported permissions, see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-schema-permissions-transact-sql?view=azuresqldb-current#remarks)
	Permission pulumi.StringPtrInput
	// `<database_id>/<principal_id>`. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`.
	PrincipalId pulumi.StringPtrInput
	// `<database_id>/<schema_id>`. Can be retrieved using `Schema`.
	SchemaId pulumi.StringPtrInput
	// When set to `true`, `principalId` will be allowed to grant the `permission` to other principals. Defaults to `false`.
	WithGrantOption pulumi.BoolPtrInput
}

func (SchemaPermissionState) ElementType

func (SchemaPermissionState) ElementType() reflect.Type

type SchemaState added in v0.0.7

type SchemaState struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.
	DatabaseId pulumi.StringPtrInput
	// Schema name.
	Name pulumi.StringPtrInput
	// ID of database role or user owning this schema. Can be retrieved using `DatabaseRole`, `SqlUser`, `AzureadUser` or `AzureadServicePrincipal`
	OwnerId pulumi.StringPtrInput
}

func (SchemaState) ElementType added in v0.0.7

func (SchemaState) ElementType() reflect.Type

type Script

type Script struct {
	pulumi.CustomResourceState

	// SQL script executed when the resource does not exist in Terraform state. When not provided, `update_script` will be used
	// to create the resource.
	CreateScript pulumi.StringPtrOutput `pulumi:"createScript"`
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringOutput `pulumi:"databaseId"`
	// SQL script executed when the resource is being destroyed. When not provided, no action will be taken during resource destruction.
	DeleteScript pulumi.StringPtrOutput `pulumi:"deleteScript"`
	// SQL script returning current state of the DB. It must return single-row result set where column names match the keys of `state` map and all values are strings that will be compared against `state` to determine if the resource state matches DB state.
	ReadScript pulumi.StringOutput `pulumi:"readScript"`
	// Desired state of the DB. It is arbitrary map of string values that will be compared against the values returned by the `readScript`.
	State pulumi.StringMapOutput `pulumi:"state"`
	// SQL script executed when the desired state specified in `state` attribute does not match the state returned by `readScript`
	UpdateScript pulumi.StringOutput `pulumi:"updateScript"`
}

Allows execution of arbitrary SQL scripts to check state and apply desired state.

> **Note** This resource is meant to be an escape hatch for all cases not supported by the provider's resources. Whenever possible, use dedicated resources, which offer better plan, validation and error reporting.

## Example Usage

```go package main

import (

"fmt"

"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 {
		test, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "test",
		}, nil)
		if err != nil {
			return err
		}
		_, err = mssql.NewScript(ctx, "cdc", &mssql.ScriptArgs{
			DatabaseId:   *pulumi.String(test.Id),
			ReadScript:   pulumi.String(fmt.Sprintf("SELECT COUNT(*) AS [is_enabled] FROM sys.change_tracking_databases WHERE database_id=%v", test.Id)),
			DeleteScript: pulumi.String(fmt.Sprintf("ALTER DATABASE [%v] SET CHANGE_TRACKING = OFF", test.Name)),
			UpdateScript: pulumi.String(fmt.Sprintf("IF (SELECT COUNT(*) FROM sys.change_tracking_databases WHERE database_id=%v) = 0\n  ALTER DATABASE [%v] SET CHANGE_TRACKING = ON\n", test.Id, test.Name)),
			State: pulumi.StringMap{
				"is_enabled": pulumi.String("1"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetScript

func GetScript(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ScriptState, opts ...pulumi.ResourceOption) (*Script, error)

GetScript gets an existing Script resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewScript

func NewScript(ctx *pulumi.Context,
	name string, args *ScriptArgs, opts ...pulumi.ResourceOption) (*Script, error)

NewScript registers a new resource with the given unique name, arguments, and options.

func (*Script) ElementType

func (*Script) ElementType() reflect.Type

func (*Script) ToOutput added in v0.0.8

func (i *Script) ToOutput(ctx context.Context) pulumix.Output[*Script]

func (*Script) ToScriptOutput

func (i *Script) ToScriptOutput() ScriptOutput

func (*Script) ToScriptOutputWithContext

func (i *Script) ToScriptOutputWithContext(ctx context.Context) ScriptOutput

type ScriptArgs

type ScriptArgs struct {
	// SQL script executed when the resource does not exist in Terraform state. When not provided, `update_script` will be used
	// to create the resource.
	CreateScript pulumi.StringPtrInput
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringInput
	// SQL script executed when the resource is being destroyed. When not provided, no action will be taken during resource destruction.
	DeleteScript pulumi.StringPtrInput
	// SQL script returning current state of the DB. It must return single-row result set where column names match the keys of `state` map and all values are strings that will be compared against `state` to determine if the resource state matches DB state.
	ReadScript pulumi.StringInput
	// Desired state of the DB. It is arbitrary map of string values that will be compared against the values returned by the `readScript`.
	State pulumi.StringMapInput
	// SQL script executed when the desired state specified in `state` attribute does not match the state returned by `readScript`
	UpdateScript pulumi.StringInput
}

The set of arguments for constructing a Script resource.

func (ScriptArgs) ElementType

func (ScriptArgs) ElementType() reflect.Type

type ScriptArray

type ScriptArray []ScriptInput

func (ScriptArray) ElementType

func (ScriptArray) ElementType() reflect.Type

func (ScriptArray) ToOutput added in v0.0.8

func (i ScriptArray) ToOutput(ctx context.Context) pulumix.Output[[]*Script]

func (ScriptArray) ToScriptArrayOutput

func (i ScriptArray) ToScriptArrayOutput() ScriptArrayOutput

func (ScriptArray) ToScriptArrayOutputWithContext

func (i ScriptArray) ToScriptArrayOutputWithContext(ctx context.Context) ScriptArrayOutput

type ScriptArrayInput

type ScriptArrayInput interface {
	pulumi.Input

	ToScriptArrayOutput() ScriptArrayOutput
	ToScriptArrayOutputWithContext(context.Context) ScriptArrayOutput
}

ScriptArrayInput is an input type that accepts ScriptArray and ScriptArrayOutput values. You can construct a concrete instance of `ScriptArrayInput` via:

ScriptArray{ ScriptArgs{...} }

type ScriptArrayOutput

type ScriptArrayOutput struct{ *pulumi.OutputState }

func (ScriptArrayOutput) ElementType

func (ScriptArrayOutput) ElementType() reflect.Type

func (ScriptArrayOutput) Index

func (ScriptArrayOutput) ToOutput added in v0.0.8

func (o ScriptArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Script]

func (ScriptArrayOutput) ToScriptArrayOutput

func (o ScriptArrayOutput) ToScriptArrayOutput() ScriptArrayOutput

func (ScriptArrayOutput) ToScriptArrayOutputWithContext

func (o ScriptArrayOutput) ToScriptArrayOutputWithContext(ctx context.Context) ScriptArrayOutput

type ScriptInput

type ScriptInput interface {
	pulumi.Input

	ToScriptOutput() ScriptOutput
	ToScriptOutputWithContext(ctx context.Context) ScriptOutput
}

type ScriptMap

type ScriptMap map[string]ScriptInput

func (ScriptMap) ElementType

func (ScriptMap) ElementType() reflect.Type

func (ScriptMap) ToOutput added in v0.0.8

func (i ScriptMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Script]

func (ScriptMap) ToScriptMapOutput

func (i ScriptMap) ToScriptMapOutput() ScriptMapOutput

func (ScriptMap) ToScriptMapOutputWithContext

func (i ScriptMap) ToScriptMapOutputWithContext(ctx context.Context) ScriptMapOutput

type ScriptMapInput

type ScriptMapInput interface {
	pulumi.Input

	ToScriptMapOutput() ScriptMapOutput
	ToScriptMapOutputWithContext(context.Context) ScriptMapOutput
}

ScriptMapInput is an input type that accepts ScriptMap and ScriptMapOutput values. You can construct a concrete instance of `ScriptMapInput` via:

ScriptMap{ "key": ScriptArgs{...} }

type ScriptMapOutput

type ScriptMapOutput struct{ *pulumi.OutputState }

func (ScriptMapOutput) ElementType

func (ScriptMapOutput) ElementType() reflect.Type

func (ScriptMapOutput) MapIndex

func (ScriptMapOutput) ToOutput added in v0.0.8

func (o ScriptMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Script]

func (ScriptMapOutput) ToScriptMapOutput

func (o ScriptMapOutput) ToScriptMapOutput() ScriptMapOutput

func (ScriptMapOutput) ToScriptMapOutputWithContext

func (o ScriptMapOutput) ToScriptMapOutputWithContext(ctx context.Context) ScriptMapOutput

type ScriptOutput

type ScriptOutput struct{ *pulumi.OutputState }

func (ScriptOutput) CreateScript

func (o ScriptOutput) CreateScript() pulumi.StringPtrOutput

SQL script executed when the resource does not exist in Terraform state. When not provided, `update_script` will be used to create the resource.

func (ScriptOutput) DatabaseId

func (o ScriptOutput) DatabaseId() pulumi.StringOutput

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.

func (ScriptOutput) DeleteScript

func (o ScriptOutput) DeleteScript() pulumi.StringPtrOutput

SQL script executed when the resource is being destroyed. When not provided, no action will be taken during resource destruction.

func (ScriptOutput) ElementType

func (ScriptOutput) ElementType() reflect.Type

func (ScriptOutput) ReadScript

func (o ScriptOutput) ReadScript() pulumi.StringOutput

SQL script returning current state of the DB. It must return single-row result set where column names match the keys of `state` map and all values are strings that will be compared against `state` to determine if the resource state matches DB state.

func (ScriptOutput) State

Desired state of the DB. It is arbitrary map of string values that will be compared against the values returned by the `readScript`.

func (ScriptOutput) ToOutput added in v0.0.8

func (o ScriptOutput) ToOutput(ctx context.Context) pulumix.Output[*Script]

func (ScriptOutput) ToScriptOutput

func (o ScriptOutput) ToScriptOutput() ScriptOutput

func (ScriptOutput) ToScriptOutputWithContext

func (o ScriptOutput) ToScriptOutputWithContext(ctx context.Context) ScriptOutput

func (ScriptOutput) UpdateScript

func (o ScriptOutput) UpdateScript() pulumi.StringOutput

SQL script executed when the desired state specified in `state` attribute does not match the state returned by `readScript`

type ScriptState

type ScriptState struct {
	// SQL script executed when the resource does not exist in Terraform state. When not provided, `update_script` will be used
	// to create the resource.
	CreateScript pulumi.StringPtrInput
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`.
	DatabaseId pulumi.StringPtrInput
	// SQL script executed when the resource is being destroyed. When not provided, no action will be taken during resource destruction.
	DeleteScript pulumi.StringPtrInput
	// SQL script returning current state of the DB. It must return single-row result set where column names match the keys of `state` map and all values are strings that will be compared against `state` to determine if the resource state matches DB state.
	ReadScript pulumi.StringPtrInput
	// Desired state of the DB. It is arbitrary map of string values that will be compared against the values returned by the `readScript`.
	State pulumi.StringMapInput
	// SQL script executed when the desired state specified in `state` attribute does not match the state returned by `readScript`
	UpdateScript pulumi.StringPtrInput
}

func (ScriptState) ElementType

func (ScriptState) ElementType() reflect.Type

type ServerPermission

type ServerPermission struct {
	pulumi.CustomResourceState

	// Name of server-level SQL permission. For full list of supported permissions see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-server-permissions-transact-sql?view=azuresqldb-current#remarks)
	Permission pulumi.StringOutput `pulumi:"permission"`
	// ID of the principal who will be granted `permission`. Can be retrieved using `ServerRole` or `SqlLogin`.
	PrincipalId pulumi.StringOutput `pulumi:"principalId"`
	// When set to `true`, `principalId` will be allowed to grant the `permission` to other principals. Defaults to `false`
	WithGrantOption pulumi.BoolOutput `pulumi:"withGrantOption"`
}

Grants server-level permission.

## Example Usage

```go package main

import (

"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 {
		example, err := mssql.LookupSqlLogin(ctx, &mssql.LookupSqlLoginArgs{
			Name: "example_login",
		}, nil)
		if err != nil {
			return err
		}
		_, err = mssql.NewServerPermission(ctx, "connectToExample", &mssql.ServerPermissionArgs{
			PrincipalId:     *pulumi.String(example.PrincipalId),
			Permission:      pulumi.String("CONNECT SQL"),
			WithGrantOption: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

import using <principal_id>/<permission>

```sh

$ pulumi import mssql:index/serverPermission:ServerPermission example '7/CONNECT SQL'

```

func GetServerPermission

func GetServerPermission(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerPermissionState, opts ...pulumi.ResourceOption) (*ServerPermission, error)

GetServerPermission gets an existing ServerPermission resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewServerPermission

func NewServerPermission(ctx *pulumi.Context,
	name string, args *ServerPermissionArgs, opts ...pulumi.ResourceOption) (*ServerPermission, error)

NewServerPermission registers a new resource with the given unique name, arguments, and options.

func (*ServerPermission) ElementType

func (*ServerPermission) ElementType() reflect.Type

func (*ServerPermission) ToOutput added in v0.0.8

func (*ServerPermission) ToServerPermissionOutput

func (i *ServerPermission) ToServerPermissionOutput() ServerPermissionOutput

func (*ServerPermission) ToServerPermissionOutputWithContext

func (i *ServerPermission) ToServerPermissionOutputWithContext(ctx context.Context) ServerPermissionOutput

type ServerPermissionArgs

type ServerPermissionArgs struct {
	// Name of server-level SQL permission. For full list of supported permissions see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-server-permissions-transact-sql?view=azuresqldb-current#remarks)
	Permission pulumi.StringInput
	// ID of the principal who will be granted `permission`. Can be retrieved using `ServerRole` or `SqlLogin`.
	PrincipalId pulumi.StringInput
	// When set to `true`, `principalId` will be allowed to grant the `permission` to other principals. Defaults to `false`
	WithGrantOption pulumi.BoolPtrInput
}

The set of arguments for constructing a ServerPermission resource.

func (ServerPermissionArgs) ElementType

func (ServerPermissionArgs) ElementType() reflect.Type

type ServerPermissionArray

type ServerPermissionArray []ServerPermissionInput

func (ServerPermissionArray) ElementType

func (ServerPermissionArray) ElementType() reflect.Type

func (ServerPermissionArray) ToOutput added in v0.0.8

func (ServerPermissionArray) ToServerPermissionArrayOutput

func (i ServerPermissionArray) ToServerPermissionArrayOutput() ServerPermissionArrayOutput

func (ServerPermissionArray) ToServerPermissionArrayOutputWithContext

func (i ServerPermissionArray) ToServerPermissionArrayOutputWithContext(ctx context.Context) ServerPermissionArrayOutput

type ServerPermissionArrayInput

type ServerPermissionArrayInput interface {
	pulumi.Input

	ToServerPermissionArrayOutput() ServerPermissionArrayOutput
	ToServerPermissionArrayOutputWithContext(context.Context) ServerPermissionArrayOutput
}

ServerPermissionArrayInput is an input type that accepts ServerPermissionArray and ServerPermissionArrayOutput values. You can construct a concrete instance of `ServerPermissionArrayInput` via:

ServerPermissionArray{ ServerPermissionArgs{...} }

type ServerPermissionArrayOutput

type ServerPermissionArrayOutput struct{ *pulumi.OutputState }

func (ServerPermissionArrayOutput) ElementType

func (ServerPermissionArrayOutput) Index

func (ServerPermissionArrayOutput) ToOutput added in v0.0.8

func (ServerPermissionArrayOutput) ToServerPermissionArrayOutput

func (o ServerPermissionArrayOutput) ToServerPermissionArrayOutput() ServerPermissionArrayOutput

func (ServerPermissionArrayOutput) ToServerPermissionArrayOutputWithContext

func (o ServerPermissionArrayOutput) ToServerPermissionArrayOutputWithContext(ctx context.Context) ServerPermissionArrayOutput

type ServerPermissionInput

type ServerPermissionInput interface {
	pulumi.Input

	ToServerPermissionOutput() ServerPermissionOutput
	ToServerPermissionOutputWithContext(ctx context.Context) ServerPermissionOutput
}

type ServerPermissionMap

type ServerPermissionMap map[string]ServerPermissionInput

func (ServerPermissionMap) ElementType

func (ServerPermissionMap) ElementType() reflect.Type

func (ServerPermissionMap) ToOutput added in v0.0.8

func (ServerPermissionMap) ToServerPermissionMapOutput

func (i ServerPermissionMap) ToServerPermissionMapOutput() ServerPermissionMapOutput

func (ServerPermissionMap) ToServerPermissionMapOutputWithContext

func (i ServerPermissionMap) ToServerPermissionMapOutputWithContext(ctx context.Context) ServerPermissionMapOutput

type ServerPermissionMapInput

type ServerPermissionMapInput interface {
	pulumi.Input

	ToServerPermissionMapOutput() ServerPermissionMapOutput
	ToServerPermissionMapOutputWithContext(context.Context) ServerPermissionMapOutput
}

ServerPermissionMapInput is an input type that accepts ServerPermissionMap and ServerPermissionMapOutput values. You can construct a concrete instance of `ServerPermissionMapInput` via:

ServerPermissionMap{ "key": ServerPermissionArgs{...} }

type ServerPermissionMapOutput

type ServerPermissionMapOutput struct{ *pulumi.OutputState }

func (ServerPermissionMapOutput) ElementType

func (ServerPermissionMapOutput) ElementType() reflect.Type

func (ServerPermissionMapOutput) MapIndex

func (ServerPermissionMapOutput) ToOutput added in v0.0.8

func (ServerPermissionMapOutput) ToServerPermissionMapOutput

func (o ServerPermissionMapOutput) ToServerPermissionMapOutput() ServerPermissionMapOutput

func (ServerPermissionMapOutput) ToServerPermissionMapOutputWithContext

func (o ServerPermissionMapOutput) ToServerPermissionMapOutputWithContext(ctx context.Context) ServerPermissionMapOutput

type ServerPermissionOutput

type ServerPermissionOutput struct{ *pulumi.OutputState }

func (ServerPermissionOutput) ElementType

func (ServerPermissionOutput) ElementType() reflect.Type

func (ServerPermissionOutput) Permission

Name of server-level SQL permission. For full list of supported permissions see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-server-permissions-transact-sql?view=azuresqldb-current#remarks)

func (ServerPermissionOutput) PrincipalId

func (o ServerPermissionOutput) PrincipalId() pulumi.StringOutput

ID of the principal who will be granted `permission`. Can be retrieved using `ServerRole` or `SqlLogin`.

func (ServerPermissionOutput) ToOutput added in v0.0.8

func (ServerPermissionOutput) ToServerPermissionOutput

func (o ServerPermissionOutput) ToServerPermissionOutput() ServerPermissionOutput

func (ServerPermissionOutput) ToServerPermissionOutputWithContext

func (o ServerPermissionOutput) ToServerPermissionOutputWithContext(ctx context.Context) ServerPermissionOutput

func (ServerPermissionOutput) WithGrantOption

func (o ServerPermissionOutput) WithGrantOption() pulumi.BoolOutput

When set to `true`, `principalId` will be allowed to grant the `permission` to other principals. Defaults to `false`

type ServerPermissionState

type ServerPermissionState struct {
	// Name of server-level SQL permission. For full list of supported permissions see [docs](https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-server-permissions-transact-sql?view=azuresqldb-current#remarks)
	Permission pulumi.StringPtrInput
	// ID of the principal who will be granted `permission`. Can be retrieved using `ServerRole` or `SqlLogin`.
	PrincipalId pulumi.StringPtrInput
	// When set to `true`, `principalId` will be allowed to grant the `permission` to other principals. Defaults to `false`
	WithGrantOption pulumi.BoolPtrInput
}

func (ServerPermissionState) ElementType

func (ServerPermissionState) ElementType() reflect.Type

type ServerRole

type ServerRole struct {
	pulumi.CustomResourceState

	// Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars.
	Name pulumi.StringOutput `pulumi:"name"`
	// ID of another server role or login owning this role. Can be retrieved using `ServerRole` or `SqlLogin`.
	OwnerId pulumi.StringOutput `pulumi:"ownerId"`
}

Manages server-level role.

## Example Usage

```go package main

import (

"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 {
		owner, err := mssql.NewServerRole(ctx, "owner", nil)
		if err != nil {
			return err
		}
		_, err = mssql.NewServerRole(ctx, "example", &mssql.ServerRoleArgs{
			OwnerId: owner.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

import using <role_id> - can be retrieved using `SELECT [principal_id] FROM sys.server_principals WHERE [name]='<role_name>'`

```sh

$ pulumi import mssql:index/serverRole:ServerRole example 7

```

func GetServerRole

func GetServerRole(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerRoleState, opts ...pulumi.ResourceOption) (*ServerRole, error)

GetServerRole gets an existing ServerRole resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewServerRole

func NewServerRole(ctx *pulumi.Context,
	name string, args *ServerRoleArgs, opts ...pulumi.ResourceOption) (*ServerRole, error)

NewServerRole registers a new resource with the given unique name, arguments, and options.

func (*ServerRole) ElementType

func (*ServerRole) ElementType() reflect.Type

func (*ServerRole) ToOutput added in v0.0.8

func (i *ServerRole) ToOutput(ctx context.Context) pulumix.Output[*ServerRole]

func (*ServerRole) ToServerRoleOutput

func (i *ServerRole) ToServerRoleOutput() ServerRoleOutput

func (*ServerRole) ToServerRoleOutputWithContext

func (i *ServerRole) ToServerRoleOutputWithContext(ctx context.Context) ServerRoleOutput

type ServerRoleArgs

type ServerRoleArgs struct {
	// Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars.
	Name pulumi.StringPtrInput
	// ID of another server role or login owning this role. Can be retrieved using `ServerRole` or `SqlLogin`.
	OwnerId pulumi.StringPtrInput
}

The set of arguments for constructing a ServerRole resource.

func (ServerRoleArgs) ElementType

func (ServerRoleArgs) ElementType() reflect.Type

type ServerRoleArray

type ServerRoleArray []ServerRoleInput

func (ServerRoleArray) ElementType

func (ServerRoleArray) ElementType() reflect.Type

func (ServerRoleArray) ToOutput added in v0.0.8

func (ServerRoleArray) ToServerRoleArrayOutput

func (i ServerRoleArray) ToServerRoleArrayOutput() ServerRoleArrayOutput

func (ServerRoleArray) ToServerRoleArrayOutputWithContext

func (i ServerRoleArray) ToServerRoleArrayOutputWithContext(ctx context.Context) ServerRoleArrayOutput

type ServerRoleArrayInput

type ServerRoleArrayInput interface {
	pulumi.Input

	ToServerRoleArrayOutput() ServerRoleArrayOutput
	ToServerRoleArrayOutputWithContext(context.Context) ServerRoleArrayOutput
}

ServerRoleArrayInput is an input type that accepts ServerRoleArray and ServerRoleArrayOutput values. You can construct a concrete instance of `ServerRoleArrayInput` via:

ServerRoleArray{ ServerRoleArgs{...} }

type ServerRoleArrayOutput

type ServerRoleArrayOutput struct{ *pulumi.OutputState }

func (ServerRoleArrayOutput) ElementType

func (ServerRoleArrayOutput) ElementType() reflect.Type

func (ServerRoleArrayOutput) Index

func (ServerRoleArrayOutput) ToOutput added in v0.0.8

func (ServerRoleArrayOutput) ToServerRoleArrayOutput

func (o ServerRoleArrayOutput) ToServerRoleArrayOutput() ServerRoleArrayOutput

func (ServerRoleArrayOutput) ToServerRoleArrayOutputWithContext

func (o ServerRoleArrayOutput) ToServerRoleArrayOutputWithContext(ctx context.Context) ServerRoleArrayOutput

type ServerRoleInput

type ServerRoleInput interface {
	pulumi.Input

	ToServerRoleOutput() ServerRoleOutput
	ToServerRoleOutputWithContext(ctx context.Context) ServerRoleOutput
}

type ServerRoleMap

type ServerRoleMap map[string]ServerRoleInput

func (ServerRoleMap) ElementType

func (ServerRoleMap) ElementType() reflect.Type

func (ServerRoleMap) ToOutput added in v0.0.8

func (ServerRoleMap) ToServerRoleMapOutput

func (i ServerRoleMap) ToServerRoleMapOutput() ServerRoleMapOutput

func (ServerRoleMap) ToServerRoleMapOutputWithContext

func (i ServerRoleMap) ToServerRoleMapOutputWithContext(ctx context.Context) ServerRoleMapOutput

type ServerRoleMapInput

type ServerRoleMapInput interface {
	pulumi.Input

	ToServerRoleMapOutput() ServerRoleMapOutput
	ToServerRoleMapOutputWithContext(context.Context) ServerRoleMapOutput
}

ServerRoleMapInput is an input type that accepts ServerRoleMap and ServerRoleMapOutput values. You can construct a concrete instance of `ServerRoleMapInput` via:

ServerRoleMap{ "key": ServerRoleArgs{...} }

type ServerRoleMapOutput

type ServerRoleMapOutput struct{ *pulumi.OutputState }

func (ServerRoleMapOutput) ElementType

func (ServerRoleMapOutput) ElementType() reflect.Type

func (ServerRoleMapOutput) MapIndex

func (ServerRoleMapOutput) ToOutput added in v0.0.8

func (ServerRoleMapOutput) ToServerRoleMapOutput

func (o ServerRoleMapOutput) ToServerRoleMapOutput() ServerRoleMapOutput

func (ServerRoleMapOutput) ToServerRoleMapOutputWithContext

func (o ServerRoleMapOutput) ToServerRoleMapOutputWithContext(ctx context.Context) ServerRoleMapOutput

type ServerRoleMember

type ServerRoleMember struct {
	pulumi.CustomResourceState

	// ID of the member. Can be retrieved using `ServerRole` or `SqlLogin`
	MemberId pulumi.StringOutput `pulumi:"memberId"`
	// ID of the server role. Can be retrieved using `ServerRole`
	RoleId pulumi.StringOutput `pulumi:"roleId"`
}

Manages server role membership.

## Example Usage

```go package main

import (

"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 {
		member, err := mssql.LookupSqlLogin(ctx, &mssql.LookupSqlLoginArgs{
			Name: "member_login",
		}, nil)
		if err != nil {
			return err
		}
		exampleServerRole, err := mssql.NewServerRole(ctx, "exampleServerRole", nil)
		if err != nil {
			return err
		}
		_, err = mssql.NewServerRoleMember(ctx, "exampleServerRoleMember", &mssql.ServerRoleMemberArgs{
			RoleId:   exampleServerRole.ID(),
			MemberId: *pulumi.String(member.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

import using <role_id>/<member_id> - can be retrieved using `sys.server_principals` view

```sh

$ pulumi import mssql:index/serverRoleMember:ServerRoleMember example '7/5'

```

func GetServerRoleMember

func GetServerRoleMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerRoleMemberState, opts ...pulumi.ResourceOption) (*ServerRoleMember, error)

GetServerRoleMember gets an existing ServerRoleMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewServerRoleMember

func NewServerRoleMember(ctx *pulumi.Context,
	name string, args *ServerRoleMemberArgs, opts ...pulumi.ResourceOption) (*ServerRoleMember, error)

NewServerRoleMember registers a new resource with the given unique name, arguments, and options.

func (*ServerRoleMember) ElementType

func (*ServerRoleMember) ElementType() reflect.Type

func (*ServerRoleMember) ToOutput added in v0.0.8

func (*ServerRoleMember) ToServerRoleMemberOutput

func (i *ServerRoleMember) ToServerRoleMemberOutput() ServerRoleMemberOutput

func (*ServerRoleMember) ToServerRoleMemberOutputWithContext

func (i *ServerRoleMember) ToServerRoleMemberOutputWithContext(ctx context.Context) ServerRoleMemberOutput

type ServerRoleMemberArgs

type ServerRoleMemberArgs struct {
	// ID of the member. Can be retrieved using `ServerRole` or `SqlLogin`
	MemberId pulumi.StringInput
	// ID of the server role. Can be retrieved using `ServerRole`
	RoleId pulumi.StringInput
}

The set of arguments for constructing a ServerRoleMember resource.

func (ServerRoleMemberArgs) ElementType

func (ServerRoleMemberArgs) ElementType() reflect.Type

type ServerRoleMemberArray

type ServerRoleMemberArray []ServerRoleMemberInput

func (ServerRoleMemberArray) ElementType

func (ServerRoleMemberArray) ElementType() reflect.Type

func (ServerRoleMemberArray) ToOutput added in v0.0.8

func (ServerRoleMemberArray) ToServerRoleMemberArrayOutput

func (i ServerRoleMemberArray) ToServerRoleMemberArrayOutput() ServerRoleMemberArrayOutput

func (ServerRoleMemberArray) ToServerRoleMemberArrayOutputWithContext

func (i ServerRoleMemberArray) ToServerRoleMemberArrayOutputWithContext(ctx context.Context) ServerRoleMemberArrayOutput

type ServerRoleMemberArrayInput

type ServerRoleMemberArrayInput interface {
	pulumi.Input

	ToServerRoleMemberArrayOutput() ServerRoleMemberArrayOutput
	ToServerRoleMemberArrayOutputWithContext(context.Context) ServerRoleMemberArrayOutput
}

ServerRoleMemberArrayInput is an input type that accepts ServerRoleMemberArray and ServerRoleMemberArrayOutput values. You can construct a concrete instance of `ServerRoleMemberArrayInput` via:

ServerRoleMemberArray{ ServerRoleMemberArgs{...} }

type ServerRoleMemberArrayOutput

type ServerRoleMemberArrayOutput struct{ *pulumi.OutputState }

func (ServerRoleMemberArrayOutput) ElementType

func (ServerRoleMemberArrayOutput) Index

func (ServerRoleMemberArrayOutput) ToOutput added in v0.0.8

func (ServerRoleMemberArrayOutput) ToServerRoleMemberArrayOutput

func (o ServerRoleMemberArrayOutput) ToServerRoleMemberArrayOutput() ServerRoleMemberArrayOutput

func (ServerRoleMemberArrayOutput) ToServerRoleMemberArrayOutputWithContext

func (o ServerRoleMemberArrayOutput) ToServerRoleMemberArrayOutputWithContext(ctx context.Context) ServerRoleMemberArrayOutput

type ServerRoleMemberInput

type ServerRoleMemberInput interface {
	pulumi.Input

	ToServerRoleMemberOutput() ServerRoleMemberOutput
	ToServerRoleMemberOutputWithContext(ctx context.Context) ServerRoleMemberOutput
}

type ServerRoleMemberMap

type ServerRoleMemberMap map[string]ServerRoleMemberInput

func (ServerRoleMemberMap) ElementType

func (ServerRoleMemberMap) ElementType() reflect.Type

func (ServerRoleMemberMap) ToOutput added in v0.0.8

func (ServerRoleMemberMap) ToServerRoleMemberMapOutput

func (i ServerRoleMemberMap) ToServerRoleMemberMapOutput() ServerRoleMemberMapOutput

func (ServerRoleMemberMap) ToServerRoleMemberMapOutputWithContext

func (i ServerRoleMemberMap) ToServerRoleMemberMapOutputWithContext(ctx context.Context) ServerRoleMemberMapOutput

type ServerRoleMemberMapInput

type ServerRoleMemberMapInput interface {
	pulumi.Input

	ToServerRoleMemberMapOutput() ServerRoleMemberMapOutput
	ToServerRoleMemberMapOutputWithContext(context.Context) ServerRoleMemberMapOutput
}

ServerRoleMemberMapInput is an input type that accepts ServerRoleMemberMap and ServerRoleMemberMapOutput values. You can construct a concrete instance of `ServerRoleMemberMapInput` via:

ServerRoleMemberMap{ "key": ServerRoleMemberArgs{...} }

type ServerRoleMemberMapOutput

type ServerRoleMemberMapOutput struct{ *pulumi.OutputState }

func (ServerRoleMemberMapOutput) ElementType

func (ServerRoleMemberMapOutput) ElementType() reflect.Type

func (ServerRoleMemberMapOutput) MapIndex

func (ServerRoleMemberMapOutput) ToOutput added in v0.0.8

func (ServerRoleMemberMapOutput) ToServerRoleMemberMapOutput

func (o ServerRoleMemberMapOutput) ToServerRoleMemberMapOutput() ServerRoleMemberMapOutput

func (ServerRoleMemberMapOutput) ToServerRoleMemberMapOutputWithContext

func (o ServerRoleMemberMapOutput) ToServerRoleMemberMapOutputWithContext(ctx context.Context) ServerRoleMemberMapOutput

type ServerRoleMemberOutput

type ServerRoleMemberOutput struct{ *pulumi.OutputState }

func (ServerRoleMemberOutput) ElementType

func (ServerRoleMemberOutput) ElementType() reflect.Type

func (ServerRoleMemberOutput) MemberId

ID of the member. Can be retrieved using `ServerRole` or `SqlLogin`

func (ServerRoleMemberOutput) RoleId

ID of the server role. Can be retrieved using `ServerRole`

func (ServerRoleMemberOutput) ToOutput added in v0.0.8

func (ServerRoleMemberOutput) ToServerRoleMemberOutput

func (o ServerRoleMemberOutput) ToServerRoleMemberOutput() ServerRoleMemberOutput

func (ServerRoleMemberOutput) ToServerRoleMemberOutputWithContext

func (o ServerRoleMemberOutput) ToServerRoleMemberOutputWithContext(ctx context.Context) ServerRoleMemberOutput

type ServerRoleMemberState

type ServerRoleMemberState struct {
	// ID of the member. Can be retrieved using `ServerRole` or `SqlLogin`
	MemberId pulumi.StringPtrInput
	// ID of the server role. Can be retrieved using `ServerRole`
	RoleId pulumi.StringPtrInput
}

func (ServerRoleMemberState) ElementType

func (ServerRoleMemberState) ElementType() reflect.Type

type ServerRoleOutput

type ServerRoleOutput struct{ *pulumi.OutputState }

func (ServerRoleOutput) ElementType

func (ServerRoleOutput) ElementType() reflect.Type

func (ServerRoleOutput) Name

Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars.

func (ServerRoleOutput) OwnerId

func (o ServerRoleOutput) OwnerId() pulumi.StringOutput

ID of another server role or login owning this role. Can be retrieved using `ServerRole` or `SqlLogin`.

func (ServerRoleOutput) ToOutput added in v0.0.8

func (ServerRoleOutput) ToServerRoleOutput

func (o ServerRoleOutput) ToServerRoleOutput() ServerRoleOutput

func (ServerRoleOutput) ToServerRoleOutputWithContext

func (o ServerRoleOutput) ToServerRoleOutputWithContext(ctx context.Context) ServerRoleOutput

type ServerRoleState

type ServerRoleState struct {
	// Role name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot be longer than 128 chars.
	Name pulumi.StringPtrInput
	// ID of another server role or login owning this role. Can be retrieved using `ServerRole` or `SqlLogin`.
	OwnerId pulumi.StringPtrInput
}

func (ServerRoleState) ElementType

func (ServerRoleState) ElementType() reflect.Type

type SqlLogin

type SqlLogin struct {
	pulumi.CustomResourceState

	// When `true`, password expiration policy is enforced for this login. Defaults to `false`. -> **Note** In case of Azure
	// SQL, which does not support this feature, the flag will be ignored.
	CheckPasswordExpiration pulumi.BoolPtrOutput `pulumi:"checkPasswordExpiration"`
	// When `true`, the Windows password policies of the computer on which SQL Server is running are enforced on this login.
	// Defaults to `true`. -> **Note** In case of Azure SQL, which does not support this feature, the flag will be ignored.
	CheckPasswordPolicy pulumi.BoolPtrOutput `pulumi:"checkPasswordPolicy"`
	// ID of login's default DB. The ID can be retrieved using `mssql_database` data resource. Defaults to ID of `master`. ->
	// **Note** In case of Azure SQL, which does not support this feature, the flag will be ignored.
	DefaultDatabaseId pulumi.StringPtrOutput `pulumi:"defaultDatabaseId"`
	// Default language assigned to login. Defaults to current default language of the server. If the default language of the
	// server is later changed, the default language of the login remains unchanged. -> **Note** In case of Azure SQL, which
	// does not support this feature, the flag will be ignored.
	DefaultLanguage pulumi.StringPtrOutput `pulumi:"defaultLanguage"`
	// When true, password change will be forced on first logon. Defaults to `false`. -> **Note** After password is changed,
	// this flag is being reset to `false`, which will show as changes in Terraform plan. Use `ignore_changes` block to prevent
	// this behavior. -> **Note** In case of Azure SQL, which does not support this feature, the flag will be ignored.
	MustChangePassword pulumi.BoolPtrOutput `pulumi:"mustChangePassword"`
	// Login name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot contain `\`
	Name pulumi.StringOutput `pulumi:"name"`
	// Password for the login. Must follow strong password policies defined for SQL server. Passwords are case-sensitive, length must be 8-128 chars, can include all characters except `'` or `name`.
	Password pulumi.StringOutput `pulumi:"password"`
	// ID used to reference SQL Login in other resources, e.g. `server_role`. Can be retrieved from `sys.sql_logins`.
	PrincipalId pulumi.StringOutput `pulumi:"principalId"`
}

Manages single login.

## Example Usage

```go package main

import (

"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 {
		exampleDatabase, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		exampleSqlLogin, err := mssql.NewSqlLogin(ctx, "exampleSqlLogin", &mssql.SqlLoginArgs{
			Password:                pulumi.String("Str0ngPa$$word12"),
			MustChangePassword:      pulumi.Bool(true),
			DefaultDatabaseId:       *pulumi.String(exampleDatabase.Id),
			DefaultLanguage:         pulumi.String("english"),
			CheckPasswordExpiration: pulumi.Bool(true),
			CheckPasswordPolicy:     pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		ctx.Export("loginId", exampleSqlLogin.ID())
		return nil
	})
}

```

## Import

import using login ID - can be retrieved using `SELECT SUSER_SID('<login_name>')`

```sh

$ pulumi import mssql:index/sqlLogin:SqlLogin example 0x27578D8516843E4094EFA2CEED085C82

```

func GetSqlLogin

func GetSqlLogin(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SqlLoginState, opts ...pulumi.ResourceOption) (*SqlLogin, error)

GetSqlLogin gets an existing SqlLogin resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSqlLogin

func NewSqlLogin(ctx *pulumi.Context,
	name string, args *SqlLoginArgs, opts ...pulumi.ResourceOption) (*SqlLogin, error)

NewSqlLogin registers a new resource with the given unique name, arguments, and options.

func (*SqlLogin) ElementType

func (*SqlLogin) ElementType() reflect.Type

func (*SqlLogin) ToOutput added in v0.0.8

func (i *SqlLogin) ToOutput(ctx context.Context) pulumix.Output[*SqlLogin]

func (*SqlLogin) ToSqlLoginOutput

func (i *SqlLogin) ToSqlLoginOutput() SqlLoginOutput

func (*SqlLogin) ToSqlLoginOutputWithContext

func (i *SqlLogin) ToSqlLoginOutputWithContext(ctx context.Context) SqlLoginOutput

type SqlLoginArgs

type SqlLoginArgs struct {
	// When `true`, password expiration policy is enforced for this login. Defaults to `false`. -> **Note** In case of Azure
	// SQL, which does not support this feature, the flag will be ignored.
	CheckPasswordExpiration pulumi.BoolPtrInput
	// When `true`, the Windows password policies of the computer on which SQL Server is running are enforced on this login.
	// Defaults to `true`. -> **Note** In case of Azure SQL, which does not support this feature, the flag will be ignored.
	CheckPasswordPolicy pulumi.BoolPtrInput
	// ID of login's default DB. The ID can be retrieved using `mssql_database` data resource. Defaults to ID of `master`. ->
	// **Note** In case of Azure SQL, which does not support this feature, the flag will be ignored.
	DefaultDatabaseId pulumi.StringPtrInput
	// Default language assigned to login. Defaults to current default language of the server. If the default language of the
	// server is later changed, the default language of the login remains unchanged. -> **Note** In case of Azure SQL, which
	// does not support this feature, the flag will be ignored.
	DefaultLanguage pulumi.StringPtrInput
	// When true, password change will be forced on first logon. Defaults to `false`. -> **Note** After password is changed,
	// this flag is being reset to `false`, which will show as changes in Terraform plan. Use `ignore_changes` block to prevent
	// this behavior. -> **Note** In case of Azure SQL, which does not support this feature, the flag will be ignored.
	MustChangePassword pulumi.BoolPtrInput
	// Login name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot contain `\`
	Name pulumi.StringPtrInput
	// Password for the login. Must follow strong password policies defined for SQL server. Passwords are case-sensitive, length must be 8-128 chars, can include all characters except `'` or `name`.
	Password pulumi.StringInput
}

The set of arguments for constructing a SqlLogin resource.

func (SqlLoginArgs) ElementType

func (SqlLoginArgs) ElementType() reflect.Type

type SqlLoginArray

type SqlLoginArray []SqlLoginInput

func (SqlLoginArray) ElementType

func (SqlLoginArray) ElementType() reflect.Type

func (SqlLoginArray) ToOutput added in v0.0.8

func (i SqlLoginArray) ToOutput(ctx context.Context) pulumix.Output[[]*SqlLogin]

func (SqlLoginArray) ToSqlLoginArrayOutput

func (i SqlLoginArray) ToSqlLoginArrayOutput() SqlLoginArrayOutput

func (SqlLoginArray) ToSqlLoginArrayOutputWithContext

func (i SqlLoginArray) ToSqlLoginArrayOutputWithContext(ctx context.Context) SqlLoginArrayOutput

type SqlLoginArrayInput

type SqlLoginArrayInput interface {
	pulumi.Input

	ToSqlLoginArrayOutput() SqlLoginArrayOutput
	ToSqlLoginArrayOutputWithContext(context.Context) SqlLoginArrayOutput
}

SqlLoginArrayInput is an input type that accepts SqlLoginArray and SqlLoginArrayOutput values. You can construct a concrete instance of `SqlLoginArrayInput` via:

SqlLoginArray{ SqlLoginArgs{...} }

type SqlLoginArrayOutput

type SqlLoginArrayOutput struct{ *pulumi.OutputState }

func (SqlLoginArrayOutput) ElementType

func (SqlLoginArrayOutput) ElementType() reflect.Type

func (SqlLoginArrayOutput) Index

func (SqlLoginArrayOutput) ToOutput added in v0.0.8

func (SqlLoginArrayOutput) ToSqlLoginArrayOutput

func (o SqlLoginArrayOutput) ToSqlLoginArrayOutput() SqlLoginArrayOutput

func (SqlLoginArrayOutput) ToSqlLoginArrayOutputWithContext

func (o SqlLoginArrayOutput) ToSqlLoginArrayOutputWithContext(ctx context.Context) SqlLoginArrayOutput

type SqlLoginInput

type SqlLoginInput interface {
	pulumi.Input

	ToSqlLoginOutput() SqlLoginOutput
	ToSqlLoginOutputWithContext(ctx context.Context) SqlLoginOutput
}

type SqlLoginMap

type SqlLoginMap map[string]SqlLoginInput

func (SqlLoginMap) ElementType

func (SqlLoginMap) ElementType() reflect.Type

func (SqlLoginMap) ToOutput added in v0.0.8

func (i SqlLoginMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*SqlLogin]

func (SqlLoginMap) ToSqlLoginMapOutput

func (i SqlLoginMap) ToSqlLoginMapOutput() SqlLoginMapOutput

func (SqlLoginMap) ToSqlLoginMapOutputWithContext

func (i SqlLoginMap) ToSqlLoginMapOutputWithContext(ctx context.Context) SqlLoginMapOutput

type SqlLoginMapInput

type SqlLoginMapInput interface {
	pulumi.Input

	ToSqlLoginMapOutput() SqlLoginMapOutput
	ToSqlLoginMapOutputWithContext(context.Context) SqlLoginMapOutput
}

SqlLoginMapInput is an input type that accepts SqlLoginMap and SqlLoginMapOutput values. You can construct a concrete instance of `SqlLoginMapInput` via:

SqlLoginMap{ "key": SqlLoginArgs{...} }

type SqlLoginMapOutput

type SqlLoginMapOutput struct{ *pulumi.OutputState }

func (SqlLoginMapOutput) ElementType

func (SqlLoginMapOutput) ElementType() reflect.Type

func (SqlLoginMapOutput) MapIndex

func (SqlLoginMapOutput) ToOutput added in v0.0.8

func (SqlLoginMapOutput) ToSqlLoginMapOutput

func (o SqlLoginMapOutput) ToSqlLoginMapOutput() SqlLoginMapOutput

func (SqlLoginMapOutput) ToSqlLoginMapOutputWithContext

func (o SqlLoginMapOutput) ToSqlLoginMapOutputWithContext(ctx context.Context) SqlLoginMapOutput

type SqlLoginOutput

type SqlLoginOutput struct{ *pulumi.OutputState }

func (SqlLoginOutput) CheckPasswordExpiration

func (o SqlLoginOutput) CheckPasswordExpiration() pulumi.BoolPtrOutput

When `true`, password expiration policy is enforced for this login. Defaults to `false`. -> **Note** In case of Azure SQL, which does not support this feature, the flag will be ignored.

func (SqlLoginOutput) CheckPasswordPolicy

func (o SqlLoginOutput) CheckPasswordPolicy() pulumi.BoolPtrOutput

When `true`, the Windows password policies of the computer on which SQL Server is running are enforced on this login. Defaults to `true`. -> **Note** In case of Azure SQL, which does not support this feature, the flag will be ignored.

func (SqlLoginOutput) DefaultDatabaseId

func (o SqlLoginOutput) DefaultDatabaseId() pulumi.StringPtrOutput

ID of login's default DB. The ID can be retrieved using `mssql_database` data resource. Defaults to ID of `master`. -> **Note** In case of Azure SQL, which does not support this feature, the flag will be ignored.

func (SqlLoginOutput) DefaultLanguage

func (o SqlLoginOutput) DefaultLanguage() pulumi.StringPtrOutput

Default language assigned to login. Defaults to current default language of the server. If the default language of the server is later changed, the default language of the login remains unchanged. -> **Note** In case of Azure SQL, which does not support this feature, the flag will be ignored.

func (SqlLoginOutput) ElementType

func (SqlLoginOutput) ElementType() reflect.Type

func (SqlLoginOutput) MustChangePassword

func (o SqlLoginOutput) MustChangePassword() pulumi.BoolPtrOutput

When true, password change will be forced on first logon. Defaults to `false`. -> **Note** After password is changed, this flag is being reset to `false`, which will show as changes in Terraform plan. Use `ignore_changes` block to prevent this behavior. -> **Note** In case of Azure SQL, which does not support this feature, the flag will be ignored.

func (SqlLoginOutput) Name

Login name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot contain `\`

func (SqlLoginOutput) Password

func (o SqlLoginOutput) Password() pulumi.StringOutput

Password for the login. Must follow strong password policies defined for SQL server. Passwords are case-sensitive, length must be 8-128 chars, can include all characters except `'` or `name`.

func (SqlLoginOutput) PrincipalId

func (o SqlLoginOutput) PrincipalId() pulumi.StringOutput

ID used to reference SQL Login in other resources, e.g. `server_role`. Can be retrieved from `sys.sql_logins`.

func (SqlLoginOutput) ToOutput added in v0.0.8

func (SqlLoginOutput) ToSqlLoginOutput

func (o SqlLoginOutput) ToSqlLoginOutput() SqlLoginOutput

func (SqlLoginOutput) ToSqlLoginOutputWithContext

func (o SqlLoginOutput) ToSqlLoginOutputWithContext(ctx context.Context) SqlLoginOutput

type SqlLoginState

type SqlLoginState struct {
	// When `true`, password expiration policy is enforced for this login. Defaults to `false`. -> **Note** In case of Azure
	// SQL, which does not support this feature, the flag will be ignored.
	CheckPasswordExpiration pulumi.BoolPtrInput
	// When `true`, the Windows password policies of the computer on which SQL Server is running are enforced on this login.
	// Defaults to `true`. -> **Note** In case of Azure SQL, which does not support this feature, the flag will be ignored.
	CheckPasswordPolicy pulumi.BoolPtrInput
	// ID of login's default DB. The ID can be retrieved using `mssql_database` data resource. Defaults to ID of `master`. ->
	// **Note** In case of Azure SQL, which does not support this feature, the flag will be ignored.
	DefaultDatabaseId pulumi.StringPtrInput
	// Default language assigned to login. Defaults to current default language of the server. If the default language of the
	// server is later changed, the default language of the login remains unchanged. -> **Note** In case of Azure SQL, which
	// does not support this feature, the flag will be ignored.
	DefaultLanguage pulumi.StringPtrInput
	// When true, password change will be forced on first logon. Defaults to `false`. -> **Note** After password is changed,
	// this flag is being reset to `false`, which will show as changes in Terraform plan. Use `ignore_changes` block to prevent
	// this behavior. -> **Note** In case of Azure SQL, which does not support this feature, the flag will be ignored.
	MustChangePassword pulumi.BoolPtrInput
	// Login name. Must follow [Regular Identifiers rules](https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers#rules-for-regular-identifiers) and cannot contain `\`
	Name pulumi.StringPtrInput
	// Password for the login. Must follow strong password policies defined for SQL server. Passwords are case-sensitive, length must be 8-128 chars, can include all characters except `'` or `name`.
	Password pulumi.StringPtrInput
	// ID used to reference SQL Login in other resources, e.g. `server_role`. Can be retrieved from `sys.sql_logins`.
	PrincipalId pulumi.StringPtrInput
}

func (SqlLoginState) ElementType

func (SqlLoginState) ElementType() reflect.Type

type SqlUser

type SqlUser struct {
	pulumi.CustomResourceState

	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.
	DatabaseId pulumi.StringOutput `pulumi:"databaseId"`
	// SID of SQL login. Can be retrieved using `SqlLogin` or `SELECT SUSER_SID('<login_name>')`.
	LoginId pulumi.StringOutput `pulumi:"loginId"`
	// User name. Cannot be longer than 128 chars.
	Name pulumi.StringOutput `pulumi:"name"`
}

Manages database-level user, based on SQL login.

## Example Usage

```go package main

import (

"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 {
		exampleDatabase, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		exampleSqlLogin, err := mssql.NewSqlLogin(ctx, "exampleSqlLogin", &mssql.SqlLoginArgs{
			Password:                pulumi.String("Str0ngPa$$word12"),
			MustChangePassword:      pulumi.Bool(true),
			DefaultDatabaseId:       *pulumi.String(exampleDatabase.Id),
			DefaultLanguage:         pulumi.String("english"),
			CheckPasswordExpiration: pulumi.Bool(true),
			CheckPasswordPolicy:     pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		exampleSqlUser, err := mssql.NewSqlUser(ctx, "exampleSqlUser", &mssql.SqlUserArgs{
			DatabaseId: *pulumi.String(exampleDatabase.Id),
			LoginId:    exampleSqlLogin.ID(),
		})
		if err != nil {
			return err
		}
		ctx.Export("userId", exampleSqlUser.ID())
		return nil
	})
}

```

## Import

import using <db_id>/<user_id> - can be retrieved using `SELECT CONCAT(DB_ID(), '/', DATABASE_PRINCIPAL_ID('<username>'))`

```sh

$ pulumi import mssql:index/sqlUser:SqlUser example '7/5'

```

func GetSqlUser

func GetSqlUser(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SqlUserState, opts ...pulumi.ResourceOption) (*SqlUser, error)

GetSqlUser gets an existing SqlUser resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSqlUser

func NewSqlUser(ctx *pulumi.Context,
	name string, args *SqlUserArgs, opts ...pulumi.ResourceOption) (*SqlUser, error)

NewSqlUser registers a new resource with the given unique name, arguments, and options.

func (*SqlUser) ElementType

func (*SqlUser) ElementType() reflect.Type

func (*SqlUser) ToOutput added in v0.0.8

func (i *SqlUser) ToOutput(ctx context.Context) pulumix.Output[*SqlUser]

func (*SqlUser) ToSqlUserOutput

func (i *SqlUser) ToSqlUserOutput() SqlUserOutput

func (*SqlUser) ToSqlUserOutputWithContext

func (i *SqlUser) ToSqlUserOutputWithContext(ctx context.Context) SqlUserOutput

type SqlUserArgs

type SqlUserArgs struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.
	DatabaseId pulumi.StringPtrInput
	// SID of SQL login. Can be retrieved using `SqlLogin` or `SELECT SUSER_SID('<login_name>')`.
	LoginId pulumi.StringInput
	// User name. Cannot be longer than 128 chars.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a SqlUser resource.

func (SqlUserArgs) ElementType

func (SqlUserArgs) ElementType() reflect.Type

type SqlUserArray

type SqlUserArray []SqlUserInput

func (SqlUserArray) ElementType

func (SqlUserArray) ElementType() reflect.Type

func (SqlUserArray) ToOutput added in v0.0.8

func (i SqlUserArray) ToOutput(ctx context.Context) pulumix.Output[[]*SqlUser]

func (SqlUserArray) ToSqlUserArrayOutput

func (i SqlUserArray) ToSqlUserArrayOutput() SqlUserArrayOutput

func (SqlUserArray) ToSqlUserArrayOutputWithContext

func (i SqlUserArray) ToSqlUserArrayOutputWithContext(ctx context.Context) SqlUserArrayOutput

type SqlUserArrayInput

type SqlUserArrayInput interface {
	pulumi.Input

	ToSqlUserArrayOutput() SqlUserArrayOutput
	ToSqlUserArrayOutputWithContext(context.Context) SqlUserArrayOutput
}

SqlUserArrayInput is an input type that accepts SqlUserArray and SqlUserArrayOutput values. You can construct a concrete instance of `SqlUserArrayInput` via:

SqlUserArray{ SqlUserArgs{...} }

type SqlUserArrayOutput

type SqlUserArrayOutput struct{ *pulumi.OutputState }

func (SqlUserArrayOutput) ElementType

func (SqlUserArrayOutput) ElementType() reflect.Type

func (SqlUserArrayOutput) Index

func (SqlUserArrayOutput) ToOutput added in v0.0.8

func (SqlUserArrayOutput) ToSqlUserArrayOutput

func (o SqlUserArrayOutput) ToSqlUserArrayOutput() SqlUserArrayOutput

func (SqlUserArrayOutput) ToSqlUserArrayOutputWithContext

func (o SqlUserArrayOutput) ToSqlUserArrayOutputWithContext(ctx context.Context) SqlUserArrayOutput

type SqlUserInput

type SqlUserInput interface {
	pulumi.Input

	ToSqlUserOutput() SqlUserOutput
	ToSqlUserOutputWithContext(ctx context.Context) SqlUserOutput
}

type SqlUserMap

type SqlUserMap map[string]SqlUserInput

func (SqlUserMap) ElementType

func (SqlUserMap) ElementType() reflect.Type

func (SqlUserMap) ToOutput added in v0.0.8

func (i SqlUserMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*SqlUser]

func (SqlUserMap) ToSqlUserMapOutput

func (i SqlUserMap) ToSqlUserMapOutput() SqlUserMapOutput

func (SqlUserMap) ToSqlUserMapOutputWithContext

func (i SqlUserMap) ToSqlUserMapOutputWithContext(ctx context.Context) SqlUserMapOutput

type SqlUserMapInput

type SqlUserMapInput interface {
	pulumi.Input

	ToSqlUserMapOutput() SqlUserMapOutput
	ToSqlUserMapOutputWithContext(context.Context) SqlUserMapOutput
}

SqlUserMapInput is an input type that accepts SqlUserMap and SqlUserMapOutput values. You can construct a concrete instance of `SqlUserMapInput` via:

SqlUserMap{ "key": SqlUserArgs{...} }

type SqlUserMapOutput

type SqlUserMapOutput struct{ *pulumi.OutputState }

func (SqlUserMapOutput) ElementType

func (SqlUserMapOutput) ElementType() reflect.Type

func (SqlUserMapOutput) MapIndex

func (SqlUserMapOutput) ToOutput added in v0.0.8

func (SqlUserMapOutput) ToSqlUserMapOutput

func (o SqlUserMapOutput) ToSqlUserMapOutput() SqlUserMapOutput

func (SqlUserMapOutput) ToSqlUserMapOutputWithContext

func (o SqlUserMapOutput) ToSqlUserMapOutputWithContext(ctx context.Context) SqlUserMapOutput

type SqlUserOutput

type SqlUserOutput struct{ *pulumi.OutputState }

func (SqlUserOutput) DatabaseId

func (o SqlUserOutput) DatabaseId() pulumi.StringOutput

ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.

func (SqlUserOutput) ElementType

func (SqlUserOutput) ElementType() reflect.Type

func (SqlUserOutput) LoginId

func (o SqlUserOutput) LoginId() pulumi.StringOutput

SID of SQL login. Can be retrieved using `SqlLogin` or `SELECT SUSER_SID('<login_name>')`.

func (SqlUserOutput) Name

User name. Cannot be longer than 128 chars.

func (SqlUserOutput) ToOutput added in v0.0.8

func (o SqlUserOutput) ToOutput(ctx context.Context) pulumix.Output[*SqlUser]

func (SqlUserOutput) ToSqlUserOutput

func (o SqlUserOutput) ToSqlUserOutput() SqlUserOutput

func (SqlUserOutput) ToSqlUserOutputWithContext

func (o SqlUserOutput) ToSqlUserOutputWithContext(ctx context.Context) SqlUserOutput

type SqlUserState

type SqlUserState struct {
	// ID of database. Can be retrieved using `Database` or `SELECT DB_ID('<db_name>')`. Defaults to ID of `master`.
	DatabaseId pulumi.StringPtrInput
	// SID of SQL login. Can be retrieved using `SqlLogin` or `SELECT SUSER_SID('<login_name>')`.
	LoginId pulumi.StringPtrInput
	// User name. Cannot be longer than 128 chars.
	Name pulumi.StringPtrInput
}

func (SqlUserState) ElementType

func (SqlUserState) ElementType() reflect.Type

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL