sql

package
v5.74.0 Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActiveDirectoryAdministrator

type ActiveDirectoryAdministrator struct {
	pulumi.CustomResourceState

	// Specifies whether only AD Users and administrators can be used to login (`true`) or also local database users (`false`).
	AzureadAuthenticationOnly pulumi.BoolOutput `pulumi:"azureadAuthenticationOnly"`
	// The login name of the principal to set as the server administrator
	Login pulumi.StringOutput `pulumi:"login"`
	// The ID of the principal to set as the server administrator
	ObjectId pulumi.StringOutput `pulumi:"objectId"`
	// The name of the resource group for the SQL server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The name of the SQL Server on which to set the administrator. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// The Azure Tenant ID
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

Allows you to set a user or group as the AD administrator for an Azure SQL server.

> **Note:** The `sql.ActiveDirectoryAdministrator` resource is deprecated in version 3.0 of the AzureRM provider and will be removed in version 4.0. Please use the `azureadAdministrator` block of the `mssql.Server` resource instead.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleSqlServer, err := sql.NewSqlServer(ctx, "example", &sql.SqlServerArgs{
			Name:                       pulumi.String("mysqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		_, err = sql.NewActiveDirectoryAdministrator(ctx, "example", &sql.ActiveDirectoryAdministratorArgs{
			ServerName:        exampleSqlServer.Name,
			ResourceGroupName: example.Name,
			Login:             pulumi.String("sqladmin"),
			TenantId:          pulumi.String(current.TenantId),
			ObjectId:          pulumi.String(current.ObjectId),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

A SQL Active Directory Administrator can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:sql/activeDirectoryAdministrator:ActiveDirectoryAdministrator administrator /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver/administrators/activeDirectory ```

func GetActiveDirectoryAdministrator

func GetActiveDirectoryAdministrator(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ActiveDirectoryAdministratorState, opts ...pulumi.ResourceOption) (*ActiveDirectoryAdministrator, error)

GetActiveDirectoryAdministrator gets an existing ActiveDirectoryAdministrator 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 NewActiveDirectoryAdministrator

func NewActiveDirectoryAdministrator(ctx *pulumi.Context,
	name string, args *ActiveDirectoryAdministratorArgs, opts ...pulumi.ResourceOption) (*ActiveDirectoryAdministrator, error)

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

func (*ActiveDirectoryAdministrator) ElementType

func (*ActiveDirectoryAdministrator) ElementType() reflect.Type

func (*ActiveDirectoryAdministrator) ToActiveDirectoryAdministratorOutput

func (i *ActiveDirectoryAdministrator) ToActiveDirectoryAdministratorOutput() ActiveDirectoryAdministratorOutput

func (*ActiveDirectoryAdministrator) ToActiveDirectoryAdministratorOutputWithContext

func (i *ActiveDirectoryAdministrator) ToActiveDirectoryAdministratorOutputWithContext(ctx context.Context) ActiveDirectoryAdministratorOutput

type ActiveDirectoryAdministratorArgs

type ActiveDirectoryAdministratorArgs struct {
	// Specifies whether only AD Users and administrators can be used to login (`true`) or also local database users (`false`).
	AzureadAuthenticationOnly pulumi.BoolPtrInput
	// The login name of the principal to set as the server administrator
	Login pulumi.StringInput
	// The ID of the principal to set as the server administrator
	ObjectId pulumi.StringInput
	// The name of the resource group for the SQL server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The name of the SQL Server on which to set the administrator. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
	// The Azure Tenant ID
	TenantId pulumi.StringInput
}

The set of arguments for constructing a ActiveDirectoryAdministrator resource.

func (ActiveDirectoryAdministratorArgs) ElementType

type ActiveDirectoryAdministratorArray

type ActiveDirectoryAdministratorArray []ActiveDirectoryAdministratorInput

func (ActiveDirectoryAdministratorArray) ElementType

func (ActiveDirectoryAdministratorArray) ToActiveDirectoryAdministratorArrayOutput

func (i ActiveDirectoryAdministratorArray) ToActiveDirectoryAdministratorArrayOutput() ActiveDirectoryAdministratorArrayOutput

func (ActiveDirectoryAdministratorArray) ToActiveDirectoryAdministratorArrayOutputWithContext

func (i ActiveDirectoryAdministratorArray) ToActiveDirectoryAdministratorArrayOutputWithContext(ctx context.Context) ActiveDirectoryAdministratorArrayOutput

type ActiveDirectoryAdministratorArrayInput

type ActiveDirectoryAdministratorArrayInput interface {
	pulumi.Input

	ToActiveDirectoryAdministratorArrayOutput() ActiveDirectoryAdministratorArrayOutput
	ToActiveDirectoryAdministratorArrayOutputWithContext(context.Context) ActiveDirectoryAdministratorArrayOutput
}

ActiveDirectoryAdministratorArrayInput is an input type that accepts ActiveDirectoryAdministratorArray and ActiveDirectoryAdministratorArrayOutput values. You can construct a concrete instance of `ActiveDirectoryAdministratorArrayInput` via:

ActiveDirectoryAdministratorArray{ ActiveDirectoryAdministratorArgs{...} }

type ActiveDirectoryAdministratorArrayOutput

type ActiveDirectoryAdministratorArrayOutput struct{ *pulumi.OutputState }

func (ActiveDirectoryAdministratorArrayOutput) ElementType

func (ActiveDirectoryAdministratorArrayOutput) Index

func (ActiveDirectoryAdministratorArrayOutput) ToActiveDirectoryAdministratorArrayOutput

func (o ActiveDirectoryAdministratorArrayOutput) ToActiveDirectoryAdministratorArrayOutput() ActiveDirectoryAdministratorArrayOutput

func (ActiveDirectoryAdministratorArrayOutput) ToActiveDirectoryAdministratorArrayOutputWithContext

func (o ActiveDirectoryAdministratorArrayOutput) ToActiveDirectoryAdministratorArrayOutputWithContext(ctx context.Context) ActiveDirectoryAdministratorArrayOutput

type ActiveDirectoryAdministratorInput

type ActiveDirectoryAdministratorInput interface {
	pulumi.Input

	ToActiveDirectoryAdministratorOutput() ActiveDirectoryAdministratorOutput
	ToActiveDirectoryAdministratorOutputWithContext(ctx context.Context) ActiveDirectoryAdministratorOutput
}

type ActiveDirectoryAdministratorMap

type ActiveDirectoryAdministratorMap map[string]ActiveDirectoryAdministratorInput

func (ActiveDirectoryAdministratorMap) ElementType

func (ActiveDirectoryAdministratorMap) ToActiveDirectoryAdministratorMapOutput

func (i ActiveDirectoryAdministratorMap) ToActiveDirectoryAdministratorMapOutput() ActiveDirectoryAdministratorMapOutput

func (ActiveDirectoryAdministratorMap) ToActiveDirectoryAdministratorMapOutputWithContext

func (i ActiveDirectoryAdministratorMap) ToActiveDirectoryAdministratorMapOutputWithContext(ctx context.Context) ActiveDirectoryAdministratorMapOutput

type ActiveDirectoryAdministratorMapInput

type ActiveDirectoryAdministratorMapInput interface {
	pulumi.Input

	ToActiveDirectoryAdministratorMapOutput() ActiveDirectoryAdministratorMapOutput
	ToActiveDirectoryAdministratorMapOutputWithContext(context.Context) ActiveDirectoryAdministratorMapOutput
}

ActiveDirectoryAdministratorMapInput is an input type that accepts ActiveDirectoryAdministratorMap and ActiveDirectoryAdministratorMapOutput values. You can construct a concrete instance of `ActiveDirectoryAdministratorMapInput` via:

ActiveDirectoryAdministratorMap{ "key": ActiveDirectoryAdministratorArgs{...} }

type ActiveDirectoryAdministratorMapOutput

type ActiveDirectoryAdministratorMapOutput struct{ *pulumi.OutputState }

func (ActiveDirectoryAdministratorMapOutput) ElementType

func (ActiveDirectoryAdministratorMapOutput) MapIndex

func (ActiveDirectoryAdministratorMapOutput) ToActiveDirectoryAdministratorMapOutput

func (o ActiveDirectoryAdministratorMapOutput) ToActiveDirectoryAdministratorMapOutput() ActiveDirectoryAdministratorMapOutput

func (ActiveDirectoryAdministratorMapOutput) ToActiveDirectoryAdministratorMapOutputWithContext

func (o ActiveDirectoryAdministratorMapOutput) ToActiveDirectoryAdministratorMapOutputWithContext(ctx context.Context) ActiveDirectoryAdministratorMapOutput

type ActiveDirectoryAdministratorOutput

type ActiveDirectoryAdministratorOutput struct{ *pulumi.OutputState }

func (ActiveDirectoryAdministratorOutput) AzureadAuthenticationOnly added in v5.5.0

func (o ActiveDirectoryAdministratorOutput) AzureadAuthenticationOnly() pulumi.BoolOutput

Specifies whether only AD Users and administrators can be used to login (`true`) or also local database users (`false`).

func (ActiveDirectoryAdministratorOutput) ElementType

func (ActiveDirectoryAdministratorOutput) Login added in v5.5.0

The login name of the principal to set as the server administrator

func (ActiveDirectoryAdministratorOutput) ObjectId added in v5.5.0

The ID of the principal to set as the server administrator

func (ActiveDirectoryAdministratorOutput) ResourceGroupName added in v5.5.0

The name of the resource group for the SQL server. Changing this forces a new resource to be created.

func (ActiveDirectoryAdministratorOutput) ServerName added in v5.5.0

The name of the SQL Server on which to set the administrator. Changing this forces a new resource to be created.

func (ActiveDirectoryAdministratorOutput) TenantId added in v5.5.0

The Azure Tenant ID

func (ActiveDirectoryAdministratorOutput) ToActiveDirectoryAdministratorOutput

func (o ActiveDirectoryAdministratorOutput) ToActiveDirectoryAdministratorOutput() ActiveDirectoryAdministratorOutput

func (ActiveDirectoryAdministratorOutput) ToActiveDirectoryAdministratorOutputWithContext

func (o ActiveDirectoryAdministratorOutput) ToActiveDirectoryAdministratorOutputWithContext(ctx context.Context) ActiveDirectoryAdministratorOutput

type ActiveDirectoryAdministratorState

type ActiveDirectoryAdministratorState struct {
	// Specifies whether only AD Users and administrators can be used to login (`true`) or also local database users (`false`).
	AzureadAuthenticationOnly pulumi.BoolPtrInput
	// The login name of the principal to set as the server administrator
	Login pulumi.StringPtrInput
	// The ID of the principal to set as the server administrator
	ObjectId pulumi.StringPtrInput
	// The name of the resource group for the SQL server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The name of the SQL Server on which to set the administrator. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
	// The Azure Tenant ID
	TenantId pulumi.StringPtrInput
}

func (ActiveDirectoryAdministratorState) ElementType

type Database

type Database struct {
	pulumi.CustomResourceState

	// The name of the collation. Applies only if `createMode` is `Default`. Azure default is `SQL_LATIN1_GENERAL_CP1_CI_AS`. Changing this forces a new resource to be created.
	Collation pulumi.StringOutput `pulumi:"collation"`
	// Specifies how to create the database. Valid values are: `Default`, `Copy`, `OnlineSecondary`, `NonReadableSecondary`, `PointInTimeRestore`, `Recovery`, `Restore` or `RestoreLongTermRetentionBackup`. Must be `Default` to create a new database. Defaults to `Default`. Please see [Azure SQL Database REST API](https://docs.microsoft.com/rest/api/sql/databases/createorupdate#createmode)
	CreateMode pulumi.StringPtrOutput `pulumi:"createMode"`
	// The creation date of the SQL Database.
	CreationDate pulumi.StringOutput `pulumi:"creationDate"`
	// The default secondary location of the SQL Database.
	DefaultSecondaryLocation pulumi.StringOutput `pulumi:"defaultSecondaryLocation"`
	// The edition of the database to be created. Applies only if `createMode` is `Default`. Valid values are: `Basic`, `Standard`, `Premium`, `DataWarehouse`, `Business`, `BusinessCritical`, `Free`, `GeneralPurpose`, `Hyperscale`, `Premium`, `PremiumRS`, `Standard`, `Stretch`, `System`, `System2`, or `Web`. Please see [Azure SQL database models](https://docs.microsoft.com/azure/azure-sql/database/purchasing-models?view=azuresql).
	Edition pulumi.StringOutput `pulumi:"edition"`
	// The name of the elastic database pool.
	ElasticPoolName pulumi.StringOutput `pulumi:"elasticPoolName"`
	Encryption      pulumi.StringOutput `pulumi:"encryption"`
	// A `import` block as documented below. `createMode` must be set to `Default`.
	Import DatabaseImportPtrOutput `pulumi:"import"`
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The maximum size that the database can grow to. Applies only if `createMode` is `Default`. Please see [Azure SQL database models](https://docs.microsoft.com/azure/azure-sql/database/purchasing-models?view=azuresql).
	MaxSizeBytes pulumi.StringOutput `pulumi:"maxSizeBytes"`
	MaxSizeGb    pulumi.StringOutput `pulumi:"maxSizeGb"`
	// The name of the database. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Read-only connections will be redirected to a high-available replica. Please see [Use read-only replicas to load-balance read-only query workloads](https://docs.microsoft.com/azure/sql-database/sql-database-read-scale-out).
	ReadScale pulumi.BoolPtrOutput `pulumi:"readScale"`
	// A GUID/UUID corresponding to a configured Service Level Objective for the Azure SQL database which can be used to configure a performance level.
	// .
	RequestedServiceObjectiveId pulumi.StringOutput `pulumi:"requestedServiceObjectiveId"`
	// The service objective name for the database. Valid values depend on edition and location and may include `S0`, `S1`, `S2`, `S3`, `P1`, `P2`, `P4`, `P6`, `P11` and `ElasticPool`. You can list the available names with the CLI: `shell az sql db list-editions -l westus -o table`. For further information please see [Azure CLI - az sql db](https://docs.microsoft.com/cli/azure/sql/db?view=azure-cli-latest#az-sql-db-list-editions).
	RequestedServiceObjectiveName pulumi.StringOutput `pulumi:"requestedServiceObjectiveName"`
	// The name of the resource group in which to create the database. This must be the same as Database Server resource group currently. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The point in time for the restore. Only applies if `createMode` is `PointInTimeRestore`, it should be provided in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) format, e.g. `2013-11-08T22:00:40Z`.
	RestorePointInTime pulumi.StringOutput `pulumi:"restorePointInTime"`
	// The name of the SQL Server on which to create the database. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// The deletion date time of the source database. Only applies to deleted databases where `createMode` is `PointInTimeRestore`.
	SourceDatabaseDeletionDate pulumi.StringOutput `pulumi:"sourceDatabaseDeletionDate"`
	// The URI of the source database if `createMode` value is not `Default`.
	SourceDatabaseId pulumi.StringOutput `pulumi:"sourceDatabaseId"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Threat detection policy configuration. The `threatDetectionPolicy` block supports fields documented below.
	ThreatDetectionPolicy DatabaseThreatDetectionPolicyOutput `pulumi:"threatDetectionPolicy"`
	// Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.
	ZoneRedundant pulumi.BoolPtrOutput `pulumi:"zoneRedundant"`
}

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleSqlServer, err := sql.NewSqlServer(ctx, "example", &sql.SqlServerArgs{
			Name:                       pulumi.String("myexamplesqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
			Tags: pulumi.StringMap{
				"environment": pulumi.String("production"),
			},
		})
		if err != nil {
			return err
		}
		_, err = storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("examplesa"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		_, err = sql.NewDatabase(ctx, "example", &sql.DatabaseArgs{
			Name:              pulumi.String("myexamplesqldatabase"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			ServerName:        exampleSqlServer.Name,
			Tags: pulumi.StringMap{
				"environment": pulumi.String("production"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SQL Databases can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:sql/database:Database database1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver/databases/database1 ```

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

type DatabaseArgs

type DatabaseArgs struct {
	// The name of the collation. Applies only if `createMode` is `Default`. Azure default is `SQL_LATIN1_GENERAL_CP1_CI_AS`. Changing this forces a new resource to be created.
	Collation pulumi.StringPtrInput
	// Specifies how to create the database. Valid values are: `Default`, `Copy`, `OnlineSecondary`, `NonReadableSecondary`, `PointInTimeRestore`, `Recovery`, `Restore` or `RestoreLongTermRetentionBackup`. Must be `Default` to create a new database. Defaults to `Default`. Please see [Azure SQL Database REST API](https://docs.microsoft.com/rest/api/sql/databases/createorupdate#createmode)
	CreateMode pulumi.StringPtrInput
	// The edition of the database to be created. Applies only if `createMode` is `Default`. Valid values are: `Basic`, `Standard`, `Premium`, `DataWarehouse`, `Business`, `BusinessCritical`, `Free`, `GeneralPurpose`, `Hyperscale`, `Premium`, `PremiumRS`, `Standard`, `Stretch`, `System`, `System2`, or `Web`. Please see [Azure SQL database models](https://docs.microsoft.com/azure/azure-sql/database/purchasing-models?view=azuresql).
	Edition pulumi.StringPtrInput
	// The name of the elastic database pool.
	ElasticPoolName pulumi.StringPtrInput
	// A `import` block as documented below. `createMode` must be set to `Default`.
	Import DatabaseImportPtrInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The maximum size that the database can grow to. Applies only if `createMode` is `Default`. Please see [Azure SQL database models](https://docs.microsoft.com/azure/azure-sql/database/purchasing-models?view=azuresql).
	MaxSizeBytes pulumi.StringPtrInput
	MaxSizeGb    pulumi.StringPtrInput
	// The name of the database. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Read-only connections will be redirected to a high-available replica. Please see [Use read-only replicas to load-balance read-only query workloads](https://docs.microsoft.com/azure/sql-database/sql-database-read-scale-out).
	ReadScale pulumi.BoolPtrInput
	// A GUID/UUID corresponding to a configured Service Level Objective for the Azure SQL database which can be used to configure a performance level.
	// .
	RequestedServiceObjectiveId pulumi.StringPtrInput
	// The service objective name for the database. Valid values depend on edition and location and may include `S0`, `S1`, `S2`, `S3`, `P1`, `P2`, `P4`, `P6`, `P11` and `ElasticPool`. You can list the available names with the CLI: `shell az sql db list-editions -l westus -o table`. For further information please see [Azure CLI - az sql db](https://docs.microsoft.com/cli/azure/sql/db?view=azure-cli-latest#az-sql-db-list-editions).
	RequestedServiceObjectiveName pulumi.StringPtrInput
	// The name of the resource group in which to create the database. This must be the same as Database Server resource group currently. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The point in time for the restore. Only applies if `createMode` is `PointInTimeRestore`, it should be provided in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) format, e.g. `2013-11-08T22:00:40Z`.
	RestorePointInTime pulumi.StringPtrInput
	// The name of the SQL Server on which to create the database. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
	// The deletion date time of the source database. Only applies to deleted databases where `createMode` is `PointInTimeRestore`.
	SourceDatabaseDeletionDate pulumi.StringPtrInput
	// The URI of the source database if `createMode` value is not `Default`.
	SourceDatabaseId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Threat detection policy configuration. The `threatDetectionPolicy` block supports fields documented below.
	ThreatDetectionPolicy DatabaseThreatDetectionPolicyPtrInput
	// Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.
	ZoneRedundant pulumi.BoolPtrInput
}

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

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

type DatabaseImport

type DatabaseImport struct {
	// Specifies the name of the SQL administrator.
	AdministratorLogin string `pulumi:"administratorLogin"`
	// Specifies the password of the SQL administrator.
	AdministratorLoginPassword string `pulumi:"administratorLoginPassword"`
	// Specifies the type of authentication used to access the server. Valid values are `SQL` or `ADPassword`.
	AuthenticationType string `pulumi:"authenticationType"`
	// Specifies the type of import operation being performed. The only allowable value is `Import`. Defaults to `Import`.
	OperationMode *string `pulumi:"operationMode"`
	// Specifies the access key for the storage account.
	StorageKey string `pulumi:"storageKey"`
	// Specifies the type of access key for the storage account. Valid values are `StorageAccessKey` or `SharedAccessKey`.
	StorageKeyType string `pulumi:"storageKeyType"`
	// Specifies the blob URI of the .bacpac file.
	StorageUri string `pulumi:"storageUri"`
}

type DatabaseImportArgs

type DatabaseImportArgs struct {
	// Specifies the name of the SQL administrator.
	AdministratorLogin pulumi.StringInput `pulumi:"administratorLogin"`
	// Specifies the password of the SQL administrator.
	AdministratorLoginPassword pulumi.StringInput `pulumi:"administratorLoginPassword"`
	// Specifies the type of authentication used to access the server. Valid values are `SQL` or `ADPassword`.
	AuthenticationType pulumi.StringInput `pulumi:"authenticationType"`
	// Specifies the type of import operation being performed. The only allowable value is `Import`. Defaults to `Import`.
	OperationMode pulumi.StringPtrInput `pulumi:"operationMode"`
	// Specifies the access key for the storage account.
	StorageKey pulumi.StringInput `pulumi:"storageKey"`
	// Specifies the type of access key for the storage account. Valid values are `StorageAccessKey` or `SharedAccessKey`.
	StorageKeyType pulumi.StringInput `pulumi:"storageKeyType"`
	// Specifies the blob URI of the .bacpac file.
	StorageUri pulumi.StringInput `pulumi:"storageUri"`
}

func (DatabaseImportArgs) ElementType

func (DatabaseImportArgs) ElementType() reflect.Type

func (DatabaseImportArgs) ToDatabaseImportOutput

func (i DatabaseImportArgs) ToDatabaseImportOutput() DatabaseImportOutput

func (DatabaseImportArgs) ToDatabaseImportOutputWithContext

func (i DatabaseImportArgs) ToDatabaseImportOutputWithContext(ctx context.Context) DatabaseImportOutput

func (DatabaseImportArgs) ToDatabaseImportPtrOutput

func (i DatabaseImportArgs) ToDatabaseImportPtrOutput() DatabaseImportPtrOutput

func (DatabaseImportArgs) ToDatabaseImportPtrOutputWithContext

func (i DatabaseImportArgs) ToDatabaseImportPtrOutputWithContext(ctx context.Context) DatabaseImportPtrOutput

type DatabaseImportInput

type DatabaseImportInput interface {
	pulumi.Input

	ToDatabaseImportOutput() DatabaseImportOutput
	ToDatabaseImportOutputWithContext(context.Context) DatabaseImportOutput
}

DatabaseImportInput is an input type that accepts DatabaseImportArgs and DatabaseImportOutput values. You can construct a concrete instance of `DatabaseImportInput` via:

DatabaseImportArgs{...}

type DatabaseImportOutput

type DatabaseImportOutput struct{ *pulumi.OutputState }

func (DatabaseImportOutput) AdministratorLogin

func (o DatabaseImportOutput) AdministratorLogin() pulumi.StringOutput

Specifies the name of the SQL administrator.

func (DatabaseImportOutput) AdministratorLoginPassword

func (o DatabaseImportOutput) AdministratorLoginPassword() pulumi.StringOutput

Specifies the password of the SQL administrator.

func (DatabaseImportOutput) AuthenticationType

func (o DatabaseImportOutput) AuthenticationType() pulumi.StringOutput

Specifies the type of authentication used to access the server. Valid values are `SQL` or `ADPassword`.

func (DatabaseImportOutput) ElementType

func (DatabaseImportOutput) ElementType() reflect.Type

func (DatabaseImportOutput) OperationMode

func (o DatabaseImportOutput) OperationMode() pulumi.StringPtrOutput

Specifies the type of import operation being performed. The only allowable value is `Import`. Defaults to `Import`.

func (DatabaseImportOutput) StorageKey

func (o DatabaseImportOutput) StorageKey() pulumi.StringOutput

Specifies the access key for the storage account.

func (DatabaseImportOutput) StorageKeyType

func (o DatabaseImportOutput) StorageKeyType() pulumi.StringOutput

Specifies the type of access key for the storage account. Valid values are `StorageAccessKey` or `SharedAccessKey`.

func (DatabaseImportOutput) StorageUri

func (o DatabaseImportOutput) StorageUri() pulumi.StringOutput

Specifies the blob URI of the .bacpac file.

func (DatabaseImportOutput) ToDatabaseImportOutput

func (o DatabaseImportOutput) ToDatabaseImportOutput() DatabaseImportOutput

func (DatabaseImportOutput) ToDatabaseImportOutputWithContext

func (o DatabaseImportOutput) ToDatabaseImportOutputWithContext(ctx context.Context) DatabaseImportOutput

func (DatabaseImportOutput) ToDatabaseImportPtrOutput

func (o DatabaseImportOutput) ToDatabaseImportPtrOutput() DatabaseImportPtrOutput

func (DatabaseImportOutput) ToDatabaseImportPtrOutputWithContext

func (o DatabaseImportOutput) ToDatabaseImportPtrOutputWithContext(ctx context.Context) DatabaseImportPtrOutput

type DatabaseImportPtrInput

type DatabaseImportPtrInput interface {
	pulumi.Input

	ToDatabaseImportPtrOutput() DatabaseImportPtrOutput
	ToDatabaseImportPtrOutputWithContext(context.Context) DatabaseImportPtrOutput
}

DatabaseImportPtrInput is an input type that accepts DatabaseImportArgs, DatabaseImportPtr and DatabaseImportPtrOutput values. You can construct a concrete instance of `DatabaseImportPtrInput` via:

        DatabaseImportArgs{...}

or:

        nil

type DatabaseImportPtrOutput

type DatabaseImportPtrOutput struct{ *pulumi.OutputState }

func (DatabaseImportPtrOutput) AdministratorLogin

func (o DatabaseImportPtrOutput) AdministratorLogin() pulumi.StringPtrOutput

Specifies the name of the SQL administrator.

func (DatabaseImportPtrOutput) AdministratorLoginPassword

func (o DatabaseImportPtrOutput) AdministratorLoginPassword() pulumi.StringPtrOutput

Specifies the password of the SQL administrator.

func (DatabaseImportPtrOutput) AuthenticationType

func (o DatabaseImportPtrOutput) AuthenticationType() pulumi.StringPtrOutput

Specifies the type of authentication used to access the server. Valid values are `SQL` or `ADPassword`.

func (DatabaseImportPtrOutput) Elem

func (DatabaseImportPtrOutput) ElementType

func (DatabaseImportPtrOutput) ElementType() reflect.Type

func (DatabaseImportPtrOutput) OperationMode

Specifies the type of import operation being performed. The only allowable value is `Import`. Defaults to `Import`.

func (DatabaseImportPtrOutput) StorageKey

Specifies the access key for the storage account.

func (DatabaseImportPtrOutput) StorageKeyType

func (o DatabaseImportPtrOutput) StorageKeyType() pulumi.StringPtrOutput

Specifies the type of access key for the storage account. Valid values are `StorageAccessKey` or `SharedAccessKey`.

func (DatabaseImportPtrOutput) StorageUri

Specifies the blob URI of the .bacpac file.

func (DatabaseImportPtrOutput) ToDatabaseImportPtrOutput

func (o DatabaseImportPtrOutput) ToDatabaseImportPtrOutput() DatabaseImportPtrOutput

func (DatabaseImportPtrOutput) ToDatabaseImportPtrOutputWithContext

func (o DatabaseImportPtrOutput) ToDatabaseImportPtrOutputWithContext(ctx context.Context) DatabaseImportPtrOutput

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

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

type DatabaseOutput

type DatabaseOutput struct{ *pulumi.OutputState }

func (DatabaseOutput) Collation added in v5.5.0

func (o DatabaseOutput) Collation() pulumi.StringOutput

The name of the collation. Applies only if `createMode` is `Default`. Azure default is `SQL_LATIN1_GENERAL_CP1_CI_AS`. Changing this forces a new resource to be created.

func (DatabaseOutput) CreateMode added in v5.5.0

func (o DatabaseOutput) CreateMode() pulumi.StringPtrOutput

Specifies how to create the database. Valid values are: `Default`, `Copy`, `OnlineSecondary`, `NonReadableSecondary`, `PointInTimeRestore`, `Recovery`, `Restore` or `RestoreLongTermRetentionBackup`. Must be `Default` to create a new database. Defaults to `Default`. Please see [Azure SQL Database REST API](https://docs.microsoft.com/rest/api/sql/databases/createorupdate#createmode)

func (DatabaseOutput) CreationDate added in v5.5.0

func (o DatabaseOutput) CreationDate() pulumi.StringOutput

The creation date of the SQL Database.

func (DatabaseOutput) DefaultSecondaryLocation added in v5.5.0

func (o DatabaseOutput) DefaultSecondaryLocation() pulumi.StringOutput

The default secondary location of the SQL Database.

func (DatabaseOutput) Edition added in v5.5.0

func (o DatabaseOutput) Edition() pulumi.StringOutput

The edition of the database to be created. Applies only if `createMode` is `Default`. Valid values are: `Basic`, `Standard`, `Premium`, `DataWarehouse`, `Business`, `BusinessCritical`, `Free`, `GeneralPurpose`, `Hyperscale`, `Premium`, `PremiumRS`, `Standard`, `Stretch`, `System`, `System2`, or `Web`. Please see [Azure SQL database models](https://docs.microsoft.com/azure/azure-sql/database/purchasing-models?view=azuresql).

func (DatabaseOutput) ElasticPoolName added in v5.5.0

func (o DatabaseOutput) ElasticPoolName() pulumi.StringOutput

The name of the elastic database pool.

func (DatabaseOutput) ElementType

func (DatabaseOutput) ElementType() reflect.Type

func (DatabaseOutput) Encryption added in v5.5.0

func (o DatabaseOutput) Encryption() pulumi.StringOutput

func (DatabaseOutput) Import added in v5.5.0

A `import` block as documented below. `createMode` must be set to `Default`.

func (DatabaseOutput) Location added in v5.5.0

func (o DatabaseOutput) Location() pulumi.StringOutput

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

func (DatabaseOutput) MaxSizeBytes added in v5.5.0

func (o DatabaseOutput) MaxSizeBytes() pulumi.StringOutput

The maximum size that the database can grow to. Applies only if `createMode` is `Default`. Please see [Azure SQL database models](https://docs.microsoft.com/azure/azure-sql/database/purchasing-models?view=azuresql).

func (DatabaseOutput) MaxSizeGb added in v5.5.0

func (o DatabaseOutput) MaxSizeGb() pulumi.StringOutput

func (DatabaseOutput) Name added in v5.5.0

The name of the database. Changing this forces a new resource to be created.

func (DatabaseOutput) ReadScale added in v5.5.0

func (o DatabaseOutput) ReadScale() pulumi.BoolPtrOutput

Read-only connections will be redirected to a high-available replica. Please see [Use read-only replicas to load-balance read-only query workloads](https://docs.microsoft.com/azure/sql-database/sql-database-read-scale-out).

func (DatabaseOutput) RequestedServiceObjectiveId added in v5.5.0

func (o DatabaseOutput) RequestedServiceObjectiveId() pulumi.StringOutput

A GUID/UUID corresponding to a configured Service Level Objective for the Azure SQL database which can be used to configure a performance level. .

func (DatabaseOutput) RequestedServiceObjectiveName added in v5.5.0

func (o DatabaseOutput) RequestedServiceObjectiveName() pulumi.StringOutput

The service objective name for the database. Valid values depend on edition and location and may include `S0`, `S1`, `S2`, `S3`, `P1`, `P2`, `P4`, `P6`, `P11` and `ElasticPool`. You can list the available names with the CLI: `shell az sql db list-editions -l westus -o table`. For further information please see [Azure CLI - az sql db](https://docs.microsoft.com/cli/azure/sql/db?view=azure-cli-latest#az-sql-db-list-editions).

func (DatabaseOutput) ResourceGroupName added in v5.5.0

func (o DatabaseOutput) ResourceGroupName() pulumi.StringOutput

The name of the resource group in which to create the database. This must be the same as Database Server resource group currently. Changing this forces a new resource to be created.

func (DatabaseOutput) RestorePointInTime added in v5.5.0

func (o DatabaseOutput) RestorePointInTime() pulumi.StringOutput

The point in time for the restore. Only applies if `createMode` is `PointInTimeRestore`, it should be provided in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) format, e.g. `2013-11-08T22:00:40Z`.

func (DatabaseOutput) ServerName added in v5.5.0

func (o DatabaseOutput) ServerName() pulumi.StringOutput

The name of the SQL Server on which to create the database. Changing this forces a new resource to be created.

func (DatabaseOutput) SourceDatabaseDeletionDate added in v5.5.0

func (o DatabaseOutput) SourceDatabaseDeletionDate() pulumi.StringOutput

The deletion date time of the source database. Only applies to deleted databases where `createMode` is `PointInTimeRestore`.

func (DatabaseOutput) SourceDatabaseId added in v5.5.0

func (o DatabaseOutput) SourceDatabaseId() pulumi.StringOutput

The URI of the source database if `createMode` value is not `Default`.

func (DatabaseOutput) Tags added in v5.5.0

A mapping of tags to assign to the resource.

func (DatabaseOutput) ThreatDetectionPolicy added in v5.5.0

func (o DatabaseOutput) ThreatDetectionPolicy() DatabaseThreatDetectionPolicyOutput

Threat detection policy configuration. The `threatDetectionPolicy` block supports fields documented below.

func (DatabaseOutput) ToDatabaseOutput

func (o DatabaseOutput) ToDatabaseOutput() DatabaseOutput

func (DatabaseOutput) ToDatabaseOutputWithContext

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

func (DatabaseOutput) ZoneRedundant added in v5.5.0

func (o DatabaseOutput) ZoneRedundant() pulumi.BoolPtrOutput

Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.

type DatabaseState

type DatabaseState struct {
	// The name of the collation. Applies only if `createMode` is `Default`. Azure default is `SQL_LATIN1_GENERAL_CP1_CI_AS`. Changing this forces a new resource to be created.
	Collation pulumi.StringPtrInput
	// Specifies how to create the database. Valid values are: `Default`, `Copy`, `OnlineSecondary`, `NonReadableSecondary`, `PointInTimeRestore`, `Recovery`, `Restore` or `RestoreLongTermRetentionBackup`. Must be `Default` to create a new database. Defaults to `Default`. Please see [Azure SQL Database REST API](https://docs.microsoft.com/rest/api/sql/databases/createorupdate#createmode)
	CreateMode pulumi.StringPtrInput
	// The creation date of the SQL Database.
	CreationDate pulumi.StringPtrInput
	// The default secondary location of the SQL Database.
	DefaultSecondaryLocation pulumi.StringPtrInput
	// The edition of the database to be created. Applies only if `createMode` is `Default`. Valid values are: `Basic`, `Standard`, `Premium`, `DataWarehouse`, `Business`, `BusinessCritical`, `Free`, `GeneralPurpose`, `Hyperscale`, `Premium`, `PremiumRS`, `Standard`, `Stretch`, `System`, `System2`, or `Web`. Please see [Azure SQL database models](https://docs.microsoft.com/azure/azure-sql/database/purchasing-models?view=azuresql).
	Edition pulumi.StringPtrInput
	// The name of the elastic database pool.
	ElasticPoolName pulumi.StringPtrInput
	Encryption      pulumi.StringPtrInput
	// A `import` block as documented below. `createMode` must be set to `Default`.
	Import DatabaseImportPtrInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The maximum size that the database can grow to. Applies only if `createMode` is `Default`. Please see [Azure SQL database models](https://docs.microsoft.com/azure/azure-sql/database/purchasing-models?view=azuresql).
	MaxSizeBytes pulumi.StringPtrInput
	MaxSizeGb    pulumi.StringPtrInput
	// The name of the database. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Read-only connections will be redirected to a high-available replica. Please see [Use read-only replicas to load-balance read-only query workloads](https://docs.microsoft.com/azure/sql-database/sql-database-read-scale-out).
	ReadScale pulumi.BoolPtrInput
	// A GUID/UUID corresponding to a configured Service Level Objective for the Azure SQL database which can be used to configure a performance level.
	// .
	RequestedServiceObjectiveId pulumi.StringPtrInput
	// The service objective name for the database. Valid values depend on edition and location and may include `S0`, `S1`, `S2`, `S3`, `P1`, `P2`, `P4`, `P6`, `P11` and `ElasticPool`. You can list the available names with the CLI: `shell az sql db list-editions -l westus -o table`. For further information please see [Azure CLI - az sql db](https://docs.microsoft.com/cli/azure/sql/db?view=azure-cli-latest#az-sql-db-list-editions).
	RequestedServiceObjectiveName pulumi.StringPtrInput
	// The name of the resource group in which to create the database. This must be the same as Database Server resource group currently. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The point in time for the restore. Only applies if `createMode` is `PointInTimeRestore`, it should be provided in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) format, e.g. `2013-11-08T22:00:40Z`.
	RestorePointInTime pulumi.StringPtrInput
	// The name of the SQL Server on which to create the database. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
	// The deletion date time of the source database. Only applies to deleted databases where `createMode` is `PointInTimeRestore`.
	SourceDatabaseDeletionDate pulumi.StringPtrInput
	// The URI of the source database if `createMode` value is not `Default`.
	SourceDatabaseId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Threat detection policy configuration. The `threatDetectionPolicy` block supports fields documented below.
	ThreatDetectionPolicy DatabaseThreatDetectionPolicyPtrInput
	// Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.
	ZoneRedundant pulumi.BoolPtrInput
}

func (DatabaseState) ElementType

func (DatabaseState) ElementType() reflect.Type

type DatabaseThreatDetectionPolicy

type DatabaseThreatDetectionPolicy struct {
	// Specifies a list of alerts which should be disabled. Possible values include `Access_Anomaly`, `Sql_Injection` and `Sql_Injection_Vulnerability`.
	DisabledAlerts []string `pulumi:"disabledAlerts"`
	// Should the account administrators be emailed when this alert is triggered? Possible values are `Disabled` and `Enabled`. Defaults to `Disabled`.
	EmailAccountAdmins *string `pulumi:"emailAccountAdmins"`
	// A list of email addresses which alerts should be sent to.
	EmailAddresses []string `pulumi:"emailAddresses"`
	// Specifies the number of days to keep in the Threat Detection audit logs.
	RetentionDays *int `pulumi:"retentionDays"`
	// The State of the Policy. Possible values are `Enabled`, `Disabled` or `New`. Defaults to `Disabled`.
	State *string `pulumi:"state"`
	// Specifies the identifier key of the Threat Detection audit storage account. Required if `state` is `Enabled`.
	StorageAccountAccessKey *string `pulumi:"storageAccountAccessKey"`
	// Specifies the blob storage endpoint (e.g. <https://example.blob.core.windows.net>). This blob storage will hold all Threat Detection audit logs. Required if `state` is `Enabled`.
	StorageEndpoint *string `pulumi:"storageEndpoint"`
}

type DatabaseThreatDetectionPolicyArgs

type DatabaseThreatDetectionPolicyArgs struct {
	// Specifies a list of alerts which should be disabled. Possible values include `Access_Anomaly`, `Sql_Injection` and `Sql_Injection_Vulnerability`.
	DisabledAlerts pulumi.StringArrayInput `pulumi:"disabledAlerts"`
	// Should the account administrators be emailed when this alert is triggered? Possible values are `Disabled` and `Enabled`. Defaults to `Disabled`.
	EmailAccountAdmins pulumi.StringPtrInput `pulumi:"emailAccountAdmins"`
	// A list of email addresses which alerts should be sent to.
	EmailAddresses pulumi.StringArrayInput `pulumi:"emailAddresses"`
	// Specifies the number of days to keep in the Threat Detection audit logs.
	RetentionDays pulumi.IntPtrInput `pulumi:"retentionDays"`
	// The State of the Policy. Possible values are `Enabled`, `Disabled` or `New`. Defaults to `Disabled`.
	State pulumi.StringPtrInput `pulumi:"state"`
	// Specifies the identifier key of the Threat Detection audit storage account. Required if `state` is `Enabled`.
	StorageAccountAccessKey pulumi.StringPtrInput `pulumi:"storageAccountAccessKey"`
	// Specifies the blob storage endpoint (e.g. <https://example.blob.core.windows.net>). This blob storage will hold all Threat Detection audit logs. Required if `state` is `Enabled`.
	StorageEndpoint pulumi.StringPtrInput `pulumi:"storageEndpoint"`
}

func (DatabaseThreatDetectionPolicyArgs) ElementType

func (DatabaseThreatDetectionPolicyArgs) ToDatabaseThreatDetectionPolicyOutput

func (i DatabaseThreatDetectionPolicyArgs) ToDatabaseThreatDetectionPolicyOutput() DatabaseThreatDetectionPolicyOutput

func (DatabaseThreatDetectionPolicyArgs) ToDatabaseThreatDetectionPolicyOutputWithContext

func (i DatabaseThreatDetectionPolicyArgs) ToDatabaseThreatDetectionPolicyOutputWithContext(ctx context.Context) DatabaseThreatDetectionPolicyOutput

func (DatabaseThreatDetectionPolicyArgs) ToDatabaseThreatDetectionPolicyPtrOutput

func (i DatabaseThreatDetectionPolicyArgs) ToDatabaseThreatDetectionPolicyPtrOutput() DatabaseThreatDetectionPolicyPtrOutput

func (DatabaseThreatDetectionPolicyArgs) ToDatabaseThreatDetectionPolicyPtrOutputWithContext

func (i DatabaseThreatDetectionPolicyArgs) ToDatabaseThreatDetectionPolicyPtrOutputWithContext(ctx context.Context) DatabaseThreatDetectionPolicyPtrOutput

type DatabaseThreatDetectionPolicyInput

type DatabaseThreatDetectionPolicyInput interface {
	pulumi.Input

	ToDatabaseThreatDetectionPolicyOutput() DatabaseThreatDetectionPolicyOutput
	ToDatabaseThreatDetectionPolicyOutputWithContext(context.Context) DatabaseThreatDetectionPolicyOutput
}

DatabaseThreatDetectionPolicyInput is an input type that accepts DatabaseThreatDetectionPolicyArgs and DatabaseThreatDetectionPolicyOutput values. You can construct a concrete instance of `DatabaseThreatDetectionPolicyInput` via:

DatabaseThreatDetectionPolicyArgs{...}

type DatabaseThreatDetectionPolicyOutput

type DatabaseThreatDetectionPolicyOutput struct{ *pulumi.OutputState }

func (DatabaseThreatDetectionPolicyOutput) DisabledAlerts

Specifies a list of alerts which should be disabled. Possible values include `Access_Anomaly`, `Sql_Injection` and `Sql_Injection_Vulnerability`.

func (DatabaseThreatDetectionPolicyOutput) ElementType

func (DatabaseThreatDetectionPolicyOutput) EmailAccountAdmins

Should the account administrators be emailed when this alert is triggered? Possible values are `Disabled` and `Enabled`. Defaults to `Disabled`.

func (DatabaseThreatDetectionPolicyOutput) EmailAddresses

A list of email addresses which alerts should be sent to.

func (DatabaseThreatDetectionPolicyOutput) RetentionDays

Specifies the number of days to keep in the Threat Detection audit logs.

func (DatabaseThreatDetectionPolicyOutput) State

The State of the Policy. Possible values are `Enabled`, `Disabled` or `New`. Defaults to `Disabled`.

func (DatabaseThreatDetectionPolicyOutput) StorageAccountAccessKey

func (o DatabaseThreatDetectionPolicyOutput) StorageAccountAccessKey() pulumi.StringPtrOutput

Specifies the identifier key of the Threat Detection audit storage account. Required if `state` is `Enabled`.

func (DatabaseThreatDetectionPolicyOutput) StorageEndpoint

Specifies the blob storage endpoint (e.g. <https://example.blob.core.windows.net>). This blob storage will hold all Threat Detection audit logs. Required if `state` is `Enabled`.

func (DatabaseThreatDetectionPolicyOutput) ToDatabaseThreatDetectionPolicyOutput

func (o DatabaseThreatDetectionPolicyOutput) ToDatabaseThreatDetectionPolicyOutput() DatabaseThreatDetectionPolicyOutput

func (DatabaseThreatDetectionPolicyOutput) ToDatabaseThreatDetectionPolicyOutputWithContext

func (o DatabaseThreatDetectionPolicyOutput) ToDatabaseThreatDetectionPolicyOutputWithContext(ctx context.Context) DatabaseThreatDetectionPolicyOutput

func (DatabaseThreatDetectionPolicyOutput) ToDatabaseThreatDetectionPolicyPtrOutput

func (o DatabaseThreatDetectionPolicyOutput) ToDatabaseThreatDetectionPolicyPtrOutput() DatabaseThreatDetectionPolicyPtrOutput

func (DatabaseThreatDetectionPolicyOutput) ToDatabaseThreatDetectionPolicyPtrOutputWithContext

func (o DatabaseThreatDetectionPolicyOutput) ToDatabaseThreatDetectionPolicyPtrOutputWithContext(ctx context.Context) DatabaseThreatDetectionPolicyPtrOutput

type DatabaseThreatDetectionPolicyPtrInput

type DatabaseThreatDetectionPolicyPtrInput interface {
	pulumi.Input

	ToDatabaseThreatDetectionPolicyPtrOutput() DatabaseThreatDetectionPolicyPtrOutput
	ToDatabaseThreatDetectionPolicyPtrOutputWithContext(context.Context) DatabaseThreatDetectionPolicyPtrOutput
}

DatabaseThreatDetectionPolicyPtrInput is an input type that accepts DatabaseThreatDetectionPolicyArgs, DatabaseThreatDetectionPolicyPtr and DatabaseThreatDetectionPolicyPtrOutput values. You can construct a concrete instance of `DatabaseThreatDetectionPolicyPtrInput` via:

        DatabaseThreatDetectionPolicyArgs{...}

or:

        nil

type DatabaseThreatDetectionPolicyPtrOutput

type DatabaseThreatDetectionPolicyPtrOutput struct{ *pulumi.OutputState }

func (DatabaseThreatDetectionPolicyPtrOutput) DisabledAlerts

Specifies a list of alerts which should be disabled. Possible values include `Access_Anomaly`, `Sql_Injection` and `Sql_Injection_Vulnerability`.

func (DatabaseThreatDetectionPolicyPtrOutput) Elem

func (DatabaseThreatDetectionPolicyPtrOutput) ElementType

func (DatabaseThreatDetectionPolicyPtrOutput) EmailAccountAdmins

Should the account administrators be emailed when this alert is triggered? Possible values are `Disabled` and `Enabled`. Defaults to `Disabled`.

func (DatabaseThreatDetectionPolicyPtrOutput) EmailAddresses

A list of email addresses which alerts should be sent to.

func (DatabaseThreatDetectionPolicyPtrOutput) RetentionDays

Specifies the number of days to keep in the Threat Detection audit logs.

func (DatabaseThreatDetectionPolicyPtrOutput) State

The State of the Policy. Possible values are `Enabled`, `Disabled` or `New`. Defaults to `Disabled`.

func (DatabaseThreatDetectionPolicyPtrOutput) StorageAccountAccessKey

Specifies the identifier key of the Threat Detection audit storage account. Required if `state` is `Enabled`.

func (DatabaseThreatDetectionPolicyPtrOutput) StorageEndpoint

Specifies the blob storage endpoint (e.g. <https://example.blob.core.windows.net>). This blob storage will hold all Threat Detection audit logs. Required if `state` is `Enabled`.

func (DatabaseThreatDetectionPolicyPtrOutput) ToDatabaseThreatDetectionPolicyPtrOutput

func (o DatabaseThreatDetectionPolicyPtrOutput) ToDatabaseThreatDetectionPolicyPtrOutput() DatabaseThreatDetectionPolicyPtrOutput

func (DatabaseThreatDetectionPolicyPtrOutput) ToDatabaseThreatDetectionPolicyPtrOutputWithContext

func (o DatabaseThreatDetectionPolicyPtrOutput) ToDatabaseThreatDetectionPolicyPtrOutputWithContext(ctx context.Context) DatabaseThreatDetectionPolicyPtrOutput

type ElasticPool

type ElasticPool struct {
	pulumi.CustomResourceState

	// The creation date of the SQL Elastic Pool.
	CreationDate pulumi.StringOutput `pulumi:"creationDate"`
	// The maximum DTU which will be guaranteed to all databases in the elastic pool to be created.
	DbDtuMax pulumi.IntOutput `pulumi:"dbDtuMax"`
	// The minimum DTU which will be guaranteed to all databases in the elastic pool to be created.
	DbDtuMin pulumi.IntOutput `pulumi:"dbDtuMin"`
	// The total shared DTU for the elastic pool. Valid values depend on the `edition` which has been defined. Refer to [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus) for valid combinations.
	Dtu pulumi.IntOutput `pulumi:"dtu"`
	// The edition of the elastic pool to be created. Valid values are `Basic`, `Standard`, and `Premium`. Refer to [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus) for details. Changing this forces a new resource to be created.
	Edition pulumi.StringOutput `pulumi:"edition"`
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the elastic pool. This needs to be globally unique. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The maximum size in MB that all databases in the elastic pool can grow to. The maximum size must be consistent with combination of `edition` and `dtu` and the limits documented in [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus). If not defined when creating an elastic pool, the value is set to the size implied by `edition` and `dtu`.
	PoolSize pulumi.IntOutput `pulumi:"poolSize"`
	// The name of the resource group in which to create the elastic pool. This must be the same as the resource group of the underlying SQL server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The name of the SQL Server on which to create the elastic pool. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Allows you to manage an Azure SQL Elastic Pool.

> **Note:** The `sql.ElasticPool` resource is deprecated in version 3.0 of the AzureRM provider and will be removed in version 4.0. Please use the `mssql.ElasticPool` resource instead.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("my-resource-group"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleSqlServer, err := sql.NewSqlServer(ctx, "example", &sql.SqlServerArgs{
			Name:                       pulumi.String("my-sql-server"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		_, err = sql.NewElasticPool(ctx, "example", &sql.ElasticPoolArgs{
			Name:              pulumi.String("test"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			ServerName:        exampleSqlServer.Name,
			Edition:           pulumi.String("Basic"),
			Dtu:               pulumi.Int(50),
			DbDtuMin:          pulumi.Int(0),
			DbDtuMax:          pulumi.Int(5),
			PoolSize:          pulumi.Int(5000),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

> **NOTE on `sql.ElasticPool`:** - The values of `edition`, `dtu`, and `poolSize` must be consistent with the [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus). Any inconsistent argument configuration will be rejected.

## Import

SQL Elastic Pool's can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:sql/elasticPool:ElasticPool pool1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver/elasticPools/pool1 ```

func GetElasticPool

func GetElasticPool(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ElasticPoolState, opts ...pulumi.ResourceOption) (*ElasticPool, error)

GetElasticPool gets an existing ElasticPool 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 NewElasticPool

func NewElasticPool(ctx *pulumi.Context,
	name string, args *ElasticPoolArgs, opts ...pulumi.ResourceOption) (*ElasticPool, error)

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

func (*ElasticPool) ElementType

func (*ElasticPool) ElementType() reflect.Type

func (*ElasticPool) ToElasticPoolOutput

func (i *ElasticPool) ToElasticPoolOutput() ElasticPoolOutput

func (*ElasticPool) ToElasticPoolOutputWithContext

func (i *ElasticPool) ToElasticPoolOutputWithContext(ctx context.Context) ElasticPoolOutput

type ElasticPoolArgs

type ElasticPoolArgs struct {
	// The maximum DTU which will be guaranteed to all databases in the elastic pool to be created.
	DbDtuMax pulumi.IntPtrInput
	// The minimum DTU which will be guaranteed to all databases in the elastic pool to be created.
	DbDtuMin pulumi.IntPtrInput
	// The total shared DTU for the elastic pool. Valid values depend on the `edition` which has been defined. Refer to [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus) for valid combinations.
	Dtu pulumi.IntInput
	// The edition of the elastic pool to be created. Valid values are `Basic`, `Standard`, and `Premium`. Refer to [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus) for details. Changing this forces a new resource to be created.
	Edition pulumi.StringInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the elastic pool. This needs to be globally unique. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The maximum size in MB that all databases in the elastic pool can grow to. The maximum size must be consistent with combination of `edition` and `dtu` and the limits documented in [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus). If not defined when creating an elastic pool, the value is set to the size implied by `edition` and `dtu`.
	PoolSize pulumi.IntPtrInput
	// The name of the resource group in which to create the elastic pool. This must be the same as the resource group of the underlying SQL server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The name of the SQL Server on which to create the elastic pool. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ElasticPool resource.

func (ElasticPoolArgs) ElementType

func (ElasticPoolArgs) ElementType() reflect.Type

type ElasticPoolArray

type ElasticPoolArray []ElasticPoolInput

func (ElasticPoolArray) ElementType

func (ElasticPoolArray) ElementType() reflect.Type

func (ElasticPoolArray) ToElasticPoolArrayOutput

func (i ElasticPoolArray) ToElasticPoolArrayOutput() ElasticPoolArrayOutput

func (ElasticPoolArray) ToElasticPoolArrayOutputWithContext

func (i ElasticPoolArray) ToElasticPoolArrayOutputWithContext(ctx context.Context) ElasticPoolArrayOutput

type ElasticPoolArrayInput

type ElasticPoolArrayInput interface {
	pulumi.Input

	ToElasticPoolArrayOutput() ElasticPoolArrayOutput
	ToElasticPoolArrayOutputWithContext(context.Context) ElasticPoolArrayOutput
}

ElasticPoolArrayInput is an input type that accepts ElasticPoolArray and ElasticPoolArrayOutput values. You can construct a concrete instance of `ElasticPoolArrayInput` via:

ElasticPoolArray{ ElasticPoolArgs{...} }

type ElasticPoolArrayOutput

type ElasticPoolArrayOutput struct{ *pulumi.OutputState }

func (ElasticPoolArrayOutput) ElementType

func (ElasticPoolArrayOutput) ElementType() reflect.Type

func (ElasticPoolArrayOutput) Index

func (ElasticPoolArrayOutput) ToElasticPoolArrayOutput

func (o ElasticPoolArrayOutput) ToElasticPoolArrayOutput() ElasticPoolArrayOutput

func (ElasticPoolArrayOutput) ToElasticPoolArrayOutputWithContext

func (o ElasticPoolArrayOutput) ToElasticPoolArrayOutputWithContext(ctx context.Context) ElasticPoolArrayOutput

type ElasticPoolInput

type ElasticPoolInput interface {
	pulumi.Input

	ToElasticPoolOutput() ElasticPoolOutput
	ToElasticPoolOutputWithContext(ctx context.Context) ElasticPoolOutput
}

type ElasticPoolMap

type ElasticPoolMap map[string]ElasticPoolInput

func (ElasticPoolMap) ElementType

func (ElasticPoolMap) ElementType() reflect.Type

func (ElasticPoolMap) ToElasticPoolMapOutput

func (i ElasticPoolMap) ToElasticPoolMapOutput() ElasticPoolMapOutput

func (ElasticPoolMap) ToElasticPoolMapOutputWithContext

func (i ElasticPoolMap) ToElasticPoolMapOutputWithContext(ctx context.Context) ElasticPoolMapOutput

type ElasticPoolMapInput

type ElasticPoolMapInput interface {
	pulumi.Input

	ToElasticPoolMapOutput() ElasticPoolMapOutput
	ToElasticPoolMapOutputWithContext(context.Context) ElasticPoolMapOutput
}

ElasticPoolMapInput is an input type that accepts ElasticPoolMap and ElasticPoolMapOutput values. You can construct a concrete instance of `ElasticPoolMapInput` via:

ElasticPoolMap{ "key": ElasticPoolArgs{...} }

type ElasticPoolMapOutput

type ElasticPoolMapOutput struct{ *pulumi.OutputState }

func (ElasticPoolMapOutput) ElementType

func (ElasticPoolMapOutput) ElementType() reflect.Type

func (ElasticPoolMapOutput) MapIndex

func (ElasticPoolMapOutput) ToElasticPoolMapOutput

func (o ElasticPoolMapOutput) ToElasticPoolMapOutput() ElasticPoolMapOutput

func (ElasticPoolMapOutput) ToElasticPoolMapOutputWithContext

func (o ElasticPoolMapOutput) ToElasticPoolMapOutputWithContext(ctx context.Context) ElasticPoolMapOutput

type ElasticPoolOutput

type ElasticPoolOutput struct{ *pulumi.OutputState }

func (ElasticPoolOutput) CreationDate added in v5.5.0

func (o ElasticPoolOutput) CreationDate() pulumi.StringOutput

The creation date of the SQL Elastic Pool.

func (ElasticPoolOutput) DbDtuMax added in v5.5.0

func (o ElasticPoolOutput) DbDtuMax() pulumi.IntOutput

The maximum DTU which will be guaranteed to all databases in the elastic pool to be created.

func (ElasticPoolOutput) DbDtuMin added in v5.5.0

func (o ElasticPoolOutput) DbDtuMin() pulumi.IntOutput

The minimum DTU which will be guaranteed to all databases in the elastic pool to be created.

func (ElasticPoolOutput) Dtu added in v5.5.0

The total shared DTU for the elastic pool. Valid values depend on the `edition` which has been defined. Refer to [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus) for valid combinations.

func (ElasticPoolOutput) Edition added in v5.5.0

The edition of the elastic pool to be created. Valid values are `Basic`, `Standard`, and `Premium`. Refer to [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus) for details. Changing this forces a new resource to be created.

func (ElasticPoolOutput) ElementType

func (ElasticPoolOutput) ElementType() reflect.Type

func (ElasticPoolOutput) Location added in v5.5.0

func (o ElasticPoolOutput) Location() pulumi.StringOutput

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

func (ElasticPoolOutput) Name added in v5.5.0

The name of the elastic pool. This needs to be globally unique. Changing this forces a new resource to be created.

func (ElasticPoolOutput) PoolSize added in v5.5.0

func (o ElasticPoolOutput) PoolSize() pulumi.IntOutput

The maximum size in MB that all databases in the elastic pool can grow to. The maximum size must be consistent with combination of `edition` and `dtu` and the limits documented in [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus). If not defined when creating an elastic pool, the value is set to the size implied by `edition` and `dtu`.

func (ElasticPoolOutput) ResourceGroupName added in v5.5.0

func (o ElasticPoolOutput) ResourceGroupName() pulumi.StringOutput

The name of the resource group in which to create the elastic pool. This must be the same as the resource group of the underlying SQL server. Changing this forces a new resource to be created.

func (ElasticPoolOutput) ServerName added in v5.5.0

func (o ElasticPoolOutput) ServerName() pulumi.StringOutput

The name of the SQL Server on which to create the elastic pool. Changing this forces a new resource to be created.

func (ElasticPoolOutput) Tags added in v5.5.0

A mapping of tags to assign to the resource.

func (ElasticPoolOutput) ToElasticPoolOutput

func (o ElasticPoolOutput) ToElasticPoolOutput() ElasticPoolOutput

func (ElasticPoolOutput) ToElasticPoolOutputWithContext

func (o ElasticPoolOutput) ToElasticPoolOutputWithContext(ctx context.Context) ElasticPoolOutput

type ElasticPoolState

type ElasticPoolState struct {
	// The creation date of the SQL Elastic Pool.
	CreationDate pulumi.StringPtrInput
	// The maximum DTU which will be guaranteed to all databases in the elastic pool to be created.
	DbDtuMax pulumi.IntPtrInput
	// The minimum DTU which will be guaranteed to all databases in the elastic pool to be created.
	DbDtuMin pulumi.IntPtrInput
	// The total shared DTU for the elastic pool. Valid values depend on the `edition` which has been defined. Refer to [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus) for valid combinations.
	Dtu pulumi.IntPtrInput
	// The edition of the elastic pool to be created. Valid values are `Basic`, `Standard`, and `Premium`. Refer to [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus) for details. Changing this forces a new resource to be created.
	Edition pulumi.StringPtrInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the elastic pool. This needs to be globally unique. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The maximum size in MB that all databases in the elastic pool can grow to. The maximum size must be consistent with combination of `edition` and `dtu` and the limits documented in [Azure SQL Database Service Tiers](https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-service-tiers#elastic-pool-service-tiers-and-performance-in-edtus). If not defined when creating an elastic pool, the value is set to the size implied by `edition` and `dtu`.
	PoolSize pulumi.IntPtrInput
	// The name of the resource group in which to create the elastic pool. This must be the same as the resource group of the underlying SQL server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The name of the SQL Server on which to create the elastic pool. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (ElasticPoolState) ElementType

func (ElasticPoolState) ElementType() reflect.Type

type FailoverGroup

type FailoverGroup struct {
	pulumi.CustomResourceState

	// A list of database ids to add to the failover group
	//
	// > **NOTE:** The failover group will create a secondary database for each database listed in `databases`. If the secondary databases need to be managed through this provider, they should be defined as resources and a dependency added to the failover group to ensure the secondary databases are created first.
	Databases pulumi.StringArrayOutput `pulumi:"databases"`
	// the location of the failover group.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the failover group. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of `partnerServers` blocks as documented below.
	PartnerServers FailoverGroupPartnerServerArrayOutput `pulumi:"partnerServers"`
	// A `readWriteEndpointFailoverPolicy` block as documented below.
	ReadWriteEndpointFailoverPolicy FailoverGroupReadWriteEndpointFailoverPolicyOutput `pulumi:"readWriteEndpointFailoverPolicy"`
	// A `readonlyEndpointFailoverPolicy` block as documented below.
	ReadonlyEndpointFailoverPolicy FailoverGroupReadonlyEndpointFailoverPolicyOutput `pulumi:"readonlyEndpointFailoverPolicy"`
	// The name of the resource group containing the SQL server Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// local replication role of the failover group instance.
	Role pulumi.StringOutput `pulumi:"role"`
	// The name of the primary SQL server. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Create a failover group of databases on a collection of Azure SQL servers.

> **Note:** The `sql.FailoverGroup` resource is deprecated in version 3.0 of the AzureRM provider and will be removed in version 4.0. Please use the `mssql.FailoverGroup` resource instead.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		primary, err := sql.NewSqlServer(ctx, "primary", &sql.SqlServerArgs{
			Name:                       pulumi.String("sql-primary"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("sqladmin"),
			AdministratorLoginPassword: pulumi.String("pa$$w0rd"),
		})
		if err != nil {
			return err
		}
		secondary, err := sql.NewSqlServer(ctx, "secondary", &sql.SqlServerArgs{
			Name:                       pulumi.String("sql-secondary"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("sqladmin"),
			AdministratorLoginPassword: pulumi.String("pa$$w0rd"),
		})
		if err != nil {
			return err
		}
		db1, err := sql.NewDatabase(ctx, "db1", &sql.DatabaseArgs{
			Name:              pulumi.String("db1"),
			ResourceGroupName: primary.ResourceGroupName,
			Location:          primary.Location,
			ServerName:        primary.Name,
		})
		if err != nil {
			return err
		}
		_, err = sql.NewFailoverGroup(ctx, "example", &sql.FailoverGroupArgs{
			Name:              pulumi.String("example-failover-group"),
			ResourceGroupName: primary.ResourceGroupName,
			ServerName:        primary.Name,
			Databases: pulumi.StringArray{
				db1.ID(),
			},
			PartnerServers: sql.FailoverGroupPartnerServerArray{
				&sql.FailoverGroupPartnerServerArgs{
					Id: secondary.ID(),
				},
			},
			ReadWriteEndpointFailoverPolicy: &sql.FailoverGroupReadWriteEndpointFailoverPolicyArgs{
				Mode:         pulumi.String("Automatic"),
				GraceMinutes: pulumi.Int(60),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SQL Failover Groups can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:sql/failoverGroup:FailoverGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver/failoverGroups/group1 ```

func GetFailoverGroup

func GetFailoverGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FailoverGroupState, opts ...pulumi.ResourceOption) (*FailoverGroup, error)

GetFailoverGroup gets an existing FailoverGroup 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 NewFailoverGroup

func NewFailoverGroup(ctx *pulumi.Context,
	name string, args *FailoverGroupArgs, opts ...pulumi.ResourceOption) (*FailoverGroup, error)

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

func (*FailoverGroup) ElementType

func (*FailoverGroup) ElementType() reflect.Type

func (*FailoverGroup) ToFailoverGroupOutput

func (i *FailoverGroup) ToFailoverGroupOutput() FailoverGroupOutput

func (*FailoverGroup) ToFailoverGroupOutputWithContext

func (i *FailoverGroup) ToFailoverGroupOutputWithContext(ctx context.Context) FailoverGroupOutput

type FailoverGroupArgs

type FailoverGroupArgs struct {
	// A list of database ids to add to the failover group
	//
	// > **NOTE:** The failover group will create a secondary database for each database listed in `databases`. If the secondary databases need to be managed through this provider, they should be defined as resources and a dependency added to the failover group to ensure the secondary databases are created first.
	Databases pulumi.StringArrayInput
	// The name of the failover group. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// A list of `partnerServers` blocks as documented below.
	PartnerServers FailoverGroupPartnerServerArrayInput
	// A `readWriteEndpointFailoverPolicy` block as documented below.
	ReadWriteEndpointFailoverPolicy FailoverGroupReadWriteEndpointFailoverPolicyInput
	// A `readonlyEndpointFailoverPolicy` block as documented below.
	ReadonlyEndpointFailoverPolicy FailoverGroupReadonlyEndpointFailoverPolicyPtrInput
	// The name of the resource group containing the SQL server Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The name of the primary SQL server. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a FailoverGroup resource.

func (FailoverGroupArgs) ElementType

func (FailoverGroupArgs) ElementType() reflect.Type

type FailoverGroupArray

type FailoverGroupArray []FailoverGroupInput

func (FailoverGroupArray) ElementType

func (FailoverGroupArray) ElementType() reflect.Type

func (FailoverGroupArray) ToFailoverGroupArrayOutput

func (i FailoverGroupArray) ToFailoverGroupArrayOutput() FailoverGroupArrayOutput

func (FailoverGroupArray) ToFailoverGroupArrayOutputWithContext

func (i FailoverGroupArray) ToFailoverGroupArrayOutputWithContext(ctx context.Context) FailoverGroupArrayOutput

type FailoverGroupArrayInput

type FailoverGroupArrayInput interface {
	pulumi.Input

	ToFailoverGroupArrayOutput() FailoverGroupArrayOutput
	ToFailoverGroupArrayOutputWithContext(context.Context) FailoverGroupArrayOutput
}

FailoverGroupArrayInput is an input type that accepts FailoverGroupArray and FailoverGroupArrayOutput values. You can construct a concrete instance of `FailoverGroupArrayInput` via:

FailoverGroupArray{ FailoverGroupArgs{...} }

type FailoverGroupArrayOutput

type FailoverGroupArrayOutput struct{ *pulumi.OutputState }

func (FailoverGroupArrayOutput) ElementType

func (FailoverGroupArrayOutput) ElementType() reflect.Type

func (FailoverGroupArrayOutput) Index

func (FailoverGroupArrayOutput) ToFailoverGroupArrayOutput

func (o FailoverGroupArrayOutput) ToFailoverGroupArrayOutput() FailoverGroupArrayOutput

func (FailoverGroupArrayOutput) ToFailoverGroupArrayOutputWithContext

func (o FailoverGroupArrayOutput) ToFailoverGroupArrayOutputWithContext(ctx context.Context) FailoverGroupArrayOutput

type FailoverGroupInput

type FailoverGroupInput interface {
	pulumi.Input

	ToFailoverGroupOutput() FailoverGroupOutput
	ToFailoverGroupOutputWithContext(ctx context.Context) FailoverGroupOutput
}

type FailoverGroupMap

type FailoverGroupMap map[string]FailoverGroupInput

func (FailoverGroupMap) ElementType

func (FailoverGroupMap) ElementType() reflect.Type

func (FailoverGroupMap) ToFailoverGroupMapOutput

func (i FailoverGroupMap) ToFailoverGroupMapOutput() FailoverGroupMapOutput

func (FailoverGroupMap) ToFailoverGroupMapOutputWithContext

func (i FailoverGroupMap) ToFailoverGroupMapOutputWithContext(ctx context.Context) FailoverGroupMapOutput

type FailoverGroupMapInput

type FailoverGroupMapInput interface {
	pulumi.Input

	ToFailoverGroupMapOutput() FailoverGroupMapOutput
	ToFailoverGroupMapOutputWithContext(context.Context) FailoverGroupMapOutput
}

FailoverGroupMapInput is an input type that accepts FailoverGroupMap and FailoverGroupMapOutput values. You can construct a concrete instance of `FailoverGroupMapInput` via:

FailoverGroupMap{ "key": FailoverGroupArgs{...} }

type FailoverGroupMapOutput

type FailoverGroupMapOutput struct{ *pulumi.OutputState }

func (FailoverGroupMapOutput) ElementType

func (FailoverGroupMapOutput) ElementType() reflect.Type

func (FailoverGroupMapOutput) MapIndex

func (FailoverGroupMapOutput) ToFailoverGroupMapOutput

func (o FailoverGroupMapOutput) ToFailoverGroupMapOutput() FailoverGroupMapOutput

func (FailoverGroupMapOutput) ToFailoverGroupMapOutputWithContext

func (o FailoverGroupMapOutput) ToFailoverGroupMapOutputWithContext(ctx context.Context) FailoverGroupMapOutput

type FailoverGroupOutput

type FailoverGroupOutput struct{ *pulumi.OutputState }

func (FailoverGroupOutput) Databases added in v5.5.0

A list of database ids to add to the failover group

> **NOTE:** The failover group will create a secondary database for each database listed in `databases`. If the secondary databases need to be managed through this provider, they should be defined as resources and a dependency added to the failover group to ensure the secondary databases are created first.

func (FailoverGroupOutput) ElementType

func (FailoverGroupOutput) ElementType() reflect.Type

func (FailoverGroupOutput) Location added in v5.5.0

the location of the failover group.

func (FailoverGroupOutput) Name added in v5.5.0

The name of the failover group. Changing this forces a new resource to be created.

func (FailoverGroupOutput) PartnerServers added in v5.5.0

A list of `partnerServers` blocks as documented below.

func (FailoverGroupOutput) ReadWriteEndpointFailoverPolicy added in v5.5.0

func (o FailoverGroupOutput) ReadWriteEndpointFailoverPolicy() FailoverGroupReadWriteEndpointFailoverPolicyOutput

A `readWriteEndpointFailoverPolicy` block as documented below.

func (FailoverGroupOutput) ReadonlyEndpointFailoverPolicy added in v5.5.0

A `readonlyEndpointFailoverPolicy` block as documented below.

func (FailoverGroupOutput) ResourceGroupName added in v5.5.0

func (o FailoverGroupOutput) ResourceGroupName() pulumi.StringOutput

The name of the resource group containing the SQL server Changing this forces a new resource to be created.

func (FailoverGroupOutput) Role added in v5.5.0

local replication role of the failover group instance.

func (FailoverGroupOutput) ServerName added in v5.5.0

func (o FailoverGroupOutput) ServerName() pulumi.StringOutput

The name of the primary SQL server. Changing this forces a new resource to be created.

func (FailoverGroupOutput) Tags added in v5.5.0

A mapping of tags to assign to the resource.

func (FailoverGroupOutput) ToFailoverGroupOutput

func (o FailoverGroupOutput) ToFailoverGroupOutput() FailoverGroupOutput

func (FailoverGroupOutput) ToFailoverGroupOutputWithContext

func (o FailoverGroupOutput) ToFailoverGroupOutputWithContext(ctx context.Context) FailoverGroupOutput

type FailoverGroupPartnerServer

type FailoverGroupPartnerServer struct {
	// the SQL server ID
	Id string `pulumi:"id"`
	// the location of the failover group.
	Location *string `pulumi:"location"`
	// local replication role of the failover group instance.
	Role *string `pulumi:"role"`
}

type FailoverGroupPartnerServerArgs

type FailoverGroupPartnerServerArgs struct {
	// the SQL server ID
	Id pulumi.StringInput `pulumi:"id"`
	// the location of the failover group.
	Location pulumi.StringPtrInput `pulumi:"location"`
	// local replication role of the failover group instance.
	Role pulumi.StringPtrInput `pulumi:"role"`
}

func (FailoverGroupPartnerServerArgs) ElementType

func (FailoverGroupPartnerServerArgs) ToFailoverGroupPartnerServerOutput

func (i FailoverGroupPartnerServerArgs) ToFailoverGroupPartnerServerOutput() FailoverGroupPartnerServerOutput

func (FailoverGroupPartnerServerArgs) ToFailoverGroupPartnerServerOutputWithContext

func (i FailoverGroupPartnerServerArgs) ToFailoverGroupPartnerServerOutputWithContext(ctx context.Context) FailoverGroupPartnerServerOutput

type FailoverGroupPartnerServerArray

type FailoverGroupPartnerServerArray []FailoverGroupPartnerServerInput

func (FailoverGroupPartnerServerArray) ElementType

func (FailoverGroupPartnerServerArray) ToFailoverGroupPartnerServerArrayOutput

func (i FailoverGroupPartnerServerArray) ToFailoverGroupPartnerServerArrayOutput() FailoverGroupPartnerServerArrayOutput

func (FailoverGroupPartnerServerArray) ToFailoverGroupPartnerServerArrayOutputWithContext

func (i FailoverGroupPartnerServerArray) ToFailoverGroupPartnerServerArrayOutputWithContext(ctx context.Context) FailoverGroupPartnerServerArrayOutput

type FailoverGroupPartnerServerArrayInput

type FailoverGroupPartnerServerArrayInput interface {
	pulumi.Input

	ToFailoverGroupPartnerServerArrayOutput() FailoverGroupPartnerServerArrayOutput
	ToFailoverGroupPartnerServerArrayOutputWithContext(context.Context) FailoverGroupPartnerServerArrayOutput
}

FailoverGroupPartnerServerArrayInput is an input type that accepts FailoverGroupPartnerServerArray and FailoverGroupPartnerServerArrayOutput values. You can construct a concrete instance of `FailoverGroupPartnerServerArrayInput` via:

FailoverGroupPartnerServerArray{ FailoverGroupPartnerServerArgs{...} }

type FailoverGroupPartnerServerArrayOutput

type FailoverGroupPartnerServerArrayOutput struct{ *pulumi.OutputState }

func (FailoverGroupPartnerServerArrayOutput) ElementType

func (FailoverGroupPartnerServerArrayOutput) Index

func (FailoverGroupPartnerServerArrayOutput) ToFailoverGroupPartnerServerArrayOutput

func (o FailoverGroupPartnerServerArrayOutput) ToFailoverGroupPartnerServerArrayOutput() FailoverGroupPartnerServerArrayOutput

func (FailoverGroupPartnerServerArrayOutput) ToFailoverGroupPartnerServerArrayOutputWithContext

func (o FailoverGroupPartnerServerArrayOutput) ToFailoverGroupPartnerServerArrayOutputWithContext(ctx context.Context) FailoverGroupPartnerServerArrayOutput

type FailoverGroupPartnerServerInput

type FailoverGroupPartnerServerInput interface {
	pulumi.Input

	ToFailoverGroupPartnerServerOutput() FailoverGroupPartnerServerOutput
	ToFailoverGroupPartnerServerOutputWithContext(context.Context) FailoverGroupPartnerServerOutput
}

FailoverGroupPartnerServerInput is an input type that accepts FailoverGroupPartnerServerArgs and FailoverGroupPartnerServerOutput values. You can construct a concrete instance of `FailoverGroupPartnerServerInput` via:

FailoverGroupPartnerServerArgs{...}

type FailoverGroupPartnerServerOutput

type FailoverGroupPartnerServerOutput struct{ *pulumi.OutputState }

func (FailoverGroupPartnerServerOutput) ElementType

func (FailoverGroupPartnerServerOutput) Id

the SQL server ID

func (FailoverGroupPartnerServerOutput) Location

the location of the failover group.

func (FailoverGroupPartnerServerOutput) Role

local replication role of the failover group instance.

func (FailoverGroupPartnerServerOutput) ToFailoverGroupPartnerServerOutput

func (o FailoverGroupPartnerServerOutput) ToFailoverGroupPartnerServerOutput() FailoverGroupPartnerServerOutput

func (FailoverGroupPartnerServerOutput) ToFailoverGroupPartnerServerOutputWithContext

func (o FailoverGroupPartnerServerOutput) ToFailoverGroupPartnerServerOutputWithContext(ctx context.Context) FailoverGroupPartnerServerOutput

type FailoverGroupReadWriteEndpointFailoverPolicy

type FailoverGroupReadWriteEndpointFailoverPolicy struct {
	// Applies only if `mode` is `Automatic`. The grace period in minutes before failover with data loss is attempted
	GraceMinutes *int `pulumi:"graceMinutes"`
	// the failover mode. Possible values are `Manual`, `Automatic`
	Mode string `pulumi:"mode"`
}

type FailoverGroupReadWriteEndpointFailoverPolicyArgs

type FailoverGroupReadWriteEndpointFailoverPolicyArgs struct {
	// Applies only if `mode` is `Automatic`. The grace period in minutes before failover with data loss is attempted
	GraceMinutes pulumi.IntPtrInput `pulumi:"graceMinutes"`
	// the failover mode. Possible values are `Manual`, `Automatic`
	Mode pulumi.StringInput `pulumi:"mode"`
}

func (FailoverGroupReadWriteEndpointFailoverPolicyArgs) ElementType

func (FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyOutput

func (i FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyOutput() FailoverGroupReadWriteEndpointFailoverPolicyOutput

func (FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext

func (i FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext(ctx context.Context) FailoverGroupReadWriteEndpointFailoverPolicyOutput

func (FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (i FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput() FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext

func (i FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext(ctx context.Context) FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

type FailoverGroupReadWriteEndpointFailoverPolicyInput

type FailoverGroupReadWriteEndpointFailoverPolicyInput interface {
	pulumi.Input

	ToFailoverGroupReadWriteEndpointFailoverPolicyOutput() FailoverGroupReadWriteEndpointFailoverPolicyOutput
	ToFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext(context.Context) FailoverGroupReadWriteEndpointFailoverPolicyOutput
}

FailoverGroupReadWriteEndpointFailoverPolicyInput is an input type that accepts FailoverGroupReadWriteEndpointFailoverPolicyArgs and FailoverGroupReadWriteEndpointFailoverPolicyOutput values. You can construct a concrete instance of `FailoverGroupReadWriteEndpointFailoverPolicyInput` via:

FailoverGroupReadWriteEndpointFailoverPolicyArgs{...}

type FailoverGroupReadWriteEndpointFailoverPolicyOutput

type FailoverGroupReadWriteEndpointFailoverPolicyOutput struct{ *pulumi.OutputState }

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) ElementType

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) GraceMinutes

Applies only if `mode` is `Automatic`. The grace period in minutes before failover with data loss is attempted

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) Mode

the failover mode. Possible values are `Manual`, `Automatic`

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyOutput

func (o FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyOutput() FailoverGroupReadWriteEndpointFailoverPolicyOutput

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext

func (o FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext(ctx context.Context) FailoverGroupReadWriteEndpointFailoverPolicyOutput

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (o FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput() FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext

func (o FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext(ctx context.Context) FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

type FailoverGroupReadWriteEndpointFailoverPolicyPtrInput

type FailoverGroupReadWriteEndpointFailoverPolicyPtrInput interface {
	pulumi.Input

	ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput() FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput
	ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext(context.Context) FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput
}

FailoverGroupReadWriteEndpointFailoverPolicyPtrInput is an input type that accepts FailoverGroupReadWriteEndpointFailoverPolicyArgs, FailoverGroupReadWriteEndpointFailoverPolicyPtr and FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput values. You can construct a concrete instance of `FailoverGroupReadWriteEndpointFailoverPolicyPtrInput` via:

        FailoverGroupReadWriteEndpointFailoverPolicyArgs{...}

or:

        nil

type FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

type FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput struct{ *pulumi.OutputState }

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) Elem

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ElementType

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) GraceMinutes

Applies only if `mode` is `Automatic`. The grace period in minutes before failover with data loss is attempted

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) Mode

the failover mode. Possible values are `Manual`, `Automatic`

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext

func (o FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext(ctx context.Context) FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

type FailoverGroupReadonlyEndpointFailoverPolicy

type FailoverGroupReadonlyEndpointFailoverPolicy struct {
	// Failover policy for the read-only endpoint. Possible values are `Enabled`, and `Disabled`
	Mode string `pulumi:"mode"`
}

type FailoverGroupReadonlyEndpointFailoverPolicyArgs

type FailoverGroupReadonlyEndpointFailoverPolicyArgs struct {
	// Failover policy for the read-only endpoint. Possible values are `Enabled`, and `Disabled`
	Mode pulumi.StringInput `pulumi:"mode"`
}

func (FailoverGroupReadonlyEndpointFailoverPolicyArgs) ElementType

func (FailoverGroupReadonlyEndpointFailoverPolicyArgs) ToFailoverGroupReadonlyEndpointFailoverPolicyOutput

func (i FailoverGroupReadonlyEndpointFailoverPolicyArgs) ToFailoverGroupReadonlyEndpointFailoverPolicyOutput() FailoverGroupReadonlyEndpointFailoverPolicyOutput

func (FailoverGroupReadonlyEndpointFailoverPolicyArgs) ToFailoverGroupReadonlyEndpointFailoverPolicyOutputWithContext

func (i FailoverGroupReadonlyEndpointFailoverPolicyArgs) ToFailoverGroupReadonlyEndpointFailoverPolicyOutputWithContext(ctx context.Context) FailoverGroupReadonlyEndpointFailoverPolicyOutput

func (FailoverGroupReadonlyEndpointFailoverPolicyArgs) ToFailoverGroupReadonlyEndpointFailoverPolicyPtrOutput

func (i FailoverGroupReadonlyEndpointFailoverPolicyArgs) ToFailoverGroupReadonlyEndpointFailoverPolicyPtrOutput() FailoverGroupReadonlyEndpointFailoverPolicyPtrOutput

func (FailoverGroupReadonlyEndpointFailoverPolicyArgs) ToFailoverGroupReadonlyEndpointFailoverPolicyPtrOutputWithContext

func (i FailoverGroupReadonlyEndpointFailoverPolicyArgs) ToFailoverGroupReadonlyEndpointFailoverPolicyPtrOutputWithContext(ctx context.Context) FailoverGroupReadonlyEndpointFailoverPolicyPtrOutput

type FailoverGroupReadonlyEndpointFailoverPolicyInput

type FailoverGroupReadonlyEndpointFailoverPolicyInput interface {
	pulumi.Input

	ToFailoverGroupReadonlyEndpointFailoverPolicyOutput() FailoverGroupReadonlyEndpointFailoverPolicyOutput
	ToFailoverGroupReadonlyEndpointFailoverPolicyOutputWithContext(context.Context) FailoverGroupReadonlyEndpointFailoverPolicyOutput
}

FailoverGroupReadonlyEndpointFailoverPolicyInput is an input type that accepts FailoverGroupReadonlyEndpointFailoverPolicyArgs and FailoverGroupReadonlyEndpointFailoverPolicyOutput values. You can construct a concrete instance of `FailoverGroupReadonlyEndpointFailoverPolicyInput` via:

FailoverGroupReadonlyEndpointFailoverPolicyArgs{...}

type FailoverGroupReadonlyEndpointFailoverPolicyOutput

type FailoverGroupReadonlyEndpointFailoverPolicyOutput struct{ *pulumi.OutputState }

func (FailoverGroupReadonlyEndpointFailoverPolicyOutput) ElementType

func (FailoverGroupReadonlyEndpointFailoverPolicyOutput) Mode

Failover policy for the read-only endpoint. Possible values are `Enabled`, and `Disabled`

func (FailoverGroupReadonlyEndpointFailoverPolicyOutput) ToFailoverGroupReadonlyEndpointFailoverPolicyOutput

func (o FailoverGroupReadonlyEndpointFailoverPolicyOutput) ToFailoverGroupReadonlyEndpointFailoverPolicyOutput() FailoverGroupReadonlyEndpointFailoverPolicyOutput

func (FailoverGroupReadonlyEndpointFailoverPolicyOutput) ToFailoverGroupReadonlyEndpointFailoverPolicyOutputWithContext

func (o FailoverGroupReadonlyEndpointFailoverPolicyOutput) ToFailoverGroupReadonlyEndpointFailoverPolicyOutputWithContext(ctx context.Context) FailoverGroupReadonlyEndpointFailoverPolicyOutput

func (FailoverGroupReadonlyEndpointFailoverPolicyOutput) ToFailoverGroupReadonlyEndpointFailoverPolicyPtrOutput

func (o FailoverGroupReadonlyEndpointFailoverPolicyOutput) ToFailoverGroupReadonlyEndpointFailoverPolicyPtrOutput() FailoverGroupReadonlyEndpointFailoverPolicyPtrOutput

func (FailoverGroupReadonlyEndpointFailoverPolicyOutput) ToFailoverGroupReadonlyEndpointFailoverPolicyPtrOutputWithContext

func (o FailoverGroupReadonlyEndpointFailoverPolicyOutput) ToFailoverGroupReadonlyEndpointFailoverPolicyPtrOutputWithContext(ctx context.Context) FailoverGroupReadonlyEndpointFailoverPolicyPtrOutput

type FailoverGroupReadonlyEndpointFailoverPolicyPtrInput

type FailoverGroupReadonlyEndpointFailoverPolicyPtrInput interface {
	pulumi.Input

	ToFailoverGroupReadonlyEndpointFailoverPolicyPtrOutput() FailoverGroupReadonlyEndpointFailoverPolicyPtrOutput
	ToFailoverGroupReadonlyEndpointFailoverPolicyPtrOutputWithContext(context.Context) FailoverGroupReadonlyEndpointFailoverPolicyPtrOutput
}

FailoverGroupReadonlyEndpointFailoverPolicyPtrInput is an input type that accepts FailoverGroupReadonlyEndpointFailoverPolicyArgs, FailoverGroupReadonlyEndpointFailoverPolicyPtr and FailoverGroupReadonlyEndpointFailoverPolicyPtrOutput values. You can construct a concrete instance of `FailoverGroupReadonlyEndpointFailoverPolicyPtrInput` via:

        FailoverGroupReadonlyEndpointFailoverPolicyArgs{...}

or:

        nil

type FailoverGroupReadonlyEndpointFailoverPolicyPtrOutput

type FailoverGroupReadonlyEndpointFailoverPolicyPtrOutput struct{ *pulumi.OutputState }

func (FailoverGroupReadonlyEndpointFailoverPolicyPtrOutput) Elem

func (FailoverGroupReadonlyEndpointFailoverPolicyPtrOutput) ElementType

func (FailoverGroupReadonlyEndpointFailoverPolicyPtrOutput) Mode

Failover policy for the read-only endpoint. Possible values are `Enabled`, and `Disabled`

func (FailoverGroupReadonlyEndpointFailoverPolicyPtrOutput) ToFailoverGroupReadonlyEndpointFailoverPolicyPtrOutput

func (FailoverGroupReadonlyEndpointFailoverPolicyPtrOutput) ToFailoverGroupReadonlyEndpointFailoverPolicyPtrOutputWithContext

func (o FailoverGroupReadonlyEndpointFailoverPolicyPtrOutput) ToFailoverGroupReadonlyEndpointFailoverPolicyPtrOutputWithContext(ctx context.Context) FailoverGroupReadonlyEndpointFailoverPolicyPtrOutput

type FailoverGroupState

type FailoverGroupState struct {
	// A list of database ids to add to the failover group
	//
	// > **NOTE:** The failover group will create a secondary database for each database listed in `databases`. If the secondary databases need to be managed through this provider, they should be defined as resources and a dependency added to the failover group to ensure the secondary databases are created first.
	Databases pulumi.StringArrayInput
	// the location of the failover group.
	Location pulumi.StringPtrInput
	// The name of the failover group. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// A list of `partnerServers` blocks as documented below.
	PartnerServers FailoverGroupPartnerServerArrayInput
	// A `readWriteEndpointFailoverPolicy` block as documented below.
	ReadWriteEndpointFailoverPolicy FailoverGroupReadWriteEndpointFailoverPolicyPtrInput
	// A `readonlyEndpointFailoverPolicy` block as documented below.
	ReadonlyEndpointFailoverPolicy FailoverGroupReadonlyEndpointFailoverPolicyPtrInput
	// The name of the resource group containing the SQL server Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// local replication role of the failover group instance.
	Role pulumi.StringPtrInput
	// The name of the primary SQL server. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (FailoverGroupState) ElementType

func (FailoverGroupState) ElementType() reflect.Type

type FirewallRule

type FirewallRule struct {
	pulumi.CustomResourceState

	// The ending IP address to allow through the firewall for this rule.
	//
	// > **NOTE:** The Azure feature `Allow access to Azure services` can be enabled by setting `startIpAddress` and `endIpAddress` to `0.0.0.0` which ([is documented in the Azure API Docs](https://docs.microsoft.com/rest/api/sql/firewallrules/createorupdate)).
	EndIpAddress pulumi.StringOutput `pulumi:"endIpAddress"`
	// The name of the firewall rule. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The name of the SQL Server on which to create the Firewall Rule. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// The starting IP address to allow through the firewall for this rule.
	StartIpAddress pulumi.StringOutput `pulumi:"startIpAddress"`
}

Allows you to manage an Azure SQL Firewall Rule.

> **Note:** The `sql.FirewallRule` resource is deprecated in version 3.0 of the AzureRM provider and will be removed in version 4.0. Please use the `mssql.FirewallRule` resource instead.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleSqlServer, err := sql.NewSqlServer(ctx, "example", &sql.SqlServerArgs{
			Name:                       pulumi.String("mysqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		_, err = sql.NewFirewallRule(ctx, "example", &sql.FirewallRuleArgs{
			Name:              pulumi.String("FirewallRule1"),
			ResourceGroupName: example.Name,
			ServerName:        exampleSqlServer.Name,
			StartIpAddress:    pulumi.String("10.0.17.62"),
			EndIpAddress:      pulumi.String("10.0.17.62"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SQL Firewall Rules can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:sql/firewallRule:FirewallRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver/firewallRules/rule1 ```

func GetFirewallRule

func GetFirewallRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FirewallRuleState, opts ...pulumi.ResourceOption) (*FirewallRule, error)

GetFirewallRule gets an existing FirewallRule 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 NewFirewallRule

func NewFirewallRule(ctx *pulumi.Context,
	name string, args *FirewallRuleArgs, opts ...pulumi.ResourceOption) (*FirewallRule, error)

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

func (*FirewallRule) ElementType

func (*FirewallRule) ElementType() reflect.Type

func (*FirewallRule) ToFirewallRuleOutput

func (i *FirewallRule) ToFirewallRuleOutput() FirewallRuleOutput

func (*FirewallRule) ToFirewallRuleOutputWithContext

func (i *FirewallRule) ToFirewallRuleOutputWithContext(ctx context.Context) FirewallRuleOutput

type FirewallRuleArgs

type FirewallRuleArgs struct {
	// The ending IP address to allow through the firewall for this rule.
	//
	// > **NOTE:** The Azure feature `Allow access to Azure services` can be enabled by setting `startIpAddress` and `endIpAddress` to `0.0.0.0` which ([is documented in the Azure API Docs](https://docs.microsoft.com/rest/api/sql/firewallrules/createorupdate)).
	EndIpAddress pulumi.StringInput
	// The name of the firewall rule. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The name of the SQL Server on which to create the Firewall Rule. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
	// The starting IP address to allow through the firewall for this rule.
	StartIpAddress pulumi.StringInput
}

The set of arguments for constructing a FirewallRule resource.

func (FirewallRuleArgs) ElementType

func (FirewallRuleArgs) ElementType() reflect.Type

type FirewallRuleArray

type FirewallRuleArray []FirewallRuleInput

func (FirewallRuleArray) ElementType

func (FirewallRuleArray) ElementType() reflect.Type

func (FirewallRuleArray) ToFirewallRuleArrayOutput

func (i FirewallRuleArray) ToFirewallRuleArrayOutput() FirewallRuleArrayOutput

func (FirewallRuleArray) ToFirewallRuleArrayOutputWithContext

func (i FirewallRuleArray) ToFirewallRuleArrayOutputWithContext(ctx context.Context) FirewallRuleArrayOutput

type FirewallRuleArrayInput

type FirewallRuleArrayInput interface {
	pulumi.Input

	ToFirewallRuleArrayOutput() FirewallRuleArrayOutput
	ToFirewallRuleArrayOutputWithContext(context.Context) FirewallRuleArrayOutput
}

FirewallRuleArrayInput is an input type that accepts FirewallRuleArray and FirewallRuleArrayOutput values. You can construct a concrete instance of `FirewallRuleArrayInput` via:

FirewallRuleArray{ FirewallRuleArgs{...} }

type FirewallRuleArrayOutput

type FirewallRuleArrayOutput struct{ *pulumi.OutputState }

func (FirewallRuleArrayOutput) ElementType

func (FirewallRuleArrayOutput) ElementType() reflect.Type

func (FirewallRuleArrayOutput) Index

func (FirewallRuleArrayOutput) ToFirewallRuleArrayOutput

func (o FirewallRuleArrayOutput) ToFirewallRuleArrayOutput() FirewallRuleArrayOutput

func (FirewallRuleArrayOutput) ToFirewallRuleArrayOutputWithContext

func (o FirewallRuleArrayOutput) ToFirewallRuleArrayOutputWithContext(ctx context.Context) FirewallRuleArrayOutput

type FirewallRuleInput

type FirewallRuleInput interface {
	pulumi.Input

	ToFirewallRuleOutput() FirewallRuleOutput
	ToFirewallRuleOutputWithContext(ctx context.Context) FirewallRuleOutput
}

type FirewallRuleMap

type FirewallRuleMap map[string]FirewallRuleInput

func (FirewallRuleMap) ElementType

func (FirewallRuleMap) ElementType() reflect.Type

func (FirewallRuleMap) ToFirewallRuleMapOutput

func (i FirewallRuleMap) ToFirewallRuleMapOutput() FirewallRuleMapOutput

func (FirewallRuleMap) ToFirewallRuleMapOutputWithContext

func (i FirewallRuleMap) ToFirewallRuleMapOutputWithContext(ctx context.Context) FirewallRuleMapOutput

type FirewallRuleMapInput

type FirewallRuleMapInput interface {
	pulumi.Input

	ToFirewallRuleMapOutput() FirewallRuleMapOutput
	ToFirewallRuleMapOutputWithContext(context.Context) FirewallRuleMapOutput
}

FirewallRuleMapInput is an input type that accepts FirewallRuleMap and FirewallRuleMapOutput values. You can construct a concrete instance of `FirewallRuleMapInput` via:

FirewallRuleMap{ "key": FirewallRuleArgs{...} }

type FirewallRuleMapOutput

type FirewallRuleMapOutput struct{ *pulumi.OutputState }

func (FirewallRuleMapOutput) ElementType

func (FirewallRuleMapOutput) ElementType() reflect.Type

func (FirewallRuleMapOutput) MapIndex

func (FirewallRuleMapOutput) ToFirewallRuleMapOutput

func (o FirewallRuleMapOutput) ToFirewallRuleMapOutput() FirewallRuleMapOutput

func (FirewallRuleMapOutput) ToFirewallRuleMapOutputWithContext

func (o FirewallRuleMapOutput) ToFirewallRuleMapOutputWithContext(ctx context.Context) FirewallRuleMapOutput

type FirewallRuleOutput

type FirewallRuleOutput struct{ *pulumi.OutputState }

func (FirewallRuleOutput) ElementType

func (FirewallRuleOutput) ElementType() reflect.Type

func (FirewallRuleOutput) EndIpAddress added in v5.5.0

func (o FirewallRuleOutput) EndIpAddress() pulumi.StringOutput

The ending IP address to allow through the firewall for this rule.

> **NOTE:** The Azure feature `Allow access to Azure services` can be enabled by setting `startIpAddress` and `endIpAddress` to `0.0.0.0` which ([is documented in the Azure API Docs](https://docs.microsoft.com/rest/api/sql/firewallrules/createorupdate)).

func (FirewallRuleOutput) Name added in v5.5.0

The name of the firewall rule. Changing this forces a new resource to be created.

func (FirewallRuleOutput) ResourceGroupName added in v5.5.0

func (o FirewallRuleOutput) ResourceGroupName() pulumi.StringOutput

The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.

func (FirewallRuleOutput) ServerName added in v5.5.0

func (o FirewallRuleOutput) ServerName() pulumi.StringOutput

The name of the SQL Server on which to create the Firewall Rule. Changing this forces a new resource to be created.

func (FirewallRuleOutput) StartIpAddress added in v5.5.0

func (o FirewallRuleOutput) StartIpAddress() pulumi.StringOutput

The starting IP address to allow through the firewall for this rule.

func (FirewallRuleOutput) ToFirewallRuleOutput

func (o FirewallRuleOutput) ToFirewallRuleOutput() FirewallRuleOutput

func (FirewallRuleOutput) ToFirewallRuleOutputWithContext

func (o FirewallRuleOutput) ToFirewallRuleOutputWithContext(ctx context.Context) FirewallRuleOutput

type FirewallRuleState

type FirewallRuleState struct {
	// The ending IP address to allow through the firewall for this rule.
	//
	// > **NOTE:** The Azure feature `Allow access to Azure services` can be enabled by setting `startIpAddress` and `endIpAddress` to `0.0.0.0` which ([is documented in the Azure API Docs](https://docs.microsoft.com/rest/api/sql/firewallrules/createorupdate)).
	EndIpAddress pulumi.StringPtrInput
	// The name of the firewall rule. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The name of the SQL Server on which to create the Firewall Rule. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
	// The starting IP address to allow through the firewall for this rule.
	StartIpAddress pulumi.StringPtrInput
}

func (FirewallRuleState) ElementType

func (FirewallRuleState) ElementType() reflect.Type

type GetServerArgs

type GetServerArgs struct {
	// The name of the SQL Server.
	Name string `pulumi:"name"`
	// Specifies the name of the Resource Group where the SQL Server exists.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getServer.

type GetServerIdentity

type GetServerIdentity struct {
	// The Principal ID associated with this Managed Service Identity.
	PrincipalId string `pulumi:"principalId"`
	// The Tenant ID associated with this Managed Service Identity.
	TenantId string `pulumi:"tenantId"`
	// The identity type of this Managed Service Identity.
	Type string `pulumi:"type"`
}

type GetServerIdentityArgs

type GetServerIdentityArgs struct {
	// The Principal ID associated with this Managed Service Identity.
	PrincipalId pulumi.StringInput `pulumi:"principalId"`
	// The Tenant ID associated with this Managed Service Identity.
	TenantId pulumi.StringInput `pulumi:"tenantId"`
	// The identity type of this Managed Service Identity.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetServerIdentityArgs) ElementType

func (GetServerIdentityArgs) ElementType() reflect.Type

func (GetServerIdentityArgs) ToGetServerIdentityOutput

func (i GetServerIdentityArgs) ToGetServerIdentityOutput() GetServerIdentityOutput

func (GetServerIdentityArgs) ToGetServerIdentityOutputWithContext

func (i GetServerIdentityArgs) ToGetServerIdentityOutputWithContext(ctx context.Context) GetServerIdentityOutput

type GetServerIdentityArray

type GetServerIdentityArray []GetServerIdentityInput

func (GetServerIdentityArray) ElementType

func (GetServerIdentityArray) ElementType() reflect.Type

func (GetServerIdentityArray) ToGetServerIdentityArrayOutput

func (i GetServerIdentityArray) ToGetServerIdentityArrayOutput() GetServerIdentityArrayOutput

func (GetServerIdentityArray) ToGetServerIdentityArrayOutputWithContext

func (i GetServerIdentityArray) ToGetServerIdentityArrayOutputWithContext(ctx context.Context) GetServerIdentityArrayOutput

type GetServerIdentityArrayInput

type GetServerIdentityArrayInput interface {
	pulumi.Input

	ToGetServerIdentityArrayOutput() GetServerIdentityArrayOutput
	ToGetServerIdentityArrayOutputWithContext(context.Context) GetServerIdentityArrayOutput
}

GetServerIdentityArrayInput is an input type that accepts GetServerIdentityArray and GetServerIdentityArrayOutput values. You can construct a concrete instance of `GetServerIdentityArrayInput` via:

GetServerIdentityArray{ GetServerIdentityArgs{...} }

type GetServerIdentityArrayOutput

type GetServerIdentityArrayOutput struct{ *pulumi.OutputState }

func (GetServerIdentityArrayOutput) ElementType

func (GetServerIdentityArrayOutput) Index

func (GetServerIdentityArrayOutput) ToGetServerIdentityArrayOutput

func (o GetServerIdentityArrayOutput) ToGetServerIdentityArrayOutput() GetServerIdentityArrayOutput

func (GetServerIdentityArrayOutput) ToGetServerIdentityArrayOutputWithContext

func (o GetServerIdentityArrayOutput) ToGetServerIdentityArrayOutputWithContext(ctx context.Context) GetServerIdentityArrayOutput

type GetServerIdentityInput

type GetServerIdentityInput interface {
	pulumi.Input

	ToGetServerIdentityOutput() GetServerIdentityOutput
	ToGetServerIdentityOutputWithContext(context.Context) GetServerIdentityOutput
}

GetServerIdentityInput is an input type that accepts GetServerIdentityArgs and GetServerIdentityOutput values. You can construct a concrete instance of `GetServerIdentityInput` via:

GetServerIdentityArgs{...}

type GetServerIdentityOutput

type GetServerIdentityOutput struct{ *pulumi.OutputState }

func (GetServerIdentityOutput) ElementType

func (GetServerIdentityOutput) ElementType() reflect.Type

func (GetServerIdentityOutput) PrincipalId

The Principal ID associated with this Managed Service Identity.

func (GetServerIdentityOutput) TenantId

The Tenant ID associated with this Managed Service Identity.

func (GetServerIdentityOutput) ToGetServerIdentityOutput

func (o GetServerIdentityOutput) ToGetServerIdentityOutput() GetServerIdentityOutput

func (GetServerIdentityOutput) ToGetServerIdentityOutputWithContext

func (o GetServerIdentityOutput) ToGetServerIdentityOutputWithContext(ctx context.Context) GetServerIdentityOutput

func (GetServerIdentityOutput) Type

The identity type of this Managed Service Identity.

type GetServerOutputArgs

type GetServerOutputArgs struct {
	// The name of the SQL Server.
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the name of the Resource Group where the SQL Server exists.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getServer.

func (GetServerOutputArgs) ElementType

func (GetServerOutputArgs) ElementType() reflect.Type

type GetServerResult

type GetServerResult struct {
	// The administrator username of the SQL Server.
	AdministratorLogin string `pulumi:"administratorLogin"`
	// The fully qualified domain name of the SQL Server.
	Fqdn string `pulumi:"fqdn"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// An `identity` block as defined below.
	Identities []GetServerIdentity `pulumi:"identities"`
	// The location of the Resource Group in which the SQL Server exists.
	Location          string `pulumi:"location"`
	Name              string `pulumi:"name"`
	ResourceGroupName string `pulumi:"resourceGroupName"`
	// A mapping of tags assigned to the resource.
	Tags map[string]string `pulumi:"tags"`
	// The version of the SQL Server.
	Version string `pulumi:"version"`
}

A collection of values returned by getServer.

func GetServer

func GetServer(ctx *pulumi.Context, args *GetServerArgs, opts ...pulumi.InvokeOption) (*GetServerResult, error)

Use this data source to access information about an existing SQL Azure Database Server.

> **Note:** The `sql.SqlServer` data source is deprecated in version 3.0 of the AzureRM provider and will be removed in version 4.0. Please use the `mssql.Server` data source instead.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := sql.GetServer(ctx, &sql.GetServerArgs{
			Name:              "examplesqlservername",
			ResourceGroupName: "example-resources",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("sqlServerId", example.Id)
		return nil
	})
}

```

type GetServerResultOutput

type GetServerResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getServer.

func (GetServerResultOutput) AdministratorLogin

func (o GetServerResultOutput) AdministratorLogin() pulumi.StringOutput

The administrator username of the SQL Server.

func (GetServerResultOutput) ElementType

func (GetServerResultOutput) ElementType() reflect.Type

func (GetServerResultOutput) Fqdn

The fully qualified domain name of the SQL Server.

func (GetServerResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetServerResultOutput) Identities

An `identity` block as defined below.

func (GetServerResultOutput) Location

The location of the Resource Group in which the SQL Server exists.

func (GetServerResultOutput) Name

func (GetServerResultOutput) ResourceGroupName

func (o GetServerResultOutput) ResourceGroupName() pulumi.StringOutput

func (GetServerResultOutput) Tags

A mapping of tags assigned to the resource.

func (GetServerResultOutput) ToGetServerResultOutput

func (o GetServerResultOutput) ToGetServerResultOutput() GetServerResultOutput

func (GetServerResultOutput) ToGetServerResultOutputWithContext

func (o GetServerResultOutput) ToGetServerResultOutputWithContext(ctx context.Context) GetServerResultOutput

func (GetServerResultOutput) Version

The version of the SQL Server.

type GetSqlManagedInstanceArgs

type GetSqlManagedInstanceArgs struct {
	// The name of the SQL Managed Instance.
	Name string `pulumi:"name"`
	// The name of the Resource Group in which the SQL Managed Instance exists.
	ResourceGroupName string `pulumi:"resourceGroupName"`
	// A mapping of tags assigned to the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getSqlManagedInstance.

type GetSqlManagedInstanceIdentity

type GetSqlManagedInstanceIdentity struct {
	// The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.
	PrincipalId string `pulumi:"principalId"`
	// The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.
	TenantId string `pulumi:"tenantId"`
	Type     string `pulumi:"type"`
}

type GetSqlManagedInstanceIdentityArgs

type GetSqlManagedInstanceIdentityArgs struct {
	// The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.
	PrincipalId pulumi.StringInput `pulumi:"principalId"`
	// The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.
	TenantId pulumi.StringInput `pulumi:"tenantId"`
	Type     pulumi.StringInput `pulumi:"type"`
}

func (GetSqlManagedInstanceIdentityArgs) ElementType

func (GetSqlManagedInstanceIdentityArgs) ToGetSqlManagedInstanceIdentityOutput

func (i GetSqlManagedInstanceIdentityArgs) ToGetSqlManagedInstanceIdentityOutput() GetSqlManagedInstanceIdentityOutput

func (GetSqlManagedInstanceIdentityArgs) ToGetSqlManagedInstanceIdentityOutputWithContext

func (i GetSqlManagedInstanceIdentityArgs) ToGetSqlManagedInstanceIdentityOutputWithContext(ctx context.Context) GetSqlManagedInstanceIdentityOutput

type GetSqlManagedInstanceIdentityArray

type GetSqlManagedInstanceIdentityArray []GetSqlManagedInstanceIdentityInput

func (GetSqlManagedInstanceIdentityArray) ElementType

func (GetSqlManagedInstanceIdentityArray) ToGetSqlManagedInstanceIdentityArrayOutput

func (i GetSqlManagedInstanceIdentityArray) ToGetSqlManagedInstanceIdentityArrayOutput() GetSqlManagedInstanceIdentityArrayOutput

func (GetSqlManagedInstanceIdentityArray) ToGetSqlManagedInstanceIdentityArrayOutputWithContext

func (i GetSqlManagedInstanceIdentityArray) ToGetSqlManagedInstanceIdentityArrayOutputWithContext(ctx context.Context) GetSqlManagedInstanceIdentityArrayOutput

type GetSqlManagedInstanceIdentityArrayInput

type GetSqlManagedInstanceIdentityArrayInput interface {
	pulumi.Input

	ToGetSqlManagedInstanceIdentityArrayOutput() GetSqlManagedInstanceIdentityArrayOutput
	ToGetSqlManagedInstanceIdentityArrayOutputWithContext(context.Context) GetSqlManagedInstanceIdentityArrayOutput
}

GetSqlManagedInstanceIdentityArrayInput is an input type that accepts GetSqlManagedInstanceIdentityArray and GetSqlManagedInstanceIdentityArrayOutput values. You can construct a concrete instance of `GetSqlManagedInstanceIdentityArrayInput` via:

GetSqlManagedInstanceIdentityArray{ GetSqlManagedInstanceIdentityArgs{...} }

type GetSqlManagedInstanceIdentityArrayOutput

type GetSqlManagedInstanceIdentityArrayOutput struct{ *pulumi.OutputState }

func (GetSqlManagedInstanceIdentityArrayOutput) ElementType

func (GetSqlManagedInstanceIdentityArrayOutput) Index

func (GetSqlManagedInstanceIdentityArrayOutput) ToGetSqlManagedInstanceIdentityArrayOutput

func (o GetSqlManagedInstanceIdentityArrayOutput) ToGetSqlManagedInstanceIdentityArrayOutput() GetSqlManagedInstanceIdentityArrayOutput

func (GetSqlManagedInstanceIdentityArrayOutput) ToGetSqlManagedInstanceIdentityArrayOutputWithContext

func (o GetSqlManagedInstanceIdentityArrayOutput) ToGetSqlManagedInstanceIdentityArrayOutputWithContext(ctx context.Context) GetSqlManagedInstanceIdentityArrayOutput

type GetSqlManagedInstanceIdentityInput

type GetSqlManagedInstanceIdentityInput interface {
	pulumi.Input

	ToGetSqlManagedInstanceIdentityOutput() GetSqlManagedInstanceIdentityOutput
	ToGetSqlManagedInstanceIdentityOutputWithContext(context.Context) GetSqlManagedInstanceIdentityOutput
}

GetSqlManagedInstanceIdentityInput is an input type that accepts GetSqlManagedInstanceIdentityArgs and GetSqlManagedInstanceIdentityOutput values. You can construct a concrete instance of `GetSqlManagedInstanceIdentityInput` via:

GetSqlManagedInstanceIdentityArgs{...}

type GetSqlManagedInstanceIdentityOutput

type GetSqlManagedInstanceIdentityOutput struct{ *pulumi.OutputState }

func (GetSqlManagedInstanceIdentityOutput) ElementType

func (GetSqlManagedInstanceIdentityOutput) PrincipalId

The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.

func (GetSqlManagedInstanceIdentityOutput) TenantId

The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.

func (GetSqlManagedInstanceIdentityOutput) ToGetSqlManagedInstanceIdentityOutput

func (o GetSqlManagedInstanceIdentityOutput) ToGetSqlManagedInstanceIdentityOutput() GetSqlManagedInstanceIdentityOutput

func (GetSqlManagedInstanceIdentityOutput) ToGetSqlManagedInstanceIdentityOutputWithContext

func (o GetSqlManagedInstanceIdentityOutput) ToGetSqlManagedInstanceIdentityOutputWithContext(ctx context.Context) GetSqlManagedInstanceIdentityOutput

func (GetSqlManagedInstanceIdentityOutput) Type

type GetSqlManagedInstanceOutputArgs

type GetSqlManagedInstanceOutputArgs struct {
	// The name of the SQL Managed Instance.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the Resource Group in which the SQL Managed Instance exists.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
	// A mapping of tags assigned to the resource.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getSqlManagedInstance.

func (GetSqlManagedInstanceOutputArgs) ElementType

type GetSqlManagedInstanceResult

type GetSqlManagedInstanceResult struct {
	// The administrator login name for the new server.
	AdministratorLogin string `pulumi:"administratorLogin"`
	// Specifies how the SQL Managed Instance is collated.
	Collation string `pulumi:"collation"`
	// The ID of the Managed Instance which is sharing the DNS zone.
	DnsZonePartnerId string `pulumi:"dnsZonePartnerId"`
	// The fully qualified domain name of the Azure Managed SQL Instance.
	Fqdn string `pulumi:"fqdn"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// An `identity` block as defined below.
	Identities []GetSqlManagedInstanceIdentity `pulumi:"identities"`
	// Type of license the Managed Instance uses.
	LicenseType string `pulumi:"licenseType"`
	// Location where the resource exists.
	Location string `pulumi:"location"`
	// The Minimum TLS Version.
	MinimumTlsVersion string `pulumi:"minimumTlsVersion"`
	Name              string `pulumi:"name"`
	// How the SQL Managed Instance is accessed.
	ProxyOverride string `pulumi:"proxyOverride"`
	// Is the public data endpoint enabled?
	PublicDataEndpointEnabled bool   `pulumi:"publicDataEndpointEnabled"`
	ResourceGroupName         string `pulumi:"resourceGroupName"`
	// SKU Name for the SQL Managed Instance.
	SkuName string `pulumi:"skuName"`
	// Storage account type used to store backups for this SQL Managed Instance.
	StorageAccountType string `pulumi:"storageAccountType"`
	// Maximum storage space for your instance.
	StorageSizeInGb int `pulumi:"storageSizeInGb"`
	// The subnet resource id that the SQL Managed Instance is associated with.
	SubnetId string `pulumi:"subnetId"`
	// A mapping of tags assigned to the resource.
	Tags map[string]string `pulumi:"tags"`
	// The TimeZone ID that the SQL Managed Instance is operating in.
	TimezoneId string `pulumi:"timezoneId"`
	// Number of cores assigned to your instance.
	Vcores int `pulumi:"vcores"`
}

A collection of values returned by getSqlManagedInstance.

func GetSqlManagedInstance

func GetSqlManagedInstance(ctx *pulumi.Context, args *GetSqlManagedInstanceArgs, opts ...pulumi.InvokeOption) (*GetSqlManagedInstanceResult, error)

Use this data source to access information about an existing SQL Managed Instance.

> **Note:** The `sql.ManagedInstance` data source is deprecated in version 3.0 of the AzureRM provider and will be removed in version 4.0. Please use the `mssql.ManagedInstance` data source instead.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := sql.GetSqlManagedInstance(ctx, &sql.GetSqlManagedInstanceArgs{
			Name:              "example_mi",
			ResourceGroupName: "example-resources",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("sqlInstanceId", example.Id)
		return nil
	})
}

```

type GetSqlManagedInstanceResultOutput

type GetSqlManagedInstanceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSqlManagedInstance.

func (GetSqlManagedInstanceResultOutput) AdministratorLogin

func (o GetSqlManagedInstanceResultOutput) AdministratorLogin() pulumi.StringOutput

The administrator login name for the new server.

func (GetSqlManagedInstanceResultOutput) Collation

Specifies how the SQL Managed Instance is collated.

func (GetSqlManagedInstanceResultOutput) DnsZonePartnerId

The ID of the Managed Instance which is sharing the DNS zone.

func (GetSqlManagedInstanceResultOutput) ElementType

func (GetSqlManagedInstanceResultOutput) Fqdn

The fully qualified domain name of the Azure Managed SQL Instance.

func (GetSqlManagedInstanceResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetSqlManagedInstanceResultOutput) Identities

An `identity` block as defined below.

func (GetSqlManagedInstanceResultOutput) LicenseType

Type of license the Managed Instance uses.

func (GetSqlManagedInstanceResultOutput) Location

Location where the resource exists.

func (GetSqlManagedInstanceResultOutput) MinimumTlsVersion

The Minimum TLS Version.

func (GetSqlManagedInstanceResultOutput) Name

func (GetSqlManagedInstanceResultOutput) ProxyOverride

How the SQL Managed Instance is accessed.

func (GetSqlManagedInstanceResultOutput) PublicDataEndpointEnabled

func (o GetSqlManagedInstanceResultOutput) PublicDataEndpointEnabled() pulumi.BoolOutput

Is the public data endpoint enabled?

func (GetSqlManagedInstanceResultOutput) ResourceGroupName

func (GetSqlManagedInstanceResultOutput) SkuName

SKU Name for the SQL Managed Instance.

func (GetSqlManagedInstanceResultOutput) StorageAccountType

func (o GetSqlManagedInstanceResultOutput) StorageAccountType() pulumi.StringOutput

Storage account type used to store backups for this SQL Managed Instance.

func (GetSqlManagedInstanceResultOutput) StorageSizeInGb

Maximum storage space for your instance.

func (GetSqlManagedInstanceResultOutput) SubnetId

The subnet resource id that the SQL Managed Instance is associated with.

func (GetSqlManagedInstanceResultOutput) Tags

A mapping of tags assigned to the resource.

func (GetSqlManagedInstanceResultOutput) TimezoneId

The TimeZone ID that the SQL Managed Instance is operating in.

func (GetSqlManagedInstanceResultOutput) ToGetSqlManagedInstanceResultOutput

func (o GetSqlManagedInstanceResultOutput) ToGetSqlManagedInstanceResultOutput() GetSqlManagedInstanceResultOutput

func (GetSqlManagedInstanceResultOutput) ToGetSqlManagedInstanceResultOutputWithContext

func (o GetSqlManagedInstanceResultOutput) ToGetSqlManagedInstanceResultOutputWithContext(ctx context.Context) GetSqlManagedInstanceResultOutput

func (GetSqlManagedInstanceResultOutput) Vcores

Number of cores assigned to your instance.

type LookupDatabaseArgs

type LookupDatabaseArgs struct {
	// The name of the SQL Database.
	Name string `pulumi:"name"`
	// Specifies the name of the Resource Group where the Azure SQL Database exists.
	ResourceGroupName string `pulumi:"resourceGroupName"`
	// The name of the SQL Server.
	ServerName string `pulumi:"serverName"`
	// A mapping of tags assigned to the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getDatabase.

type LookupDatabaseOutputArgs

type LookupDatabaseOutputArgs struct {
	// The name of the SQL Database.
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the name of the Resource Group where the Azure SQL Database exists.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
	// The name of the SQL Server.
	ServerName pulumi.StringInput `pulumi:"serverName"`
	// A mapping of tags assigned to the resource.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getDatabase.

func (LookupDatabaseOutputArgs) ElementType

func (LookupDatabaseOutputArgs) ElementType() reflect.Type

type LookupDatabaseResult

type LookupDatabaseResult struct {
	// The name of the collation.
	Collation string `pulumi:"collation"`
	// The default secondary location of the SQL Database.
	DefaultSecondaryLocation string `pulumi:"defaultSecondaryLocation"`
	// The edition of the database.
	Edition string `pulumi:"edition"`
	// The name of the elastic database pool the database belongs to.
	ElasticPoolName string `pulumi:"elasticPoolName"`
	// The ID of the failover group the database belongs to.
	FailoverGroupId string `pulumi:"failoverGroupId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The location of the Resource Group in which the SQL Server exists.
	Location string `pulumi:"location"`
	// The name of the database.
	Name string `pulumi:"name"`
	// Indicate if read-only connections will be redirected to a high-available replica.
	ReadScale bool `pulumi:"readScale"`
	// The name of the resource group in which the database resides. This will always be the same resource group as the Database Server.
	ResourceGroupName string `pulumi:"resourceGroupName"`
	// The name of the SQL Server on which to create the database.
	ServerName string `pulumi:"serverName"`
	// A mapping of tags assigned to the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of values returned by getDatabase.

func LookupDatabase

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

Use this data source to access information about an existing SQL Azure Database.

> **Note:** The `sql.Database` data source is deprecated in version 3.0 of the AzureRM provider and will be removed in version 4.0. Please use the `mssql.Database` data source instead.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := sql.LookupDatabase(ctx, &sql.LookupDatabaseArgs{
			Name:              "example_db",
			ServerName:        "example_db_server",
			ResourceGroupName: "example-resources",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("sqlDatabaseId", example.Id)
		return nil
	})
}

```

type LookupDatabaseResultOutput

type LookupDatabaseResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDatabase.

func (LookupDatabaseResultOutput) Collation

The name of the collation.

func (LookupDatabaseResultOutput) DefaultSecondaryLocation

func (o LookupDatabaseResultOutput) DefaultSecondaryLocation() pulumi.StringOutput

The default secondary location of the SQL Database.

func (LookupDatabaseResultOutput) Edition

The edition of the database.

func (LookupDatabaseResultOutput) ElasticPoolName

func (o LookupDatabaseResultOutput) ElasticPoolName() pulumi.StringOutput

The name of the elastic database pool the database belongs to.

func (LookupDatabaseResultOutput) ElementType

func (LookupDatabaseResultOutput) ElementType() reflect.Type

func (LookupDatabaseResultOutput) FailoverGroupId

func (o LookupDatabaseResultOutput) FailoverGroupId() pulumi.StringOutput

The ID of the failover group the database belongs to.

func (LookupDatabaseResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupDatabaseResultOutput) Location

The location of the Resource Group in which the SQL Server exists.

func (LookupDatabaseResultOutput) Name

The name of the database.

func (LookupDatabaseResultOutput) ReadScale

Indicate if read-only connections will be redirected to a high-available replica.

func (LookupDatabaseResultOutput) ResourceGroupName

func (o LookupDatabaseResultOutput) ResourceGroupName() pulumi.StringOutput

The name of the resource group in which the database resides. This will always be the same resource group as the Database Server.

func (LookupDatabaseResultOutput) ServerName

The name of the SQL Server on which to create the database.

func (LookupDatabaseResultOutput) Tags

A mapping of tags assigned to the resource.

func (LookupDatabaseResultOutput) ToLookupDatabaseResultOutput

func (o LookupDatabaseResultOutput) ToLookupDatabaseResultOutput() LookupDatabaseResultOutput

func (LookupDatabaseResultOutput) ToLookupDatabaseResultOutputWithContext

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

type ManagedDatabase

type ManagedDatabase struct {
	pulumi.CustomResourceState

	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the SQL Managed Database. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The SQL Managed Instance ID that this Managed Database will be associated with. Changing this forces a new resource to be created.
	SqlManagedInstanceId pulumi.StringOutput `pulumi:"sqlManagedInstanceId"`
}

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("rg-example"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name: pulumi.String("test-network"),
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
			Location:          example.Location,
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("acctsub"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		exampleManagedInstance, err := sql.NewManagedInstance(ctx, "example", &sql.ManagedInstanceArgs{
			Name:                       pulumi.String("example"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			AdministratorLogin:         pulumi.String("mradministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsDog11"),
			LicenseType:                pulumi.String("BasePrice"),
			SubnetId:                   exampleSubnet.ID(),
			SkuName:                    pulumi.String("GP_Gen5"),
			Vcores:                     pulumi.Int(4),
			StorageSizeInGb:            pulumi.Int(32),
		})
		if err != nil {
			return err
		}
		_, err = sql.NewManagedDatabase(ctx, "example", &sql.ManagedDatabaseArgs{
			SqlManagedInstanceId: exampleManagedInstance.ID(),
			Name:                 pulumi.String("exampledatabase"),
			Location:             example.Location,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SQL Managed Databases can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:sql/managedDatabase:ManagedDatabase example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/managedInstances/myserver/databases/mydatabase ```

func GetManagedDatabase

func GetManagedDatabase(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ManagedDatabaseState, opts ...pulumi.ResourceOption) (*ManagedDatabase, error)

GetManagedDatabase gets an existing ManagedDatabase 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 NewManagedDatabase

func NewManagedDatabase(ctx *pulumi.Context,
	name string, args *ManagedDatabaseArgs, opts ...pulumi.ResourceOption) (*ManagedDatabase, error)

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

func (*ManagedDatabase) ElementType

func (*ManagedDatabase) ElementType() reflect.Type

func (*ManagedDatabase) ToManagedDatabaseOutput

func (i *ManagedDatabase) ToManagedDatabaseOutput() ManagedDatabaseOutput

func (*ManagedDatabase) ToManagedDatabaseOutputWithContext

func (i *ManagedDatabase) ToManagedDatabaseOutputWithContext(ctx context.Context) ManagedDatabaseOutput

type ManagedDatabaseArgs

type ManagedDatabaseArgs struct {
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the SQL Managed Database. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The SQL Managed Instance ID that this Managed Database will be associated with. Changing this forces a new resource to be created.
	SqlManagedInstanceId pulumi.StringInput
}

The set of arguments for constructing a ManagedDatabase resource.

func (ManagedDatabaseArgs) ElementType

func (ManagedDatabaseArgs) ElementType() reflect.Type

type ManagedDatabaseArray

type ManagedDatabaseArray []ManagedDatabaseInput

func (ManagedDatabaseArray) ElementType

func (ManagedDatabaseArray) ElementType() reflect.Type

func (ManagedDatabaseArray) ToManagedDatabaseArrayOutput

func (i ManagedDatabaseArray) ToManagedDatabaseArrayOutput() ManagedDatabaseArrayOutput

func (ManagedDatabaseArray) ToManagedDatabaseArrayOutputWithContext

func (i ManagedDatabaseArray) ToManagedDatabaseArrayOutputWithContext(ctx context.Context) ManagedDatabaseArrayOutput

type ManagedDatabaseArrayInput

type ManagedDatabaseArrayInput interface {
	pulumi.Input

	ToManagedDatabaseArrayOutput() ManagedDatabaseArrayOutput
	ToManagedDatabaseArrayOutputWithContext(context.Context) ManagedDatabaseArrayOutput
}

ManagedDatabaseArrayInput is an input type that accepts ManagedDatabaseArray and ManagedDatabaseArrayOutput values. You can construct a concrete instance of `ManagedDatabaseArrayInput` via:

ManagedDatabaseArray{ ManagedDatabaseArgs{...} }

type ManagedDatabaseArrayOutput

type ManagedDatabaseArrayOutput struct{ *pulumi.OutputState }

func (ManagedDatabaseArrayOutput) ElementType

func (ManagedDatabaseArrayOutput) ElementType() reflect.Type

func (ManagedDatabaseArrayOutput) Index

func (ManagedDatabaseArrayOutput) ToManagedDatabaseArrayOutput

func (o ManagedDatabaseArrayOutput) ToManagedDatabaseArrayOutput() ManagedDatabaseArrayOutput

func (ManagedDatabaseArrayOutput) ToManagedDatabaseArrayOutputWithContext

func (o ManagedDatabaseArrayOutput) ToManagedDatabaseArrayOutputWithContext(ctx context.Context) ManagedDatabaseArrayOutput

type ManagedDatabaseInput

type ManagedDatabaseInput interface {
	pulumi.Input

	ToManagedDatabaseOutput() ManagedDatabaseOutput
	ToManagedDatabaseOutputWithContext(ctx context.Context) ManagedDatabaseOutput
}

type ManagedDatabaseMap

type ManagedDatabaseMap map[string]ManagedDatabaseInput

func (ManagedDatabaseMap) ElementType

func (ManagedDatabaseMap) ElementType() reflect.Type

func (ManagedDatabaseMap) ToManagedDatabaseMapOutput

func (i ManagedDatabaseMap) ToManagedDatabaseMapOutput() ManagedDatabaseMapOutput

func (ManagedDatabaseMap) ToManagedDatabaseMapOutputWithContext

func (i ManagedDatabaseMap) ToManagedDatabaseMapOutputWithContext(ctx context.Context) ManagedDatabaseMapOutput

type ManagedDatabaseMapInput

type ManagedDatabaseMapInput interface {
	pulumi.Input

	ToManagedDatabaseMapOutput() ManagedDatabaseMapOutput
	ToManagedDatabaseMapOutputWithContext(context.Context) ManagedDatabaseMapOutput
}

ManagedDatabaseMapInput is an input type that accepts ManagedDatabaseMap and ManagedDatabaseMapOutput values. You can construct a concrete instance of `ManagedDatabaseMapInput` via:

ManagedDatabaseMap{ "key": ManagedDatabaseArgs{...} }

type ManagedDatabaseMapOutput

type ManagedDatabaseMapOutput struct{ *pulumi.OutputState }

func (ManagedDatabaseMapOutput) ElementType

func (ManagedDatabaseMapOutput) ElementType() reflect.Type

func (ManagedDatabaseMapOutput) MapIndex

func (ManagedDatabaseMapOutput) ToManagedDatabaseMapOutput

func (o ManagedDatabaseMapOutput) ToManagedDatabaseMapOutput() ManagedDatabaseMapOutput

func (ManagedDatabaseMapOutput) ToManagedDatabaseMapOutputWithContext

func (o ManagedDatabaseMapOutput) ToManagedDatabaseMapOutputWithContext(ctx context.Context) ManagedDatabaseMapOutput

type ManagedDatabaseOutput

type ManagedDatabaseOutput struct{ *pulumi.OutputState }

func (ManagedDatabaseOutput) ElementType

func (ManagedDatabaseOutput) ElementType() reflect.Type

func (ManagedDatabaseOutput) Location added in v5.5.0

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

func (ManagedDatabaseOutput) Name added in v5.5.0

The name of the SQL Managed Database. Changing this forces a new resource to be created.

func (ManagedDatabaseOutput) SqlManagedInstanceId added in v5.5.0

func (o ManagedDatabaseOutput) SqlManagedInstanceId() pulumi.StringOutput

The SQL Managed Instance ID that this Managed Database will be associated with. Changing this forces a new resource to be created.

func (ManagedDatabaseOutput) ToManagedDatabaseOutput

func (o ManagedDatabaseOutput) ToManagedDatabaseOutput() ManagedDatabaseOutput

func (ManagedDatabaseOutput) ToManagedDatabaseOutputWithContext

func (o ManagedDatabaseOutput) ToManagedDatabaseOutputWithContext(ctx context.Context) ManagedDatabaseOutput

type ManagedDatabaseState

type ManagedDatabaseState struct {
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the SQL Managed Database. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The SQL Managed Instance ID that this Managed Database will be associated with. Changing this forces a new resource to be created.
	SqlManagedInstanceId pulumi.StringPtrInput
}

func (ManagedDatabaseState) ElementType

func (ManagedDatabaseState) ElementType() reflect.Type

type ManagedInstance

type ManagedInstance struct {
	pulumi.CustomResourceState

	// The administrator login name for the new server. Changing this forces a new resource to be created.
	AdministratorLogin pulumi.StringOutput `pulumi:"administratorLogin"`
	// The password associated with the `administratorLogin` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)
	AdministratorLoginPassword pulumi.StringOutput `pulumi:"administratorLoginPassword"`
	// Specifies how the SQL Managed Instance will be collated. Default value is `SQL_Latin1_General_CP1_CI_AS`. Changing this forces a new resource to be created.
	Collation pulumi.StringPtrOutput `pulumi:"collation"`
	// The ID of the Managed Instance which will share the DNS zone. This is a prerequisite for creating a `sql.ManagedInstanceFailoverGroup`. Setting this after creation forces a new resource to be created.
	DnsZonePartnerId pulumi.StringPtrOutput `pulumi:"dnsZonePartnerId"`
	// The fully qualified domain name of the Azure Managed SQL Instance
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// An `identity` block as defined below.
	Identity ManagedInstanceIdentityPtrOutput `pulumi:"identity"`
	// What type of license the Managed Instance will use. Valid values include can be `LicenseIncluded` or `BasePrice`.
	LicenseType pulumi.StringOutput `pulumi:"licenseType"`
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The Minimum TLS Version. Default value is `1.2` Valid values include `1.0`, `1.1`, `1.2`.
	MinimumTlsVersion pulumi.StringPtrOutput `pulumi:"minimumTlsVersion"`
	// The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies how the SQL Managed Instance will be accessed. Default value is `Default`. Valid values include `Default`, `Proxy`, and `Redirect`.
	ProxyOverride pulumi.StringPtrOutput `pulumi:"proxyOverride"`
	// Is the public data endpoint enabled? Default value is `false`.
	PublicDataEndpointEnabled pulumi.BoolPtrOutput `pulumi:"publicDataEndpointEnabled"`
	// The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the SKU Name for the SQL Managed Instance. Valid values include `GP_Gen4`, `GP_Gen5`, `BC_Gen4`, `BC_Gen5`.
	SkuName pulumi.StringOutput `pulumi:"skuName"`
	// Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are `GRS`, `LRS` and `ZRS`. Defaults to `GRS`.
	StorageAccountType pulumi.StringPtrOutput `pulumi:"storageAccountType"`
	// Maximum storage space for your instance. It should be a multiple of 32GB.
	StorageSizeInGb pulumi.IntOutput `pulumi:"storageSizeInGb"`
	// The subnet resource id that the SQL Managed Instance will be associated with. Changing this forces a new resource to be created.
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The TimeZone ID that the SQL Managed Instance will be operating in. Default value is `UTC`. Changing this forces a new resource to be created.
	TimezoneId pulumi.StringPtrOutput `pulumi:"timezoneId"`
	// Number of cores that should be assigned to your instance. Values can be `8`, `16`, or `24` if `skuName` is `GP_Gen4`, or `8`, `16`, `24`, `32`, or `40` if `skuName` is `GP_Gen5`.
	Vcores pulumi.IntOutput `pulumi:"vcores"`
}

Manages a SQL Azure Managed Instance.

> **Note:** The `sql.ManagedInstance` resource is deprecated in version 3.0 of the AzureRM provider and will be removed in version 4.0. Please use the `mssql.ManagedInstance` resource instead.

> **Note:** All arguments including the administrator login and password will be stored in the raw state as plain-text. Read more about sensitive data in state.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("database-rg"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, "example", &network.NetworkSecurityGroupArgs{
			Name:              pulumi.String("mi-security-group"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allow_management_inbound", &network.NetworkSecurityRuleArgs{
			Name:            pulumi.String("allow_management_inbound"),
			Priority:        pulumi.Int(106),
			Direction:       pulumi.String("Inbound"),
			Access:          pulumi.String("Allow"),
			Protocol:        pulumi.String("Tcp"),
			SourcePortRange: pulumi.String("*"),
			DestinationPortRanges: pulumi.StringArray{
				pulumi.String("9000"),
				pulumi.String("9003"),
				pulumi.String("1438"),
				pulumi.String("1440"),
				pulumi.String("1452"),
			},
			SourceAddressPrefix:      pulumi.String("*"),
			DestinationAddressPrefix: pulumi.String("*"),
			ResourceGroupName:        example.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allow_misubnet_inbound", &network.NetworkSecurityRuleArgs{
			Name:                     pulumi.String("allow_misubnet_inbound"),
			Priority:                 pulumi.Int(200),
			Direction:                pulumi.String("Inbound"),
			Access:                   pulumi.String("Allow"),
			Protocol:                 pulumi.String("*"),
			SourcePortRange:          pulumi.String("*"),
			DestinationPortRange:     pulumi.String("*"),
			SourceAddressPrefix:      pulumi.String("10.0.0.0/24"),
			DestinationAddressPrefix: pulumi.String("*"),
			ResourceGroupName:        example.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allow_health_probe_inbound", &network.NetworkSecurityRuleArgs{
			Name:                     pulumi.String("allow_health_probe_inbound"),
			Priority:                 pulumi.Int(300),
			Direction:                pulumi.String("Inbound"),
			Access:                   pulumi.String("Allow"),
			Protocol:                 pulumi.String("*"),
			SourcePortRange:          pulumi.String("*"),
			DestinationPortRange:     pulumi.String("*"),
			SourceAddressPrefix:      pulumi.String("AzureLoadBalancer"),
			DestinationAddressPrefix: pulumi.String("*"),
			ResourceGroupName:        example.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allow_tds_inbound", &network.NetworkSecurityRuleArgs{
			Name:                     pulumi.String("allow_tds_inbound"),
			Priority:                 pulumi.Int(1000),
			Direction:                pulumi.String("Inbound"),
			Access:                   pulumi.String("Allow"),
			Protocol:                 pulumi.String("Tcp"),
			SourcePortRange:          pulumi.String("*"),
			DestinationPortRange:     pulumi.String("1433"),
			SourceAddressPrefix:      pulumi.String("VirtualNetwork"),
			DestinationAddressPrefix: pulumi.String("*"),
			ResourceGroupName:        example.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "deny_all_inbound", &network.NetworkSecurityRuleArgs{
			Name:                     pulumi.String("deny_all_inbound"),
			Priority:                 pulumi.Int(4096),
			Direction:                pulumi.String("Inbound"),
			Access:                   pulumi.String("Deny"),
			Protocol:                 pulumi.String("*"),
			SourcePortRange:          pulumi.String("*"),
			DestinationPortRange:     pulumi.String("*"),
			SourceAddressPrefix:      pulumi.String("*"),
			DestinationAddressPrefix: pulumi.String("*"),
			ResourceGroupName:        example.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allow_management_outbound", &network.NetworkSecurityRuleArgs{
			Name:            pulumi.String("allow_management_outbound"),
			Priority:        pulumi.Int(102),
			Direction:       pulumi.String("Outbound"),
			Access:          pulumi.String("Allow"),
			Protocol:        pulumi.String("Tcp"),
			SourcePortRange: pulumi.String("*"),
			DestinationPortRanges: pulumi.StringArray{
				pulumi.String("80"),
				pulumi.String("443"),
				pulumi.String("12000"),
			},
			SourceAddressPrefix:      pulumi.String("*"),
			DestinationAddressPrefix: pulumi.String("*"),
			ResourceGroupName:        example.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allow_misubnet_outbound", &network.NetworkSecurityRuleArgs{
			Name:                     pulumi.String("allow_misubnet_outbound"),
			Priority:                 pulumi.Int(200),
			Direction:                pulumi.String("Outbound"),
			Access:                   pulumi.String("Allow"),
			Protocol:                 pulumi.String("*"),
			SourcePortRange:          pulumi.String("*"),
			DestinationPortRange:     pulumi.String("*"),
			SourceAddressPrefix:      pulumi.String("10.0.0.0/24"),
			DestinationAddressPrefix: pulumi.String("*"),
			ResourceGroupName:        example.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "deny_all_outbound", &network.NetworkSecurityRuleArgs{
			Name:                     pulumi.String("deny_all_outbound"),
			Priority:                 pulumi.Int(4096),
			Direction:                pulumi.String("Outbound"),
			Access:                   pulumi.String("Deny"),
			Protocol:                 pulumi.String("*"),
			SourcePortRange:          pulumi.String("*"),
			DestinationPortRange:     pulumi.String("*"),
			SourceAddressPrefix:      pulumi.String("*"),
			DestinationAddressPrefix: pulumi.String("*"),
			ResourceGroupName:        example.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name:              pulumi.String("vnet-mi"),
			ResourceGroupName: example.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
			Location: example.Location,
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("subnet-mi"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.0.0/24"),
			},
			Delegations: network.SubnetDelegationArray{
				&network.SubnetDelegationArgs{
					Name: pulumi.String("managedinstancedelegation"),
					ServiceDelegation: &network.SubnetDelegationServiceDelegationArgs{
						Name: pulumi.String("Microsoft.Sql/managedInstances"),
						Actions: pulumi.StringArray{
							pulumi.String("Microsoft.Network/virtualNetworks/subnets/join/action"),
							pulumi.String("Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action"),
							pulumi.String("Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = network.NewSubnetNetworkSecurityGroupAssociation(ctx, "example", &network.SubnetNetworkSecurityGroupAssociationArgs{
			SubnetId:               exampleSubnet.ID(),
			NetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),
		})
		if err != nil {
			return err
		}
		exampleRouteTable, err := network.NewRouteTable(ctx, "example", &network.RouteTableArgs{
			Name:                       pulumi.String("routetable-mi"),
			Location:                   example.Location,
			ResourceGroupName:          example.Name,
			DisableBgpRoutePropagation: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = network.NewSubnetRouteTableAssociation(ctx, "example", &network.SubnetRouteTableAssociationArgs{
			SubnetId:     exampleSubnet.ID(),
			RouteTableId: exampleRouteTable.ID(),
		})
		if err != nil {
			return err
		}
		_, err = sql.NewManagedInstance(ctx, "example", &sql.ManagedInstanceArgs{
			Name:                       pulumi.String("managedsqlinstance"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			AdministratorLogin:         pulumi.String("mradministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsDog11"),
			LicenseType:                pulumi.String("BasePrice"),
			SubnetId:                   exampleSubnet.ID(),
			SkuName:                    pulumi.String("GP_Gen5"),
			Vcores:                     pulumi.Int(4),
			StorageSizeInGb:            pulumi.Int(32),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SQL Servers can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:sql/managedInstance:ManagedInstance example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/managedInstances/myserver ```

func GetManagedInstance

func GetManagedInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ManagedInstanceState, opts ...pulumi.ResourceOption) (*ManagedInstance, error)

GetManagedInstance gets an existing ManagedInstance 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 NewManagedInstance

func NewManagedInstance(ctx *pulumi.Context,
	name string, args *ManagedInstanceArgs, opts ...pulumi.ResourceOption) (*ManagedInstance, error)

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

func (*ManagedInstance) ElementType

func (*ManagedInstance) ElementType() reflect.Type

func (*ManagedInstance) ToManagedInstanceOutput

func (i *ManagedInstance) ToManagedInstanceOutput() ManagedInstanceOutput

func (*ManagedInstance) ToManagedInstanceOutputWithContext

func (i *ManagedInstance) ToManagedInstanceOutputWithContext(ctx context.Context) ManagedInstanceOutput

type ManagedInstanceActiveDirectoryAdministrator

type ManagedInstanceActiveDirectoryAdministrator struct {
	pulumi.CustomResourceState

	// Specifies whether only AD Users and administrators can be used to login (`true`) or also local database users (`false`). Defaults to `false`.
	AzureadAuthenticationOnly pulumi.BoolPtrOutput `pulumi:"azureadAuthenticationOnly"`
	// The login name of the principal to set as the Managed Instance administrator
	Login pulumi.StringOutput `pulumi:"login"`
	// The name of the SQL Managed Instance on which to set the administrator. Changing this forces a new resource to be created.
	ManagedInstanceName pulumi.StringOutput `pulumi:"managedInstanceName"`
	// The ID of the principal to set as the Managed Instance administrator
	ObjectId pulumi.StringOutput `pulumi:"objectId"`
	// The name of the resource group for the SQL Managed Instance. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The Azure Tenant ID
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

Allows you to set a user or group as the AD administrator for an Azure SQL Managed Instance.

> **Note:** The `sql.ManagedInstanceActiveDirectoryAdministrator` resource is deprecated in version 3.0 of the AzureRM provider and will be removed in version 4.0. Please use the `mssql.ManagedInstanceActiveDirectoryAdministrator` resource instead.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("rg-example"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleManagedInstance, err := sql.NewManagedInstance(ctx, "example", &sql.ManagedInstanceArgs{
			Name:                       pulumi.String("managedsqlinstance"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			AdministratorLogin:         pulumi.String("mradministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsDog11"),
			LicenseType:                pulumi.String("BasePrice"),
			SubnetId:                   pulumi.Any(exampleAzurermSubnet.Id),
			SkuName:                    pulumi.String("GP_Gen5"),
			Vcores:                     pulumi.Int(4),
			StorageSizeInGb:            pulumi.Int(32),
		})
		if err != nil {
			return err
		}
		current, err := core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = sql.NewManagedInstanceActiveDirectoryAdministrator(ctx, "example", &sql.ManagedInstanceActiveDirectoryAdministratorArgs{
			ManagedInstanceName: exampleManagedInstance.Name,
			ResourceGroupName:   example.Name,
			Login:               pulumi.String("sqladmin"),
			TenantId:            pulumi.String(current.TenantId),
			ObjectId:            pulumi.String(current.ObjectId),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

A SQL Active Directory Administrator can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:sql/managedInstanceActiveDirectoryAdministrator:ManagedInstanceActiveDirectoryAdministrator administrator /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/managedInstances/mymanagedinstance/administrators/activeDirectory ```

func GetManagedInstanceActiveDirectoryAdministrator

func GetManagedInstanceActiveDirectoryAdministrator(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ManagedInstanceActiveDirectoryAdministratorState, opts ...pulumi.ResourceOption) (*ManagedInstanceActiveDirectoryAdministrator, error)

GetManagedInstanceActiveDirectoryAdministrator gets an existing ManagedInstanceActiveDirectoryAdministrator 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 NewManagedInstanceActiveDirectoryAdministrator

func NewManagedInstanceActiveDirectoryAdministrator(ctx *pulumi.Context,
	name string, args *ManagedInstanceActiveDirectoryAdministratorArgs, opts ...pulumi.ResourceOption) (*ManagedInstanceActiveDirectoryAdministrator, error)

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

func (*ManagedInstanceActiveDirectoryAdministrator) ElementType

func (*ManagedInstanceActiveDirectoryAdministrator) ToManagedInstanceActiveDirectoryAdministratorOutput

func (i *ManagedInstanceActiveDirectoryAdministrator) ToManagedInstanceActiveDirectoryAdministratorOutput() ManagedInstanceActiveDirectoryAdministratorOutput

func (*ManagedInstanceActiveDirectoryAdministrator) ToManagedInstanceActiveDirectoryAdministratorOutputWithContext

func (i *ManagedInstanceActiveDirectoryAdministrator) ToManagedInstanceActiveDirectoryAdministratorOutputWithContext(ctx context.Context) ManagedInstanceActiveDirectoryAdministratorOutput

type ManagedInstanceActiveDirectoryAdministratorArgs

type ManagedInstanceActiveDirectoryAdministratorArgs struct {
	// Specifies whether only AD Users and administrators can be used to login (`true`) or also local database users (`false`). Defaults to `false`.
	AzureadAuthenticationOnly pulumi.BoolPtrInput
	// The login name of the principal to set as the Managed Instance administrator
	Login pulumi.StringInput
	// The name of the SQL Managed Instance on which to set the administrator. Changing this forces a new resource to be created.
	ManagedInstanceName pulumi.StringInput
	// The ID of the principal to set as the Managed Instance administrator
	ObjectId pulumi.StringInput
	// The name of the resource group for the SQL Managed Instance. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The Azure Tenant ID
	TenantId pulumi.StringInput
}

The set of arguments for constructing a ManagedInstanceActiveDirectoryAdministrator resource.

func (ManagedInstanceActiveDirectoryAdministratorArgs) ElementType

type ManagedInstanceActiveDirectoryAdministratorArray

type ManagedInstanceActiveDirectoryAdministratorArray []ManagedInstanceActiveDirectoryAdministratorInput

func (ManagedInstanceActiveDirectoryAdministratorArray) ElementType

func (ManagedInstanceActiveDirectoryAdministratorArray) ToManagedInstanceActiveDirectoryAdministratorArrayOutput

func (i ManagedInstanceActiveDirectoryAdministratorArray) ToManagedInstanceActiveDirectoryAdministratorArrayOutput() ManagedInstanceActiveDirectoryAdministratorArrayOutput

func (ManagedInstanceActiveDirectoryAdministratorArray) ToManagedInstanceActiveDirectoryAdministratorArrayOutputWithContext

func (i ManagedInstanceActiveDirectoryAdministratorArray) ToManagedInstanceActiveDirectoryAdministratorArrayOutputWithContext(ctx context.Context) ManagedInstanceActiveDirectoryAdministratorArrayOutput

type ManagedInstanceActiveDirectoryAdministratorArrayInput

type ManagedInstanceActiveDirectoryAdministratorArrayInput interface {
	pulumi.Input

	ToManagedInstanceActiveDirectoryAdministratorArrayOutput() ManagedInstanceActiveDirectoryAdministratorArrayOutput
	ToManagedInstanceActiveDirectoryAdministratorArrayOutputWithContext(context.Context) ManagedInstanceActiveDirectoryAdministratorArrayOutput
}

ManagedInstanceActiveDirectoryAdministratorArrayInput is an input type that accepts ManagedInstanceActiveDirectoryAdministratorArray and ManagedInstanceActiveDirectoryAdministratorArrayOutput values. You can construct a concrete instance of `ManagedInstanceActiveDirectoryAdministratorArrayInput` via:

ManagedInstanceActiveDirectoryAdministratorArray{ ManagedInstanceActiveDirectoryAdministratorArgs{...} }

type ManagedInstanceActiveDirectoryAdministratorArrayOutput

type ManagedInstanceActiveDirectoryAdministratorArrayOutput struct{ *pulumi.OutputState }

func (ManagedInstanceActiveDirectoryAdministratorArrayOutput) ElementType

func (ManagedInstanceActiveDirectoryAdministratorArrayOutput) Index

func (ManagedInstanceActiveDirectoryAdministratorArrayOutput) ToManagedInstanceActiveDirectoryAdministratorArrayOutput

func (ManagedInstanceActiveDirectoryAdministratorArrayOutput) ToManagedInstanceActiveDirectoryAdministratorArrayOutputWithContext

func (o ManagedInstanceActiveDirectoryAdministratorArrayOutput) ToManagedInstanceActiveDirectoryAdministratorArrayOutputWithContext(ctx context.Context) ManagedInstanceActiveDirectoryAdministratorArrayOutput

type ManagedInstanceActiveDirectoryAdministratorInput

type ManagedInstanceActiveDirectoryAdministratorInput interface {
	pulumi.Input

	ToManagedInstanceActiveDirectoryAdministratorOutput() ManagedInstanceActiveDirectoryAdministratorOutput
	ToManagedInstanceActiveDirectoryAdministratorOutputWithContext(ctx context.Context) ManagedInstanceActiveDirectoryAdministratorOutput
}

type ManagedInstanceActiveDirectoryAdministratorMap

type ManagedInstanceActiveDirectoryAdministratorMap map[string]ManagedInstanceActiveDirectoryAdministratorInput

func (ManagedInstanceActiveDirectoryAdministratorMap) ElementType

func (ManagedInstanceActiveDirectoryAdministratorMap) ToManagedInstanceActiveDirectoryAdministratorMapOutput

func (i ManagedInstanceActiveDirectoryAdministratorMap) ToManagedInstanceActiveDirectoryAdministratorMapOutput() ManagedInstanceActiveDirectoryAdministratorMapOutput

func (ManagedInstanceActiveDirectoryAdministratorMap) ToManagedInstanceActiveDirectoryAdministratorMapOutputWithContext

func (i ManagedInstanceActiveDirectoryAdministratorMap) ToManagedInstanceActiveDirectoryAdministratorMapOutputWithContext(ctx context.Context) ManagedInstanceActiveDirectoryAdministratorMapOutput

type ManagedInstanceActiveDirectoryAdministratorMapInput

type ManagedInstanceActiveDirectoryAdministratorMapInput interface {
	pulumi.Input

	ToManagedInstanceActiveDirectoryAdministratorMapOutput() ManagedInstanceActiveDirectoryAdministratorMapOutput
	ToManagedInstanceActiveDirectoryAdministratorMapOutputWithContext(context.Context) ManagedInstanceActiveDirectoryAdministratorMapOutput
}

ManagedInstanceActiveDirectoryAdministratorMapInput is an input type that accepts ManagedInstanceActiveDirectoryAdministratorMap and ManagedInstanceActiveDirectoryAdministratorMapOutput values. You can construct a concrete instance of `ManagedInstanceActiveDirectoryAdministratorMapInput` via:

ManagedInstanceActiveDirectoryAdministratorMap{ "key": ManagedInstanceActiveDirectoryAdministratorArgs{...} }

type ManagedInstanceActiveDirectoryAdministratorMapOutput

type ManagedInstanceActiveDirectoryAdministratorMapOutput struct{ *pulumi.OutputState }

func (ManagedInstanceActiveDirectoryAdministratorMapOutput) ElementType

func (ManagedInstanceActiveDirectoryAdministratorMapOutput) MapIndex

func (ManagedInstanceActiveDirectoryAdministratorMapOutput) ToManagedInstanceActiveDirectoryAdministratorMapOutput

func (ManagedInstanceActiveDirectoryAdministratorMapOutput) ToManagedInstanceActiveDirectoryAdministratorMapOutputWithContext

func (o ManagedInstanceActiveDirectoryAdministratorMapOutput) ToManagedInstanceActiveDirectoryAdministratorMapOutputWithContext(ctx context.Context) ManagedInstanceActiveDirectoryAdministratorMapOutput

type ManagedInstanceActiveDirectoryAdministratorOutput

type ManagedInstanceActiveDirectoryAdministratorOutput struct{ *pulumi.OutputState }

func (ManagedInstanceActiveDirectoryAdministratorOutput) AzureadAuthenticationOnly added in v5.5.0

Specifies whether only AD Users and administrators can be used to login (`true`) or also local database users (`false`). Defaults to `false`.

func (ManagedInstanceActiveDirectoryAdministratorOutput) ElementType

func (ManagedInstanceActiveDirectoryAdministratorOutput) Login added in v5.5.0

The login name of the principal to set as the Managed Instance administrator

func (ManagedInstanceActiveDirectoryAdministratorOutput) ManagedInstanceName added in v5.5.0

The name of the SQL Managed Instance on which to set the administrator. Changing this forces a new resource to be created.

func (ManagedInstanceActiveDirectoryAdministratorOutput) ObjectId added in v5.5.0

The ID of the principal to set as the Managed Instance administrator

func (ManagedInstanceActiveDirectoryAdministratorOutput) ResourceGroupName added in v5.5.0

The name of the resource group for the SQL Managed Instance. Changing this forces a new resource to be created.

func (ManagedInstanceActiveDirectoryAdministratorOutput) TenantId added in v5.5.0

The Azure Tenant ID

func (ManagedInstanceActiveDirectoryAdministratorOutput) ToManagedInstanceActiveDirectoryAdministratorOutput

func (o ManagedInstanceActiveDirectoryAdministratorOutput) ToManagedInstanceActiveDirectoryAdministratorOutput() ManagedInstanceActiveDirectoryAdministratorOutput

func (ManagedInstanceActiveDirectoryAdministratorOutput) ToManagedInstanceActiveDirectoryAdministratorOutputWithContext

func (o ManagedInstanceActiveDirectoryAdministratorOutput) ToManagedInstanceActiveDirectoryAdministratorOutputWithContext(ctx context.Context) ManagedInstanceActiveDirectoryAdministratorOutput

type ManagedInstanceActiveDirectoryAdministratorState

type ManagedInstanceActiveDirectoryAdministratorState struct {
	// Specifies whether only AD Users and administrators can be used to login (`true`) or also local database users (`false`). Defaults to `false`.
	AzureadAuthenticationOnly pulumi.BoolPtrInput
	// The login name of the principal to set as the Managed Instance administrator
	Login pulumi.StringPtrInput
	// The name of the SQL Managed Instance on which to set the administrator. Changing this forces a new resource to be created.
	ManagedInstanceName pulumi.StringPtrInput
	// The ID of the principal to set as the Managed Instance administrator
	ObjectId pulumi.StringPtrInput
	// The name of the resource group for the SQL Managed Instance. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The Azure Tenant ID
	TenantId pulumi.StringPtrInput
}

func (ManagedInstanceActiveDirectoryAdministratorState) ElementType

type ManagedInstanceArgs

type ManagedInstanceArgs struct {
	// The administrator login name for the new server. Changing this forces a new resource to be created.
	AdministratorLogin pulumi.StringInput
	// The password associated with the `administratorLogin` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)
	AdministratorLoginPassword pulumi.StringInput
	// Specifies how the SQL Managed Instance will be collated. Default value is `SQL_Latin1_General_CP1_CI_AS`. Changing this forces a new resource to be created.
	Collation pulumi.StringPtrInput
	// The ID of the Managed Instance which will share the DNS zone. This is a prerequisite for creating a `sql.ManagedInstanceFailoverGroup`. Setting this after creation forces a new resource to be created.
	DnsZonePartnerId pulumi.StringPtrInput
	// An `identity` block as defined below.
	Identity ManagedInstanceIdentityPtrInput
	// What type of license the Managed Instance will use. Valid values include can be `LicenseIncluded` or `BasePrice`.
	LicenseType pulumi.StringInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The Minimum TLS Version. Default value is `1.2` Valid values include `1.0`, `1.1`, `1.2`.
	MinimumTlsVersion pulumi.StringPtrInput
	// The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies how the SQL Managed Instance will be accessed. Default value is `Default`. Valid values include `Default`, `Proxy`, and `Redirect`.
	ProxyOverride pulumi.StringPtrInput
	// Is the public data endpoint enabled? Default value is `false`.
	PublicDataEndpointEnabled pulumi.BoolPtrInput
	// The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Specifies the SKU Name for the SQL Managed Instance. Valid values include `GP_Gen4`, `GP_Gen5`, `BC_Gen4`, `BC_Gen5`.
	SkuName pulumi.StringInput
	// Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are `GRS`, `LRS` and `ZRS`. Defaults to `GRS`.
	StorageAccountType pulumi.StringPtrInput
	// Maximum storage space for your instance. It should be a multiple of 32GB.
	StorageSizeInGb pulumi.IntInput
	// The subnet resource id that the SQL Managed Instance will be associated with. Changing this forces a new resource to be created.
	SubnetId pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The TimeZone ID that the SQL Managed Instance will be operating in. Default value is `UTC`. Changing this forces a new resource to be created.
	TimezoneId pulumi.StringPtrInput
	// Number of cores that should be assigned to your instance. Values can be `8`, `16`, or `24` if `skuName` is `GP_Gen4`, or `8`, `16`, `24`, `32`, or `40` if `skuName` is `GP_Gen5`.
	Vcores pulumi.IntInput
}

The set of arguments for constructing a ManagedInstance resource.

func (ManagedInstanceArgs) ElementType

func (ManagedInstanceArgs) ElementType() reflect.Type

type ManagedInstanceArray

type ManagedInstanceArray []ManagedInstanceInput

func (ManagedInstanceArray) ElementType

func (ManagedInstanceArray) ElementType() reflect.Type

func (ManagedInstanceArray) ToManagedInstanceArrayOutput

func (i ManagedInstanceArray) ToManagedInstanceArrayOutput() ManagedInstanceArrayOutput

func (ManagedInstanceArray) ToManagedInstanceArrayOutputWithContext

func (i ManagedInstanceArray) ToManagedInstanceArrayOutputWithContext(ctx context.Context) ManagedInstanceArrayOutput

type ManagedInstanceArrayInput

type ManagedInstanceArrayInput interface {
	pulumi.Input

	ToManagedInstanceArrayOutput() ManagedInstanceArrayOutput
	ToManagedInstanceArrayOutputWithContext(context.Context) ManagedInstanceArrayOutput
}

ManagedInstanceArrayInput is an input type that accepts ManagedInstanceArray and ManagedInstanceArrayOutput values. You can construct a concrete instance of `ManagedInstanceArrayInput` via:

ManagedInstanceArray{ ManagedInstanceArgs{...} }

type ManagedInstanceArrayOutput

type ManagedInstanceArrayOutput struct{ *pulumi.OutputState }

func (ManagedInstanceArrayOutput) ElementType

func (ManagedInstanceArrayOutput) ElementType() reflect.Type

func (ManagedInstanceArrayOutput) Index

func (ManagedInstanceArrayOutput) ToManagedInstanceArrayOutput

func (o ManagedInstanceArrayOutput) ToManagedInstanceArrayOutput() ManagedInstanceArrayOutput

func (ManagedInstanceArrayOutput) ToManagedInstanceArrayOutputWithContext

func (o ManagedInstanceArrayOutput) ToManagedInstanceArrayOutputWithContext(ctx context.Context) ManagedInstanceArrayOutput

type ManagedInstanceFailoverGroup

type ManagedInstanceFailoverGroup struct {
	pulumi.CustomResourceState

	// The Azure Region where the SQL Instance Failover Group exists. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the SQL Managed Instance which will be replicated using a SQL Instance Failover Group. Changing this forces a new SQL Instance Failover Group to be created.
	ManagedInstanceName pulumi.StringOutput `pulumi:"managedInstanceName"`
	// The name which should be used for this SQL Instance Failover Group. Changing this forces a new SQL Instance Failover Group to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// ID of the SQL Managed Instance which will be replicated to. Changing this forces a new resource to be created.
	PartnerManagedInstanceId pulumi.StringOutput `pulumi:"partnerManagedInstanceId"`
	// A `partnerRegion` block as defined below.
	PartnerRegions ManagedInstanceFailoverGroupPartnerRegionArrayOutput `pulumi:"partnerRegions"`
	// A `readWriteEndpointFailoverPolicy` block as defined below.
	ReadWriteEndpointFailoverPolicy ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput `pulumi:"readWriteEndpointFailoverPolicy"`
	// Failover policy for the read-only endpoint. Defaults to `true`.
	ReadonlyEndpointFailoverPolicyEnabled pulumi.BoolPtrOutput `pulumi:"readonlyEndpointFailoverPolicyEnabled"`
	// The name of the Resource Group where the SQL Instance Failover Group should exist. Changing this forces a new SQL Instance Failover Group to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The partner replication role of the SQL Instance Failover Group.
	Role pulumi.StringOutput `pulumi:"role"`
}

Manages a SQL Instance Failover Group.

## Example Usage

> **Note:** The `sql.ManagedInstanceFailoverGroup` resource is deprecated in version 3.0 of the AzureRM provider and will be removed in version 4.0. Please use the `mssql.ManagedInstanceFailoverGroup` resource instead.

> **Note:** For a more complete example, see the the `examples/sql-azure/managed_instance_failover_group` directory within the GitHub Repository.

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("rg-example"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		primary, err := sql.NewManagedInstance(ctx, "primary", &sql.ManagedInstanceArgs{
			Name:                       pulumi.String("example-primary"),
			ResourceGroupName:          pulumi.Any(primaryAzurermResourceGroup.Name),
			Location:                   pulumi.Any(primaryAzurermResourceGroup.Location),
			AdministratorLogin:         pulumi.String("mradministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsDog11"),
			LicenseType:                pulumi.String("BasePrice"),
			SubnetId:                   pulumi.Any(primaryAzurermSubnet.Id),
			SkuName:                    pulumi.String("GP_Gen5"),
			Vcores:                     pulumi.Int(4),
			StorageSizeInGb:            pulumi.Int(32),
			Tags: pulumi.StringMap{
				"environment": pulumi.String("prod"),
			},
		})
		if err != nil {
			return err
		}
		secondary, err := sql.NewManagedInstance(ctx, "secondary", &sql.ManagedInstanceArgs{
			Name:                       pulumi.String("example-secondary"),
			ResourceGroupName:          pulumi.Any(secondaryAzurermResourceGroup.Name),
			Location:                   pulumi.Any(secondaryAzurermResourceGroup.Location),
			AdministratorLogin:         pulumi.String("mradministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsDog11"),
			LicenseType:                pulumi.String("BasePrice"),
			SubnetId:                   pulumi.Any(secondaryAzurermSubnet.Id),
			SkuName:                    pulumi.String("GP_Gen5"),
			Vcores:                     pulumi.Int(4),
			StorageSizeInGb:            pulumi.Int(32),
			Tags: pulumi.StringMap{
				"environment": pulumi.String("prod"),
			},
		})
		if err != nil {
			return err
		}
		_, err = sql.NewManagedInstanceFailoverGroup(ctx, "example", &sql.ManagedInstanceFailoverGroupArgs{
			Name:                     pulumi.String("example-failover-group"),
			ResourceGroupName:        pulumi.Any(primaryAzurermResourceGroup.Name),
			Location:                 primary.Location,
			ManagedInstanceName:      primary.Name,
			PartnerManagedInstanceId: secondary.ID(),
			ReadWriteEndpointFailoverPolicy: &sql.ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs{
				Mode:         pulumi.String("Automatic"),
				GraceMinutes: pulumi.Int(60),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SQL Instance Failover Groups can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:sql/managedInstanceFailoverGroup:ManagedInstanceFailoverGroup example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Sql/locations/Location/instanceFailoverGroups/failoverGroup1 ```

func GetManagedInstanceFailoverGroup

func GetManagedInstanceFailoverGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ManagedInstanceFailoverGroupState, opts ...pulumi.ResourceOption) (*ManagedInstanceFailoverGroup, error)

GetManagedInstanceFailoverGroup gets an existing ManagedInstanceFailoverGroup 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 NewManagedInstanceFailoverGroup

func NewManagedInstanceFailoverGroup(ctx *pulumi.Context,
	name string, args *ManagedInstanceFailoverGroupArgs, opts ...pulumi.ResourceOption) (*ManagedInstanceFailoverGroup, error)

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

func (*ManagedInstanceFailoverGroup) ElementType

func (*ManagedInstanceFailoverGroup) ElementType() reflect.Type

func (*ManagedInstanceFailoverGroup) ToManagedInstanceFailoverGroupOutput

func (i *ManagedInstanceFailoverGroup) ToManagedInstanceFailoverGroupOutput() ManagedInstanceFailoverGroupOutput

func (*ManagedInstanceFailoverGroup) ToManagedInstanceFailoverGroupOutputWithContext

func (i *ManagedInstanceFailoverGroup) ToManagedInstanceFailoverGroupOutputWithContext(ctx context.Context) ManagedInstanceFailoverGroupOutput

type ManagedInstanceFailoverGroupArgs

type ManagedInstanceFailoverGroupArgs struct {
	// The Azure Region where the SQL Instance Failover Group exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the SQL Managed Instance which will be replicated using a SQL Instance Failover Group. Changing this forces a new SQL Instance Failover Group to be created.
	ManagedInstanceName pulumi.StringInput
	// The name which should be used for this SQL Instance Failover Group. Changing this forces a new SQL Instance Failover Group to be created.
	Name pulumi.StringPtrInput
	// ID of the SQL Managed Instance which will be replicated to. Changing this forces a new resource to be created.
	PartnerManagedInstanceId pulumi.StringInput
	// A `readWriteEndpointFailoverPolicy` block as defined below.
	ReadWriteEndpointFailoverPolicy ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyInput
	// Failover policy for the read-only endpoint. Defaults to `true`.
	ReadonlyEndpointFailoverPolicyEnabled pulumi.BoolPtrInput
	// The name of the Resource Group where the SQL Instance Failover Group should exist. Changing this forces a new SQL Instance Failover Group to be created.
	ResourceGroupName pulumi.StringInput
}

The set of arguments for constructing a ManagedInstanceFailoverGroup resource.

func (ManagedInstanceFailoverGroupArgs) ElementType

type ManagedInstanceFailoverGroupArray

type ManagedInstanceFailoverGroupArray []ManagedInstanceFailoverGroupInput

func (ManagedInstanceFailoverGroupArray) ElementType

func (ManagedInstanceFailoverGroupArray) ToManagedInstanceFailoverGroupArrayOutput

func (i ManagedInstanceFailoverGroupArray) ToManagedInstanceFailoverGroupArrayOutput() ManagedInstanceFailoverGroupArrayOutput

func (ManagedInstanceFailoverGroupArray) ToManagedInstanceFailoverGroupArrayOutputWithContext

func (i ManagedInstanceFailoverGroupArray) ToManagedInstanceFailoverGroupArrayOutputWithContext(ctx context.Context) ManagedInstanceFailoverGroupArrayOutput

type ManagedInstanceFailoverGroupArrayInput

type ManagedInstanceFailoverGroupArrayInput interface {
	pulumi.Input

	ToManagedInstanceFailoverGroupArrayOutput() ManagedInstanceFailoverGroupArrayOutput
	ToManagedInstanceFailoverGroupArrayOutputWithContext(context.Context) ManagedInstanceFailoverGroupArrayOutput
}

ManagedInstanceFailoverGroupArrayInput is an input type that accepts ManagedInstanceFailoverGroupArray and ManagedInstanceFailoverGroupArrayOutput values. You can construct a concrete instance of `ManagedInstanceFailoverGroupArrayInput` via:

ManagedInstanceFailoverGroupArray{ ManagedInstanceFailoverGroupArgs{...} }

type ManagedInstanceFailoverGroupArrayOutput

type ManagedInstanceFailoverGroupArrayOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupArrayOutput) ElementType

func (ManagedInstanceFailoverGroupArrayOutput) Index

func (ManagedInstanceFailoverGroupArrayOutput) ToManagedInstanceFailoverGroupArrayOutput

func (o ManagedInstanceFailoverGroupArrayOutput) ToManagedInstanceFailoverGroupArrayOutput() ManagedInstanceFailoverGroupArrayOutput

func (ManagedInstanceFailoverGroupArrayOutput) ToManagedInstanceFailoverGroupArrayOutputWithContext

func (o ManagedInstanceFailoverGroupArrayOutput) ToManagedInstanceFailoverGroupArrayOutputWithContext(ctx context.Context) ManagedInstanceFailoverGroupArrayOutput

type ManagedInstanceFailoverGroupInput

type ManagedInstanceFailoverGroupInput interface {
	pulumi.Input

	ToManagedInstanceFailoverGroupOutput() ManagedInstanceFailoverGroupOutput
	ToManagedInstanceFailoverGroupOutputWithContext(ctx context.Context) ManagedInstanceFailoverGroupOutput
}

type ManagedInstanceFailoverGroupMap

type ManagedInstanceFailoverGroupMap map[string]ManagedInstanceFailoverGroupInput

func (ManagedInstanceFailoverGroupMap) ElementType

func (ManagedInstanceFailoverGroupMap) ToManagedInstanceFailoverGroupMapOutput

func (i ManagedInstanceFailoverGroupMap) ToManagedInstanceFailoverGroupMapOutput() ManagedInstanceFailoverGroupMapOutput

func (ManagedInstanceFailoverGroupMap) ToManagedInstanceFailoverGroupMapOutputWithContext

func (i ManagedInstanceFailoverGroupMap) ToManagedInstanceFailoverGroupMapOutputWithContext(ctx context.Context) ManagedInstanceFailoverGroupMapOutput

type ManagedInstanceFailoverGroupMapInput

type ManagedInstanceFailoverGroupMapInput interface {
	pulumi.Input

	ToManagedInstanceFailoverGroupMapOutput() ManagedInstanceFailoverGroupMapOutput
	ToManagedInstanceFailoverGroupMapOutputWithContext(context.Context) ManagedInstanceFailoverGroupMapOutput
}

ManagedInstanceFailoverGroupMapInput is an input type that accepts ManagedInstanceFailoverGroupMap and ManagedInstanceFailoverGroupMapOutput values. You can construct a concrete instance of `ManagedInstanceFailoverGroupMapInput` via:

ManagedInstanceFailoverGroupMap{ "key": ManagedInstanceFailoverGroupArgs{...} }

type ManagedInstanceFailoverGroupMapOutput

type ManagedInstanceFailoverGroupMapOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupMapOutput) ElementType

func (ManagedInstanceFailoverGroupMapOutput) MapIndex

func (ManagedInstanceFailoverGroupMapOutput) ToManagedInstanceFailoverGroupMapOutput

func (o ManagedInstanceFailoverGroupMapOutput) ToManagedInstanceFailoverGroupMapOutput() ManagedInstanceFailoverGroupMapOutput

func (ManagedInstanceFailoverGroupMapOutput) ToManagedInstanceFailoverGroupMapOutputWithContext

func (o ManagedInstanceFailoverGroupMapOutput) ToManagedInstanceFailoverGroupMapOutputWithContext(ctx context.Context) ManagedInstanceFailoverGroupMapOutput

type ManagedInstanceFailoverGroupOutput

type ManagedInstanceFailoverGroupOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupOutput) ElementType

func (ManagedInstanceFailoverGroupOutput) Location added in v5.5.0

The Azure Region where the SQL Instance Failover Group exists. Changing this forces a new resource to be created.

func (ManagedInstanceFailoverGroupOutput) ManagedInstanceName added in v5.5.0

func (o ManagedInstanceFailoverGroupOutput) ManagedInstanceName() pulumi.StringOutput

The name of the SQL Managed Instance which will be replicated using a SQL Instance Failover Group. Changing this forces a new SQL Instance Failover Group to be created.

func (ManagedInstanceFailoverGroupOutput) Name added in v5.5.0

The name which should be used for this SQL Instance Failover Group. Changing this forces a new SQL Instance Failover Group to be created.

func (ManagedInstanceFailoverGroupOutput) PartnerManagedInstanceId added in v5.5.0

func (o ManagedInstanceFailoverGroupOutput) PartnerManagedInstanceId() pulumi.StringOutput

ID of the SQL Managed Instance which will be replicated to. Changing this forces a new resource to be created.

func (ManagedInstanceFailoverGroupOutput) PartnerRegions added in v5.5.0

A `partnerRegion` block as defined below.

func (ManagedInstanceFailoverGroupOutput) ReadWriteEndpointFailoverPolicy added in v5.5.0

A `readWriteEndpointFailoverPolicy` block as defined below.

func (ManagedInstanceFailoverGroupOutput) ReadonlyEndpointFailoverPolicyEnabled added in v5.5.0

func (o ManagedInstanceFailoverGroupOutput) ReadonlyEndpointFailoverPolicyEnabled() pulumi.BoolPtrOutput

Failover policy for the read-only endpoint. Defaults to `true`.

func (ManagedInstanceFailoverGroupOutput) ResourceGroupName added in v5.5.0

The name of the Resource Group where the SQL Instance Failover Group should exist. Changing this forces a new SQL Instance Failover Group to be created.

func (ManagedInstanceFailoverGroupOutput) Role added in v5.5.0

The partner replication role of the SQL Instance Failover Group.

func (ManagedInstanceFailoverGroupOutput) ToManagedInstanceFailoverGroupOutput

func (o ManagedInstanceFailoverGroupOutput) ToManagedInstanceFailoverGroupOutput() ManagedInstanceFailoverGroupOutput

func (ManagedInstanceFailoverGroupOutput) ToManagedInstanceFailoverGroupOutputWithContext

func (o ManagedInstanceFailoverGroupOutput) ToManagedInstanceFailoverGroupOutputWithContext(ctx context.Context) ManagedInstanceFailoverGroupOutput

type ManagedInstanceFailoverGroupPartnerRegion

type ManagedInstanceFailoverGroupPartnerRegion struct {
	// The Azure Region where the SQL Instance Failover Group exists. Changing this forces a new resource to be created.
	Location *string `pulumi:"location"`
	// The partner replication role of the SQL Instance Failover Group.
	Role *string `pulumi:"role"`
}

type ManagedInstanceFailoverGroupPartnerRegionArgs

type ManagedInstanceFailoverGroupPartnerRegionArgs struct {
	// The Azure Region where the SQL Instance Failover Group exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput `pulumi:"location"`
	// The partner replication role of the SQL Instance Failover Group.
	Role pulumi.StringPtrInput `pulumi:"role"`
}

func (ManagedInstanceFailoverGroupPartnerRegionArgs) ElementType

func (ManagedInstanceFailoverGroupPartnerRegionArgs) ToManagedInstanceFailoverGroupPartnerRegionOutput

func (i ManagedInstanceFailoverGroupPartnerRegionArgs) ToManagedInstanceFailoverGroupPartnerRegionOutput() ManagedInstanceFailoverGroupPartnerRegionOutput

func (ManagedInstanceFailoverGroupPartnerRegionArgs) ToManagedInstanceFailoverGroupPartnerRegionOutputWithContext

func (i ManagedInstanceFailoverGroupPartnerRegionArgs) ToManagedInstanceFailoverGroupPartnerRegionOutputWithContext(ctx context.Context) ManagedInstanceFailoverGroupPartnerRegionOutput

type ManagedInstanceFailoverGroupPartnerRegionArray

type ManagedInstanceFailoverGroupPartnerRegionArray []ManagedInstanceFailoverGroupPartnerRegionInput

func (ManagedInstanceFailoverGroupPartnerRegionArray) ElementType

func (ManagedInstanceFailoverGroupPartnerRegionArray) ToManagedInstanceFailoverGroupPartnerRegionArrayOutput

func (i ManagedInstanceFailoverGroupPartnerRegionArray) ToManagedInstanceFailoverGroupPartnerRegionArrayOutput() ManagedInstanceFailoverGroupPartnerRegionArrayOutput

func (ManagedInstanceFailoverGroupPartnerRegionArray) ToManagedInstanceFailoverGroupPartnerRegionArrayOutputWithContext

func (i ManagedInstanceFailoverGroupPartnerRegionArray) ToManagedInstanceFailoverGroupPartnerRegionArrayOutputWithContext(ctx context.Context) ManagedInstanceFailoverGroupPartnerRegionArrayOutput

type ManagedInstanceFailoverGroupPartnerRegionArrayInput

type ManagedInstanceFailoverGroupPartnerRegionArrayInput interface {
	pulumi.Input

	ToManagedInstanceFailoverGroupPartnerRegionArrayOutput() ManagedInstanceFailoverGroupPartnerRegionArrayOutput
	ToManagedInstanceFailoverGroupPartnerRegionArrayOutputWithContext(context.Context) ManagedInstanceFailoverGroupPartnerRegionArrayOutput
}

ManagedInstanceFailoverGroupPartnerRegionArrayInput is an input type that accepts ManagedInstanceFailoverGroupPartnerRegionArray and ManagedInstanceFailoverGroupPartnerRegionArrayOutput values. You can construct a concrete instance of `ManagedInstanceFailoverGroupPartnerRegionArrayInput` via:

ManagedInstanceFailoverGroupPartnerRegionArray{ ManagedInstanceFailoverGroupPartnerRegionArgs{...} }

type ManagedInstanceFailoverGroupPartnerRegionArrayOutput

type ManagedInstanceFailoverGroupPartnerRegionArrayOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupPartnerRegionArrayOutput) ElementType

func (ManagedInstanceFailoverGroupPartnerRegionArrayOutput) Index

func (ManagedInstanceFailoverGroupPartnerRegionArrayOutput) ToManagedInstanceFailoverGroupPartnerRegionArrayOutput

func (ManagedInstanceFailoverGroupPartnerRegionArrayOutput) ToManagedInstanceFailoverGroupPartnerRegionArrayOutputWithContext

func (o ManagedInstanceFailoverGroupPartnerRegionArrayOutput) ToManagedInstanceFailoverGroupPartnerRegionArrayOutputWithContext(ctx context.Context) ManagedInstanceFailoverGroupPartnerRegionArrayOutput

type ManagedInstanceFailoverGroupPartnerRegionInput

type ManagedInstanceFailoverGroupPartnerRegionInput interface {
	pulumi.Input

	ToManagedInstanceFailoverGroupPartnerRegionOutput() ManagedInstanceFailoverGroupPartnerRegionOutput
	ToManagedInstanceFailoverGroupPartnerRegionOutputWithContext(context.Context) ManagedInstanceFailoverGroupPartnerRegionOutput
}

ManagedInstanceFailoverGroupPartnerRegionInput is an input type that accepts ManagedInstanceFailoverGroupPartnerRegionArgs and ManagedInstanceFailoverGroupPartnerRegionOutput values. You can construct a concrete instance of `ManagedInstanceFailoverGroupPartnerRegionInput` via:

ManagedInstanceFailoverGroupPartnerRegionArgs{...}

type ManagedInstanceFailoverGroupPartnerRegionOutput

type ManagedInstanceFailoverGroupPartnerRegionOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupPartnerRegionOutput) ElementType

func (ManagedInstanceFailoverGroupPartnerRegionOutput) Location

The Azure Region where the SQL Instance Failover Group exists. Changing this forces a new resource to be created.

func (ManagedInstanceFailoverGroupPartnerRegionOutput) Role

The partner replication role of the SQL Instance Failover Group.

func (ManagedInstanceFailoverGroupPartnerRegionOutput) ToManagedInstanceFailoverGroupPartnerRegionOutput

func (o ManagedInstanceFailoverGroupPartnerRegionOutput) ToManagedInstanceFailoverGroupPartnerRegionOutput() ManagedInstanceFailoverGroupPartnerRegionOutput

func (ManagedInstanceFailoverGroupPartnerRegionOutput) ToManagedInstanceFailoverGroupPartnerRegionOutputWithContext

func (o ManagedInstanceFailoverGroupPartnerRegionOutput) ToManagedInstanceFailoverGroupPartnerRegionOutputWithContext(ctx context.Context) ManagedInstanceFailoverGroupPartnerRegionOutput

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicy

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicy struct {
	// Applies only if `mode` is `Automatic`. The grace period in minutes before failover with data loss is attempted.
	GraceMinutes *int `pulumi:"graceMinutes"`
	// The failover mode. Possible values are `Manual`, `Automatic`
	Mode string `pulumi:"mode"`
}

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs struct {
	// Applies only if `mode` is `Automatic`. The grace period in minutes before failover with data loss is attempted.
	GraceMinutes pulumi.IntPtrInput `pulumi:"graceMinutes"`
	// The failover mode. Possible values are `Manual`, `Automatic`
	Mode pulumi.StringInput `pulumi:"mode"`
}

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ElementType

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext

func (i ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext(ctx context.Context) ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext

func (i ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext(ctx context.Context) ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyInput

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyInput interface {
	pulumi.Input

	ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput() ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput
	ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext(context.Context) ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput
}

ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyInput is an input type that accepts ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs and ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput values. You can construct a concrete instance of `ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyInput` via:

ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs{...}

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ElementType

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) GraceMinutes

Applies only if `mode` is `Automatic`. The grace period in minutes before failover with data loss is attempted.

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) Mode

The failover mode. Possible values are `Manual`, `Automatic`

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext

func (o ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext(ctx context.Context) ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext

func (o ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext(ctx context.Context) ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrInput

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrInput interface {
	pulumi.Input

	ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput() ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput
	ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext(context.Context) ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput
}

ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrInput is an input type that accepts ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs, ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtr and ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput values. You can construct a concrete instance of `ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrInput` via:

        ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs{...}

or:

        nil

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) Elem

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ElementType

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) GraceMinutes

Applies only if `mode` is `Automatic`. The grace period in minutes before failover with data loss is attempted.

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) Mode

The failover mode. Possible values are `Manual`, `Automatic`

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext

func (o ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext(ctx context.Context) ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

type ManagedInstanceFailoverGroupState

type ManagedInstanceFailoverGroupState struct {
	// The Azure Region where the SQL Instance Failover Group exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the SQL Managed Instance which will be replicated using a SQL Instance Failover Group. Changing this forces a new SQL Instance Failover Group to be created.
	ManagedInstanceName pulumi.StringPtrInput
	// The name which should be used for this SQL Instance Failover Group. Changing this forces a new SQL Instance Failover Group to be created.
	Name pulumi.StringPtrInput
	// ID of the SQL Managed Instance which will be replicated to. Changing this forces a new resource to be created.
	PartnerManagedInstanceId pulumi.StringPtrInput
	// A `partnerRegion` block as defined below.
	PartnerRegions ManagedInstanceFailoverGroupPartnerRegionArrayInput
	// A `readWriteEndpointFailoverPolicy` block as defined below.
	ReadWriteEndpointFailoverPolicy ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrInput
	// Failover policy for the read-only endpoint. Defaults to `true`.
	ReadonlyEndpointFailoverPolicyEnabled pulumi.BoolPtrInput
	// The name of the Resource Group where the SQL Instance Failover Group should exist. Changing this forces a new SQL Instance Failover Group to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The partner replication role of the SQL Instance Failover Group.
	Role pulumi.StringPtrInput
}

func (ManagedInstanceFailoverGroupState) ElementType

type ManagedInstanceIdentity

type ManagedInstanceIdentity struct {
	// The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.
	PrincipalId *string `pulumi:"principalId"`
	// The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.
	TenantId *string `pulumi:"tenantId"`
	// Specifies the type of Managed Service Identity that should be configured on this SQL Managed Instance. The only possible value is `SystemAssigned`.
	Type string `pulumi:"type"`
}

type ManagedInstanceIdentityArgs

type ManagedInstanceIdentityArgs struct {
	// The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.
	PrincipalId pulumi.StringPtrInput `pulumi:"principalId"`
	// The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
	// Specifies the type of Managed Service Identity that should be configured on this SQL Managed Instance. The only possible value is `SystemAssigned`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (ManagedInstanceIdentityArgs) ElementType

func (ManagedInstanceIdentityArgs) ToManagedInstanceIdentityOutput

func (i ManagedInstanceIdentityArgs) ToManagedInstanceIdentityOutput() ManagedInstanceIdentityOutput

func (ManagedInstanceIdentityArgs) ToManagedInstanceIdentityOutputWithContext

func (i ManagedInstanceIdentityArgs) ToManagedInstanceIdentityOutputWithContext(ctx context.Context) ManagedInstanceIdentityOutput

func (ManagedInstanceIdentityArgs) ToManagedInstanceIdentityPtrOutput

func (i ManagedInstanceIdentityArgs) ToManagedInstanceIdentityPtrOutput() ManagedInstanceIdentityPtrOutput

func (ManagedInstanceIdentityArgs) ToManagedInstanceIdentityPtrOutputWithContext

func (i ManagedInstanceIdentityArgs) ToManagedInstanceIdentityPtrOutputWithContext(ctx context.Context) ManagedInstanceIdentityPtrOutput

type ManagedInstanceIdentityInput

type ManagedInstanceIdentityInput interface {
	pulumi.Input

	ToManagedInstanceIdentityOutput() ManagedInstanceIdentityOutput
	ToManagedInstanceIdentityOutputWithContext(context.Context) ManagedInstanceIdentityOutput
}

ManagedInstanceIdentityInput is an input type that accepts ManagedInstanceIdentityArgs and ManagedInstanceIdentityOutput values. You can construct a concrete instance of `ManagedInstanceIdentityInput` via:

ManagedInstanceIdentityArgs{...}

type ManagedInstanceIdentityOutput

type ManagedInstanceIdentityOutput struct{ *pulumi.OutputState }

func (ManagedInstanceIdentityOutput) ElementType

func (ManagedInstanceIdentityOutput) PrincipalId

The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.

func (ManagedInstanceIdentityOutput) TenantId

The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.

func (ManagedInstanceIdentityOutput) ToManagedInstanceIdentityOutput

func (o ManagedInstanceIdentityOutput) ToManagedInstanceIdentityOutput() ManagedInstanceIdentityOutput

func (ManagedInstanceIdentityOutput) ToManagedInstanceIdentityOutputWithContext

func (o ManagedInstanceIdentityOutput) ToManagedInstanceIdentityOutputWithContext(ctx context.Context) ManagedInstanceIdentityOutput

func (ManagedInstanceIdentityOutput) ToManagedInstanceIdentityPtrOutput

func (o ManagedInstanceIdentityOutput) ToManagedInstanceIdentityPtrOutput() ManagedInstanceIdentityPtrOutput

func (ManagedInstanceIdentityOutput) ToManagedInstanceIdentityPtrOutputWithContext

func (o ManagedInstanceIdentityOutput) ToManagedInstanceIdentityPtrOutputWithContext(ctx context.Context) ManagedInstanceIdentityPtrOutput

func (ManagedInstanceIdentityOutput) Type

Specifies the type of Managed Service Identity that should be configured on this SQL Managed Instance. The only possible value is `SystemAssigned`.

type ManagedInstanceIdentityPtrInput

type ManagedInstanceIdentityPtrInput interface {
	pulumi.Input

	ToManagedInstanceIdentityPtrOutput() ManagedInstanceIdentityPtrOutput
	ToManagedInstanceIdentityPtrOutputWithContext(context.Context) ManagedInstanceIdentityPtrOutput
}

ManagedInstanceIdentityPtrInput is an input type that accepts ManagedInstanceIdentityArgs, ManagedInstanceIdentityPtr and ManagedInstanceIdentityPtrOutput values. You can construct a concrete instance of `ManagedInstanceIdentityPtrInput` via:

        ManagedInstanceIdentityArgs{...}

or:

        nil

type ManagedInstanceIdentityPtrOutput

type ManagedInstanceIdentityPtrOutput struct{ *pulumi.OutputState }

func (ManagedInstanceIdentityPtrOutput) Elem

func (ManagedInstanceIdentityPtrOutput) ElementType

func (ManagedInstanceIdentityPtrOutput) PrincipalId

The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.

func (ManagedInstanceIdentityPtrOutput) TenantId

The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.

func (ManagedInstanceIdentityPtrOutput) ToManagedInstanceIdentityPtrOutput

func (o ManagedInstanceIdentityPtrOutput) ToManagedInstanceIdentityPtrOutput() ManagedInstanceIdentityPtrOutput

func (ManagedInstanceIdentityPtrOutput) ToManagedInstanceIdentityPtrOutputWithContext

func (o ManagedInstanceIdentityPtrOutput) ToManagedInstanceIdentityPtrOutputWithContext(ctx context.Context) ManagedInstanceIdentityPtrOutput

func (ManagedInstanceIdentityPtrOutput) Type

Specifies the type of Managed Service Identity that should be configured on this SQL Managed Instance. The only possible value is `SystemAssigned`.

type ManagedInstanceInput

type ManagedInstanceInput interface {
	pulumi.Input

	ToManagedInstanceOutput() ManagedInstanceOutput
	ToManagedInstanceOutputWithContext(ctx context.Context) ManagedInstanceOutput
}

type ManagedInstanceMap

type ManagedInstanceMap map[string]ManagedInstanceInput

func (ManagedInstanceMap) ElementType

func (ManagedInstanceMap) ElementType() reflect.Type

func (ManagedInstanceMap) ToManagedInstanceMapOutput

func (i ManagedInstanceMap) ToManagedInstanceMapOutput() ManagedInstanceMapOutput

func (ManagedInstanceMap) ToManagedInstanceMapOutputWithContext

func (i ManagedInstanceMap) ToManagedInstanceMapOutputWithContext(ctx context.Context) ManagedInstanceMapOutput

type ManagedInstanceMapInput

type ManagedInstanceMapInput interface {
	pulumi.Input

	ToManagedInstanceMapOutput() ManagedInstanceMapOutput
	ToManagedInstanceMapOutputWithContext(context.Context) ManagedInstanceMapOutput
}

ManagedInstanceMapInput is an input type that accepts ManagedInstanceMap and ManagedInstanceMapOutput values. You can construct a concrete instance of `ManagedInstanceMapInput` via:

ManagedInstanceMap{ "key": ManagedInstanceArgs{...} }

type ManagedInstanceMapOutput

type ManagedInstanceMapOutput struct{ *pulumi.OutputState }

func (ManagedInstanceMapOutput) ElementType

func (ManagedInstanceMapOutput) ElementType() reflect.Type

func (ManagedInstanceMapOutput) MapIndex

func (ManagedInstanceMapOutput) ToManagedInstanceMapOutput

func (o ManagedInstanceMapOutput) ToManagedInstanceMapOutput() ManagedInstanceMapOutput

func (ManagedInstanceMapOutput) ToManagedInstanceMapOutputWithContext

func (o ManagedInstanceMapOutput) ToManagedInstanceMapOutputWithContext(ctx context.Context) ManagedInstanceMapOutput

type ManagedInstanceOutput

type ManagedInstanceOutput struct{ *pulumi.OutputState }

func (ManagedInstanceOutput) AdministratorLogin added in v5.5.0

func (o ManagedInstanceOutput) AdministratorLogin() pulumi.StringOutput

The administrator login name for the new server. Changing this forces a new resource to be created.

func (ManagedInstanceOutput) AdministratorLoginPassword added in v5.5.0

func (o ManagedInstanceOutput) AdministratorLoginPassword() pulumi.StringOutput

The password associated with the `administratorLogin` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)

func (ManagedInstanceOutput) Collation added in v5.5.0

Specifies how the SQL Managed Instance will be collated. Default value is `SQL_Latin1_General_CP1_CI_AS`. Changing this forces a new resource to be created.

func (ManagedInstanceOutput) DnsZonePartnerId added in v5.5.0

func (o ManagedInstanceOutput) DnsZonePartnerId() pulumi.StringPtrOutput

The ID of the Managed Instance which will share the DNS zone. This is a prerequisite for creating a `sql.ManagedInstanceFailoverGroup`. Setting this after creation forces a new resource to be created.

func (ManagedInstanceOutput) ElementType

func (ManagedInstanceOutput) ElementType() reflect.Type

func (ManagedInstanceOutput) Fqdn added in v5.5.0

The fully qualified domain name of the Azure Managed SQL Instance

func (ManagedInstanceOutput) Identity added in v5.5.0

An `identity` block as defined below.

func (ManagedInstanceOutput) LicenseType added in v5.5.0

func (o ManagedInstanceOutput) LicenseType() pulumi.StringOutput

What type of license the Managed Instance will use. Valid values include can be `LicenseIncluded` or `BasePrice`.

func (ManagedInstanceOutput) Location added in v5.5.0

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

func (ManagedInstanceOutput) MinimumTlsVersion added in v5.5.0

func (o ManagedInstanceOutput) MinimumTlsVersion() pulumi.StringPtrOutput

The Minimum TLS Version. Default value is `1.2` Valid values include `1.0`, `1.1`, `1.2`.

func (ManagedInstanceOutput) Name added in v5.5.0

The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.

func (ManagedInstanceOutput) ProxyOverride added in v5.5.0

func (o ManagedInstanceOutput) ProxyOverride() pulumi.StringPtrOutput

Specifies how the SQL Managed Instance will be accessed. Default value is `Default`. Valid values include `Default`, `Proxy`, and `Redirect`.

func (ManagedInstanceOutput) PublicDataEndpointEnabled added in v5.5.0

func (o ManagedInstanceOutput) PublicDataEndpointEnabled() pulumi.BoolPtrOutput

Is the public data endpoint enabled? Default value is `false`.

func (ManagedInstanceOutput) ResourceGroupName added in v5.5.0

func (o ManagedInstanceOutput) ResourceGroupName() pulumi.StringOutput

The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.

func (ManagedInstanceOutput) SkuName added in v5.5.0

Specifies the SKU Name for the SQL Managed Instance. Valid values include `GP_Gen4`, `GP_Gen5`, `BC_Gen4`, `BC_Gen5`.

func (ManagedInstanceOutput) StorageAccountType added in v5.5.0

func (o ManagedInstanceOutput) StorageAccountType() pulumi.StringPtrOutput

Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are `GRS`, `LRS` and `ZRS`. Defaults to `GRS`.

func (ManagedInstanceOutput) StorageSizeInGb added in v5.5.0

func (o ManagedInstanceOutput) StorageSizeInGb() pulumi.IntOutput

Maximum storage space for your instance. It should be a multiple of 32GB.

func (ManagedInstanceOutput) SubnetId added in v5.5.0

The subnet resource id that the SQL Managed Instance will be associated with. Changing this forces a new resource to be created.

func (ManagedInstanceOutput) Tags added in v5.5.0

A mapping of tags to assign to the resource.

func (ManagedInstanceOutput) TimezoneId added in v5.5.0

The TimeZone ID that the SQL Managed Instance will be operating in. Default value is `UTC`. Changing this forces a new resource to be created.

func (ManagedInstanceOutput) ToManagedInstanceOutput

func (o ManagedInstanceOutput) ToManagedInstanceOutput() ManagedInstanceOutput

func (ManagedInstanceOutput) ToManagedInstanceOutputWithContext

func (o ManagedInstanceOutput) ToManagedInstanceOutputWithContext(ctx context.Context) ManagedInstanceOutput

func (ManagedInstanceOutput) Vcores added in v5.5.0

Number of cores that should be assigned to your instance. Values can be `8`, `16`, or `24` if `skuName` is `GP_Gen4`, or `8`, `16`, `24`, `32`, or `40` if `skuName` is `GP_Gen5`.

type ManagedInstanceState

type ManagedInstanceState struct {
	// The administrator login name for the new server. Changing this forces a new resource to be created.
	AdministratorLogin pulumi.StringPtrInput
	// The password associated with the `administratorLogin` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)
	AdministratorLoginPassword pulumi.StringPtrInput
	// Specifies how the SQL Managed Instance will be collated. Default value is `SQL_Latin1_General_CP1_CI_AS`. Changing this forces a new resource to be created.
	Collation pulumi.StringPtrInput
	// The ID of the Managed Instance which will share the DNS zone. This is a prerequisite for creating a `sql.ManagedInstanceFailoverGroup`. Setting this after creation forces a new resource to be created.
	DnsZonePartnerId pulumi.StringPtrInput
	// The fully qualified domain name of the Azure Managed SQL Instance
	Fqdn pulumi.StringPtrInput
	// An `identity` block as defined below.
	Identity ManagedInstanceIdentityPtrInput
	// What type of license the Managed Instance will use. Valid values include can be `LicenseIncluded` or `BasePrice`.
	LicenseType pulumi.StringPtrInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The Minimum TLS Version. Default value is `1.2` Valid values include `1.0`, `1.1`, `1.2`.
	MinimumTlsVersion pulumi.StringPtrInput
	// The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies how the SQL Managed Instance will be accessed. Default value is `Default`. Valid values include `Default`, `Proxy`, and `Redirect`.
	ProxyOverride pulumi.StringPtrInput
	// Is the public data endpoint enabled? Default value is `false`.
	PublicDataEndpointEnabled pulumi.BoolPtrInput
	// The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the SKU Name for the SQL Managed Instance. Valid values include `GP_Gen4`, `GP_Gen5`, `BC_Gen4`, `BC_Gen5`.
	SkuName pulumi.StringPtrInput
	// Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are `GRS`, `LRS` and `ZRS`. Defaults to `GRS`.
	StorageAccountType pulumi.StringPtrInput
	// Maximum storage space for your instance. It should be a multiple of 32GB.
	StorageSizeInGb pulumi.IntPtrInput
	// The subnet resource id that the SQL Managed Instance will be associated with. Changing this forces a new resource to be created.
	SubnetId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The TimeZone ID that the SQL Managed Instance will be operating in. Default value is `UTC`. Changing this forces a new resource to be created.
	TimezoneId pulumi.StringPtrInput
	// Number of cores that should be assigned to your instance. Values can be `8`, `16`, or `24` if `skuName` is `GP_Gen4`, or `8`, `16`, `24`, `32`, or `40` if `skuName` is `GP_Gen5`.
	Vcores pulumi.IntPtrInput
}

func (ManagedInstanceState) ElementType

func (ManagedInstanceState) ElementType() reflect.Type

type SqlServer

type SqlServer struct {
	pulumi.CustomResourceState

	// The administrator login name for the new server. Changing this forces a new resource to be created.
	AdministratorLogin pulumi.StringOutput `pulumi:"administratorLogin"`
	// The password associated with the `administratorLogin` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)
	AdministratorLoginPassword pulumi.StringOutput `pulumi:"administratorLoginPassword"`
	// The connection policy the server will use. Possible values are `Default`, `Proxy`, and `Redirect`. Defaults to `Default`.
	ConnectionPolicy pulumi.StringPtrOutput `pulumi:"connectionPolicy"`
	// The fully qualified domain name of the Azure SQL Server (e.g. myServerName.database.windows.net)
	FullyQualifiedDomainName pulumi.StringOutput `pulumi:"fullyQualifiedDomainName"`
	// An `identity` block as defined below.
	Identity SqlServerIdentityPtrOutput `pulumi:"identity"`
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the Microsoft SQL Server. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the resource group in which to create the Microsoft SQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Threat detection policy configuration. The `threatDetectionPolicy` block supports fields documented below.
	ThreatDetectionPolicy SqlServerThreatDetectionPolicyOutput `pulumi:"threatDetectionPolicy"`
	// The version for the new server. Valid values are: 2.0 (for v11 server) and 12.0 (for v12 server). Changing this forces a new resource to be created.
	Version pulumi.StringOutput `pulumi:"version"`
}

Manages a Microsoft SQL Azure Database Server.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("database-rg"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("examplesa"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		_, err = sql.NewSqlServer(ctx, "example", &sql.SqlServerArgs{
			Name:                       pulumi.String("mssqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("mradministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsDog11"),
			Tags: pulumi.StringMap{
				"environment": pulumi.String("production"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SQL Servers can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:sql/sqlServer:SqlServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver ```

func GetSqlServer

func GetSqlServer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SqlServerState, opts ...pulumi.ResourceOption) (*SqlServer, error)

GetSqlServer gets an existing SqlServer 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 NewSqlServer

func NewSqlServer(ctx *pulumi.Context,
	name string, args *SqlServerArgs, opts ...pulumi.ResourceOption) (*SqlServer, error)

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

func (*SqlServer) ElementType

func (*SqlServer) ElementType() reflect.Type

func (*SqlServer) ToSqlServerOutput

func (i *SqlServer) ToSqlServerOutput() SqlServerOutput

func (*SqlServer) ToSqlServerOutputWithContext

func (i *SqlServer) ToSqlServerOutputWithContext(ctx context.Context) SqlServerOutput

type SqlServerArgs

type SqlServerArgs struct {
	// The administrator login name for the new server. Changing this forces a new resource to be created.
	AdministratorLogin pulumi.StringInput
	// The password associated with the `administratorLogin` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)
	AdministratorLoginPassword pulumi.StringInput
	// The connection policy the server will use. Possible values are `Default`, `Proxy`, and `Redirect`. Defaults to `Default`.
	ConnectionPolicy pulumi.StringPtrInput
	// An `identity` block as defined below.
	Identity SqlServerIdentityPtrInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the Microsoft SQL Server. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which to create the Microsoft SQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Threat detection policy configuration. The `threatDetectionPolicy` block supports fields documented below.
	ThreatDetectionPolicy SqlServerThreatDetectionPolicyPtrInput
	// The version for the new server. Valid values are: 2.0 (for v11 server) and 12.0 (for v12 server). Changing this forces a new resource to be created.
	Version pulumi.StringInput
}

The set of arguments for constructing a SqlServer resource.

func (SqlServerArgs) ElementType

func (SqlServerArgs) ElementType() reflect.Type

type SqlServerArray

type SqlServerArray []SqlServerInput

func (SqlServerArray) ElementType

func (SqlServerArray) ElementType() reflect.Type

func (SqlServerArray) ToSqlServerArrayOutput

func (i SqlServerArray) ToSqlServerArrayOutput() SqlServerArrayOutput

func (SqlServerArray) ToSqlServerArrayOutputWithContext

func (i SqlServerArray) ToSqlServerArrayOutputWithContext(ctx context.Context) SqlServerArrayOutput

type SqlServerArrayInput

type SqlServerArrayInput interface {
	pulumi.Input

	ToSqlServerArrayOutput() SqlServerArrayOutput
	ToSqlServerArrayOutputWithContext(context.Context) SqlServerArrayOutput
}

SqlServerArrayInput is an input type that accepts SqlServerArray and SqlServerArrayOutput values. You can construct a concrete instance of `SqlServerArrayInput` via:

SqlServerArray{ SqlServerArgs{...} }

type SqlServerArrayOutput

type SqlServerArrayOutput struct{ *pulumi.OutputState }

func (SqlServerArrayOutput) ElementType

func (SqlServerArrayOutput) ElementType() reflect.Type

func (SqlServerArrayOutput) Index

func (SqlServerArrayOutput) ToSqlServerArrayOutput

func (o SqlServerArrayOutput) ToSqlServerArrayOutput() SqlServerArrayOutput

func (SqlServerArrayOutput) ToSqlServerArrayOutputWithContext

func (o SqlServerArrayOutput) ToSqlServerArrayOutputWithContext(ctx context.Context) SqlServerArrayOutput

type SqlServerIdentity

type SqlServerIdentity struct {
	// The Principal ID for the Service Principal associated with the Identity of this SQL Server.
	PrincipalId *string `pulumi:"principalId"`
	// The Tenant ID for the Service Principal associated with the Identity of this SQL Server.
	TenantId *string `pulumi:"tenantId"`
	// Specifies the type of Managed Service Identity that should be configured on this SQL Server. The only possible value is `SystemAssigned`.
	//
	// > **NOTE:** The assigned `principalId` and `tenantId` can be retrieved after the identity `type` has been set to `SystemAssigned` and the Microsoft SQL Server has been created. More details are available below.
	Type string `pulumi:"type"`
}

type SqlServerIdentityArgs

type SqlServerIdentityArgs struct {
	// The Principal ID for the Service Principal associated with the Identity of this SQL Server.
	PrincipalId pulumi.StringPtrInput `pulumi:"principalId"`
	// The Tenant ID for the Service Principal associated with the Identity of this SQL Server.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
	// Specifies the type of Managed Service Identity that should be configured on this SQL Server. The only possible value is `SystemAssigned`.
	//
	// > **NOTE:** The assigned `principalId` and `tenantId` can be retrieved after the identity `type` has been set to `SystemAssigned` and the Microsoft SQL Server has been created. More details are available below.
	Type pulumi.StringInput `pulumi:"type"`
}

func (SqlServerIdentityArgs) ElementType

func (SqlServerIdentityArgs) ElementType() reflect.Type

func (SqlServerIdentityArgs) ToSqlServerIdentityOutput

func (i SqlServerIdentityArgs) ToSqlServerIdentityOutput() SqlServerIdentityOutput

func (SqlServerIdentityArgs) ToSqlServerIdentityOutputWithContext

func (i SqlServerIdentityArgs) ToSqlServerIdentityOutputWithContext(ctx context.Context) SqlServerIdentityOutput

func (SqlServerIdentityArgs) ToSqlServerIdentityPtrOutput

func (i SqlServerIdentityArgs) ToSqlServerIdentityPtrOutput() SqlServerIdentityPtrOutput

func (SqlServerIdentityArgs) ToSqlServerIdentityPtrOutputWithContext

func (i SqlServerIdentityArgs) ToSqlServerIdentityPtrOutputWithContext(ctx context.Context) SqlServerIdentityPtrOutput

type SqlServerIdentityInput

type SqlServerIdentityInput interface {
	pulumi.Input

	ToSqlServerIdentityOutput() SqlServerIdentityOutput
	ToSqlServerIdentityOutputWithContext(context.Context) SqlServerIdentityOutput
}

SqlServerIdentityInput is an input type that accepts SqlServerIdentityArgs and SqlServerIdentityOutput values. You can construct a concrete instance of `SqlServerIdentityInput` via:

SqlServerIdentityArgs{...}

type SqlServerIdentityOutput

type SqlServerIdentityOutput struct{ *pulumi.OutputState }

func (SqlServerIdentityOutput) ElementType

func (SqlServerIdentityOutput) ElementType() reflect.Type

func (SqlServerIdentityOutput) PrincipalId

The Principal ID for the Service Principal associated with the Identity of this SQL Server.

func (SqlServerIdentityOutput) TenantId

The Tenant ID for the Service Principal associated with the Identity of this SQL Server.

func (SqlServerIdentityOutput) ToSqlServerIdentityOutput

func (o SqlServerIdentityOutput) ToSqlServerIdentityOutput() SqlServerIdentityOutput

func (SqlServerIdentityOutput) ToSqlServerIdentityOutputWithContext

func (o SqlServerIdentityOutput) ToSqlServerIdentityOutputWithContext(ctx context.Context) SqlServerIdentityOutput

func (SqlServerIdentityOutput) ToSqlServerIdentityPtrOutput

func (o SqlServerIdentityOutput) ToSqlServerIdentityPtrOutput() SqlServerIdentityPtrOutput

func (SqlServerIdentityOutput) ToSqlServerIdentityPtrOutputWithContext

func (o SqlServerIdentityOutput) ToSqlServerIdentityPtrOutputWithContext(ctx context.Context) SqlServerIdentityPtrOutput

func (SqlServerIdentityOutput) Type

Specifies the type of Managed Service Identity that should be configured on this SQL Server. The only possible value is `SystemAssigned`.

> **NOTE:** The assigned `principalId` and `tenantId` can be retrieved after the identity `type` has been set to `SystemAssigned` and the Microsoft SQL Server has been created. More details are available below.

type SqlServerIdentityPtrInput

type SqlServerIdentityPtrInput interface {
	pulumi.Input

	ToSqlServerIdentityPtrOutput() SqlServerIdentityPtrOutput
	ToSqlServerIdentityPtrOutputWithContext(context.Context) SqlServerIdentityPtrOutput
}

SqlServerIdentityPtrInput is an input type that accepts SqlServerIdentityArgs, SqlServerIdentityPtr and SqlServerIdentityPtrOutput values. You can construct a concrete instance of `SqlServerIdentityPtrInput` via:

        SqlServerIdentityArgs{...}

or:

        nil

type SqlServerIdentityPtrOutput

type SqlServerIdentityPtrOutput struct{ *pulumi.OutputState }

func (SqlServerIdentityPtrOutput) Elem

func (SqlServerIdentityPtrOutput) ElementType

func (SqlServerIdentityPtrOutput) ElementType() reflect.Type

func (SqlServerIdentityPtrOutput) PrincipalId

The Principal ID for the Service Principal associated with the Identity of this SQL Server.

func (SqlServerIdentityPtrOutput) TenantId

The Tenant ID for the Service Principal associated with the Identity of this SQL Server.

func (SqlServerIdentityPtrOutput) ToSqlServerIdentityPtrOutput

func (o SqlServerIdentityPtrOutput) ToSqlServerIdentityPtrOutput() SqlServerIdentityPtrOutput

func (SqlServerIdentityPtrOutput) ToSqlServerIdentityPtrOutputWithContext

func (o SqlServerIdentityPtrOutput) ToSqlServerIdentityPtrOutputWithContext(ctx context.Context) SqlServerIdentityPtrOutput

func (SqlServerIdentityPtrOutput) Type

Specifies the type of Managed Service Identity that should be configured on this SQL Server. The only possible value is `SystemAssigned`.

> **NOTE:** The assigned `principalId` and `tenantId` can be retrieved after the identity `type` has been set to `SystemAssigned` and the Microsoft SQL Server has been created. More details are available below.

type SqlServerInput

type SqlServerInput interface {
	pulumi.Input

	ToSqlServerOutput() SqlServerOutput
	ToSqlServerOutputWithContext(ctx context.Context) SqlServerOutput
}

type SqlServerMap

type SqlServerMap map[string]SqlServerInput

func (SqlServerMap) ElementType

func (SqlServerMap) ElementType() reflect.Type

func (SqlServerMap) ToSqlServerMapOutput

func (i SqlServerMap) ToSqlServerMapOutput() SqlServerMapOutput

func (SqlServerMap) ToSqlServerMapOutputWithContext

func (i SqlServerMap) ToSqlServerMapOutputWithContext(ctx context.Context) SqlServerMapOutput

type SqlServerMapInput

type SqlServerMapInput interface {
	pulumi.Input

	ToSqlServerMapOutput() SqlServerMapOutput
	ToSqlServerMapOutputWithContext(context.Context) SqlServerMapOutput
}

SqlServerMapInput is an input type that accepts SqlServerMap and SqlServerMapOutput values. You can construct a concrete instance of `SqlServerMapInput` via:

SqlServerMap{ "key": SqlServerArgs{...} }

type SqlServerMapOutput

type SqlServerMapOutput struct{ *pulumi.OutputState }

func (SqlServerMapOutput) ElementType

func (SqlServerMapOutput) ElementType() reflect.Type

func (SqlServerMapOutput) MapIndex

func (SqlServerMapOutput) ToSqlServerMapOutput

func (o SqlServerMapOutput) ToSqlServerMapOutput() SqlServerMapOutput

func (SqlServerMapOutput) ToSqlServerMapOutputWithContext

func (o SqlServerMapOutput) ToSqlServerMapOutputWithContext(ctx context.Context) SqlServerMapOutput

type SqlServerOutput

type SqlServerOutput struct{ *pulumi.OutputState }

func (SqlServerOutput) AdministratorLogin added in v5.5.0

func (o SqlServerOutput) AdministratorLogin() pulumi.StringOutput

The administrator login name for the new server. Changing this forces a new resource to be created.

func (SqlServerOutput) AdministratorLoginPassword added in v5.5.0

func (o SqlServerOutput) AdministratorLoginPassword() pulumi.StringOutput

The password associated with the `administratorLogin` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)

func (SqlServerOutput) ConnectionPolicy added in v5.5.0

func (o SqlServerOutput) ConnectionPolicy() pulumi.StringPtrOutput

The connection policy the server will use. Possible values are `Default`, `Proxy`, and `Redirect`. Defaults to `Default`.

func (SqlServerOutput) ElementType

func (SqlServerOutput) ElementType() reflect.Type

func (SqlServerOutput) FullyQualifiedDomainName added in v5.5.0

func (o SqlServerOutput) FullyQualifiedDomainName() pulumi.StringOutput

The fully qualified domain name of the Azure SQL Server (e.g. myServerName.database.windows.net)

func (SqlServerOutput) Identity added in v5.5.0

An `identity` block as defined below.

func (SqlServerOutput) Location added in v5.5.0

func (o SqlServerOutput) Location() pulumi.StringOutput

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

func (SqlServerOutput) Name added in v5.5.0

The name of the Microsoft SQL Server. This needs to be globally unique within Azure. Changing this forces a new resource to be created.

func (SqlServerOutput) ResourceGroupName added in v5.5.0

func (o SqlServerOutput) ResourceGroupName() pulumi.StringOutput

The name of the resource group in which to create the Microsoft SQL Server. Changing this forces a new resource to be created.

func (SqlServerOutput) Tags added in v5.5.0

A mapping of tags to assign to the resource.

func (SqlServerOutput) ThreatDetectionPolicy added in v5.5.0

func (o SqlServerOutput) ThreatDetectionPolicy() SqlServerThreatDetectionPolicyOutput

Threat detection policy configuration. The `threatDetectionPolicy` block supports fields documented below.

func (SqlServerOutput) ToSqlServerOutput

func (o SqlServerOutput) ToSqlServerOutput() SqlServerOutput

func (SqlServerOutput) ToSqlServerOutputWithContext

func (o SqlServerOutput) ToSqlServerOutputWithContext(ctx context.Context) SqlServerOutput

func (SqlServerOutput) Version added in v5.5.0

func (o SqlServerOutput) Version() pulumi.StringOutput

The version for the new server. Valid values are: 2.0 (for v11 server) and 12.0 (for v12 server). Changing this forces a new resource to be created.

type SqlServerState

type SqlServerState struct {
	// The administrator login name for the new server. Changing this forces a new resource to be created.
	AdministratorLogin pulumi.StringPtrInput
	// The password associated with the `administratorLogin` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx)
	AdministratorLoginPassword pulumi.StringPtrInput
	// The connection policy the server will use. Possible values are `Default`, `Proxy`, and `Redirect`. Defaults to `Default`.
	ConnectionPolicy pulumi.StringPtrInput
	// The fully qualified domain name of the Azure SQL Server (e.g. myServerName.database.windows.net)
	FullyQualifiedDomainName pulumi.StringPtrInput
	// An `identity` block as defined below.
	Identity SqlServerIdentityPtrInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the Microsoft SQL Server. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which to create the Microsoft SQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Threat detection policy configuration. The `threatDetectionPolicy` block supports fields documented below.
	ThreatDetectionPolicy SqlServerThreatDetectionPolicyPtrInput
	// The version for the new server. Valid values are: 2.0 (for v11 server) and 12.0 (for v12 server). Changing this forces a new resource to be created.
	Version pulumi.StringPtrInput
}

func (SqlServerState) ElementType

func (SqlServerState) ElementType() reflect.Type

type SqlServerThreatDetectionPolicy

type SqlServerThreatDetectionPolicy struct {
	// Specifies a list of alerts which should be disabled. Possible values include `Access_Anomaly`, `Data_Exfiltration`, `Sql_Injection`, `Sql_Injection_Vulnerability` and `Unsafe_Action"`,.
	DisabledAlerts []string `pulumi:"disabledAlerts"`
	// Should the account administrators be emailed when this alert is triggered?
	EmailAccountAdmins *bool `pulumi:"emailAccountAdmins"`
	// A list of email addresses which alerts should be sent to.
	EmailAddresses []string `pulumi:"emailAddresses"`
	// Specifies the number of days to keep in the Threat Detection audit logs.
	RetentionDays *int `pulumi:"retentionDays"`
	// The State of the Policy. Possible values are `Disabled`, `Enabled` and `New`. Defaults to `Disabled`.
	State *string `pulumi:"state"`
	// Specifies the identifier key of the Threat Detection audit storage account. Required if `state` is `Enabled`.
	StorageAccountAccessKey *string `pulumi:"storageAccountAccessKey"`
	// Specifies the blob storage endpoint (e.g. <https://example.blob.core.windows.net>). This blob storage will hold all Threat Detection audit logs. Required if `state` is `Enabled`.
	StorageEndpoint *string `pulumi:"storageEndpoint"`
}

type SqlServerThreatDetectionPolicyArgs

type SqlServerThreatDetectionPolicyArgs struct {
	// Specifies a list of alerts which should be disabled. Possible values include `Access_Anomaly`, `Data_Exfiltration`, `Sql_Injection`, `Sql_Injection_Vulnerability` and `Unsafe_Action"`,.
	DisabledAlerts pulumi.StringArrayInput `pulumi:"disabledAlerts"`
	// Should the account administrators be emailed when this alert is triggered?
	EmailAccountAdmins pulumi.BoolPtrInput `pulumi:"emailAccountAdmins"`
	// A list of email addresses which alerts should be sent to.
	EmailAddresses pulumi.StringArrayInput `pulumi:"emailAddresses"`
	// Specifies the number of days to keep in the Threat Detection audit logs.
	RetentionDays pulumi.IntPtrInput `pulumi:"retentionDays"`
	// The State of the Policy. Possible values are `Disabled`, `Enabled` and `New`. Defaults to `Disabled`.
	State pulumi.StringPtrInput `pulumi:"state"`
	// Specifies the identifier key of the Threat Detection audit storage account. Required if `state` is `Enabled`.
	StorageAccountAccessKey pulumi.StringPtrInput `pulumi:"storageAccountAccessKey"`
	// Specifies the blob storage endpoint (e.g. <https://example.blob.core.windows.net>). This blob storage will hold all Threat Detection audit logs. Required if `state` is `Enabled`.
	StorageEndpoint pulumi.StringPtrInput `pulumi:"storageEndpoint"`
}

func (SqlServerThreatDetectionPolicyArgs) ElementType

func (SqlServerThreatDetectionPolicyArgs) ToSqlServerThreatDetectionPolicyOutput

func (i SqlServerThreatDetectionPolicyArgs) ToSqlServerThreatDetectionPolicyOutput() SqlServerThreatDetectionPolicyOutput

func (SqlServerThreatDetectionPolicyArgs) ToSqlServerThreatDetectionPolicyOutputWithContext

func (i SqlServerThreatDetectionPolicyArgs) ToSqlServerThreatDetectionPolicyOutputWithContext(ctx context.Context) SqlServerThreatDetectionPolicyOutput

func (SqlServerThreatDetectionPolicyArgs) ToSqlServerThreatDetectionPolicyPtrOutput

func (i SqlServerThreatDetectionPolicyArgs) ToSqlServerThreatDetectionPolicyPtrOutput() SqlServerThreatDetectionPolicyPtrOutput

func (SqlServerThreatDetectionPolicyArgs) ToSqlServerThreatDetectionPolicyPtrOutputWithContext

func (i SqlServerThreatDetectionPolicyArgs) ToSqlServerThreatDetectionPolicyPtrOutputWithContext(ctx context.Context) SqlServerThreatDetectionPolicyPtrOutput

type SqlServerThreatDetectionPolicyInput

type SqlServerThreatDetectionPolicyInput interface {
	pulumi.Input

	ToSqlServerThreatDetectionPolicyOutput() SqlServerThreatDetectionPolicyOutput
	ToSqlServerThreatDetectionPolicyOutputWithContext(context.Context) SqlServerThreatDetectionPolicyOutput
}

SqlServerThreatDetectionPolicyInput is an input type that accepts SqlServerThreatDetectionPolicyArgs and SqlServerThreatDetectionPolicyOutput values. You can construct a concrete instance of `SqlServerThreatDetectionPolicyInput` via:

SqlServerThreatDetectionPolicyArgs{...}

type SqlServerThreatDetectionPolicyOutput

type SqlServerThreatDetectionPolicyOutput struct{ *pulumi.OutputState }

func (SqlServerThreatDetectionPolicyOutput) DisabledAlerts

Specifies a list of alerts which should be disabled. Possible values include `Access_Anomaly`, `Data_Exfiltration`, `Sql_Injection`, `Sql_Injection_Vulnerability` and `Unsafe_Action"`,.

func (SqlServerThreatDetectionPolicyOutput) ElementType

func (SqlServerThreatDetectionPolicyOutput) EmailAccountAdmins

Should the account administrators be emailed when this alert is triggered?

func (SqlServerThreatDetectionPolicyOutput) EmailAddresses

A list of email addresses which alerts should be sent to.

func (SqlServerThreatDetectionPolicyOutput) RetentionDays

Specifies the number of days to keep in the Threat Detection audit logs.

func (SqlServerThreatDetectionPolicyOutput) State

The State of the Policy. Possible values are `Disabled`, `Enabled` and `New`. Defaults to `Disabled`.

func (SqlServerThreatDetectionPolicyOutput) StorageAccountAccessKey

func (o SqlServerThreatDetectionPolicyOutput) StorageAccountAccessKey() pulumi.StringPtrOutput

Specifies the identifier key of the Threat Detection audit storage account. Required if `state` is `Enabled`.

func (SqlServerThreatDetectionPolicyOutput) StorageEndpoint

Specifies the blob storage endpoint (e.g. <https://example.blob.core.windows.net>). This blob storage will hold all Threat Detection audit logs. Required if `state` is `Enabled`.

func (SqlServerThreatDetectionPolicyOutput) ToSqlServerThreatDetectionPolicyOutput

func (o SqlServerThreatDetectionPolicyOutput) ToSqlServerThreatDetectionPolicyOutput() SqlServerThreatDetectionPolicyOutput

func (SqlServerThreatDetectionPolicyOutput) ToSqlServerThreatDetectionPolicyOutputWithContext

func (o SqlServerThreatDetectionPolicyOutput) ToSqlServerThreatDetectionPolicyOutputWithContext(ctx context.Context) SqlServerThreatDetectionPolicyOutput

func (SqlServerThreatDetectionPolicyOutput) ToSqlServerThreatDetectionPolicyPtrOutput

func (o SqlServerThreatDetectionPolicyOutput) ToSqlServerThreatDetectionPolicyPtrOutput() SqlServerThreatDetectionPolicyPtrOutput

func (SqlServerThreatDetectionPolicyOutput) ToSqlServerThreatDetectionPolicyPtrOutputWithContext

func (o SqlServerThreatDetectionPolicyOutput) ToSqlServerThreatDetectionPolicyPtrOutputWithContext(ctx context.Context) SqlServerThreatDetectionPolicyPtrOutput

type SqlServerThreatDetectionPolicyPtrInput

type SqlServerThreatDetectionPolicyPtrInput interface {
	pulumi.Input

	ToSqlServerThreatDetectionPolicyPtrOutput() SqlServerThreatDetectionPolicyPtrOutput
	ToSqlServerThreatDetectionPolicyPtrOutputWithContext(context.Context) SqlServerThreatDetectionPolicyPtrOutput
}

SqlServerThreatDetectionPolicyPtrInput is an input type that accepts SqlServerThreatDetectionPolicyArgs, SqlServerThreatDetectionPolicyPtr and SqlServerThreatDetectionPolicyPtrOutput values. You can construct a concrete instance of `SqlServerThreatDetectionPolicyPtrInput` via:

        SqlServerThreatDetectionPolicyArgs{...}

or:

        nil

type SqlServerThreatDetectionPolicyPtrOutput

type SqlServerThreatDetectionPolicyPtrOutput struct{ *pulumi.OutputState }

func (SqlServerThreatDetectionPolicyPtrOutput) DisabledAlerts

Specifies a list of alerts which should be disabled. Possible values include `Access_Anomaly`, `Data_Exfiltration`, `Sql_Injection`, `Sql_Injection_Vulnerability` and `Unsafe_Action"`,.

func (SqlServerThreatDetectionPolicyPtrOutput) Elem

func (SqlServerThreatDetectionPolicyPtrOutput) ElementType

func (SqlServerThreatDetectionPolicyPtrOutput) EmailAccountAdmins

Should the account administrators be emailed when this alert is triggered?

func (SqlServerThreatDetectionPolicyPtrOutput) EmailAddresses

A list of email addresses which alerts should be sent to.

func (SqlServerThreatDetectionPolicyPtrOutput) RetentionDays

Specifies the number of days to keep in the Threat Detection audit logs.

func (SqlServerThreatDetectionPolicyPtrOutput) State

The State of the Policy. Possible values are `Disabled`, `Enabled` and `New`. Defaults to `Disabled`.

func (SqlServerThreatDetectionPolicyPtrOutput) StorageAccountAccessKey

Specifies the identifier key of the Threat Detection audit storage account. Required if `state` is `Enabled`.

func (SqlServerThreatDetectionPolicyPtrOutput) StorageEndpoint

Specifies the blob storage endpoint (e.g. <https://example.blob.core.windows.net>). This blob storage will hold all Threat Detection audit logs. Required if `state` is `Enabled`.

func (SqlServerThreatDetectionPolicyPtrOutput) ToSqlServerThreatDetectionPolicyPtrOutput

func (o SqlServerThreatDetectionPolicyPtrOutput) ToSqlServerThreatDetectionPolicyPtrOutput() SqlServerThreatDetectionPolicyPtrOutput

func (SqlServerThreatDetectionPolicyPtrOutput) ToSqlServerThreatDetectionPolicyPtrOutputWithContext

func (o SqlServerThreatDetectionPolicyPtrOutput) ToSqlServerThreatDetectionPolicyPtrOutputWithContext(ctx context.Context) SqlServerThreatDetectionPolicyPtrOutput

type VirtualNetworkRule

type VirtualNetworkRule struct {
	pulumi.CustomResourceState

	// Create the virtual network rule before the subnet has the virtual network service endpoint enabled. The default value is false.
	//
	// > **NOTE:** If `ignoreMissingVnetServiceEndpoint` is false, and the target subnet does not contain the `Microsoft.SQL` endpoint in the `serviceEndpoints` array, the deployment will fail when it tries to create the SQL virtual network rule.
	IgnoreMissingVnetServiceEndpoint pulumi.BoolPtrOutput `pulumi:"ignoreMissingVnetServiceEndpoint"`
	// The name of the SQL virtual network rule. Changing this forces a new resource to be created. Cannot be empty and must only contain alphanumeric characters and hyphens. Cannot start with a number, and cannot start or end with a hyphen.
	//
	// > **NOTE:** `name` must be between 1-64 characters long and must satisfy all of the requirements below:
	//
	// 1. Contains only alphanumeric and hyphen characters
	// 2. Cannot start with a number or hyphen
	// 3. Cannot end with a hyphen
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the resource group where the SQL server resides. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The name of the SQL Server to which this SQL virtual network rule will be applied to. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// The ID of the subnet that the SQL server will be connected to.
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
}

Allows you to add, update, or remove an Azure SQL server to a subnet of a virtual network.

> **Note:** The `sql.VirtualNetworkRule` resource is deprecated in version 3.0 of the AzureRM provider and will be removed in version 4.0. Please use the `mssql.VirtualNetworkRule` resource instead.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-sql-server-vnet-rule"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		vnet, err := network.NewVirtualNetwork(ctx, "vnet", &network.VirtualNetworkArgs{
			Name: pulumi.String("example-vnet"),
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.7.29.0/29"),
			},
			Location:          example.Location,
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		subnet, err := network.NewSubnet(ctx, "subnet", &network.SubnetArgs{
			Name:               pulumi.String("example-subnet"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: vnet.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.7.29.0/29"),
			},
			ServiceEndpoints: pulumi.StringArray{
				pulumi.String("Microsoft.Sql"),
			},
		})
		if err != nil {
			return err
		}
		sqlserver, err := sql.NewSqlServer(ctx, "sqlserver", &sql.SqlServerArgs{
			Name:                       pulumi.String("uniqueazuresqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		_, err = sql.NewVirtualNetworkRule(ctx, "sqlvnetrule", &sql.VirtualNetworkRuleArgs{
			Name:              pulumi.String("sql-vnet-rule"),
			ResourceGroupName: example.Name,
			ServerName:        sqlserver.Name,
			SubnetId:          subnet.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SQL Virtual Network Rules can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:sql/virtualNetworkRule:VirtualNetworkRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver/virtualNetworkRules/vnetrulename ```

func GetVirtualNetworkRule

func GetVirtualNetworkRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VirtualNetworkRuleState, opts ...pulumi.ResourceOption) (*VirtualNetworkRule, error)

GetVirtualNetworkRule gets an existing VirtualNetworkRule 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 NewVirtualNetworkRule

func NewVirtualNetworkRule(ctx *pulumi.Context,
	name string, args *VirtualNetworkRuleArgs, opts ...pulumi.ResourceOption) (*VirtualNetworkRule, error)

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

func (*VirtualNetworkRule) ElementType

func (*VirtualNetworkRule) ElementType() reflect.Type

func (*VirtualNetworkRule) ToVirtualNetworkRuleOutput

func (i *VirtualNetworkRule) ToVirtualNetworkRuleOutput() VirtualNetworkRuleOutput

func (*VirtualNetworkRule) ToVirtualNetworkRuleOutputWithContext

func (i *VirtualNetworkRule) ToVirtualNetworkRuleOutputWithContext(ctx context.Context) VirtualNetworkRuleOutput

type VirtualNetworkRuleArgs

type VirtualNetworkRuleArgs struct {
	// Create the virtual network rule before the subnet has the virtual network service endpoint enabled. The default value is false.
	//
	// > **NOTE:** If `ignoreMissingVnetServiceEndpoint` is false, and the target subnet does not contain the `Microsoft.SQL` endpoint in the `serviceEndpoints` array, the deployment will fail when it tries to create the SQL virtual network rule.
	IgnoreMissingVnetServiceEndpoint pulumi.BoolPtrInput
	// The name of the SQL virtual network rule. Changing this forces a new resource to be created. Cannot be empty and must only contain alphanumeric characters and hyphens. Cannot start with a number, and cannot start or end with a hyphen.
	//
	// > **NOTE:** `name` must be between 1-64 characters long and must satisfy all of the requirements below:
	//
	// 1. Contains only alphanumeric and hyphen characters
	// 2. Cannot start with a number or hyphen
	// 3. Cannot end with a hyphen
	Name pulumi.StringPtrInput
	// The name of the resource group where the SQL server resides. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The name of the SQL Server to which this SQL virtual network rule will be applied to. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
	// The ID of the subnet that the SQL server will be connected to.
	SubnetId pulumi.StringInput
}

The set of arguments for constructing a VirtualNetworkRule resource.

func (VirtualNetworkRuleArgs) ElementType

func (VirtualNetworkRuleArgs) ElementType() reflect.Type

type VirtualNetworkRuleArray

type VirtualNetworkRuleArray []VirtualNetworkRuleInput

func (VirtualNetworkRuleArray) ElementType

func (VirtualNetworkRuleArray) ElementType() reflect.Type

func (VirtualNetworkRuleArray) ToVirtualNetworkRuleArrayOutput

func (i VirtualNetworkRuleArray) ToVirtualNetworkRuleArrayOutput() VirtualNetworkRuleArrayOutput

func (VirtualNetworkRuleArray) ToVirtualNetworkRuleArrayOutputWithContext

func (i VirtualNetworkRuleArray) ToVirtualNetworkRuleArrayOutputWithContext(ctx context.Context) VirtualNetworkRuleArrayOutput

type VirtualNetworkRuleArrayInput

type VirtualNetworkRuleArrayInput interface {
	pulumi.Input

	ToVirtualNetworkRuleArrayOutput() VirtualNetworkRuleArrayOutput
	ToVirtualNetworkRuleArrayOutputWithContext(context.Context) VirtualNetworkRuleArrayOutput
}

VirtualNetworkRuleArrayInput is an input type that accepts VirtualNetworkRuleArray and VirtualNetworkRuleArrayOutput values. You can construct a concrete instance of `VirtualNetworkRuleArrayInput` via:

VirtualNetworkRuleArray{ VirtualNetworkRuleArgs{...} }

type VirtualNetworkRuleArrayOutput

type VirtualNetworkRuleArrayOutput struct{ *pulumi.OutputState }

func (VirtualNetworkRuleArrayOutput) ElementType

func (VirtualNetworkRuleArrayOutput) Index

func (VirtualNetworkRuleArrayOutput) ToVirtualNetworkRuleArrayOutput

func (o VirtualNetworkRuleArrayOutput) ToVirtualNetworkRuleArrayOutput() VirtualNetworkRuleArrayOutput

func (VirtualNetworkRuleArrayOutput) ToVirtualNetworkRuleArrayOutputWithContext

func (o VirtualNetworkRuleArrayOutput) ToVirtualNetworkRuleArrayOutputWithContext(ctx context.Context) VirtualNetworkRuleArrayOutput

type VirtualNetworkRuleInput

type VirtualNetworkRuleInput interface {
	pulumi.Input

	ToVirtualNetworkRuleOutput() VirtualNetworkRuleOutput
	ToVirtualNetworkRuleOutputWithContext(ctx context.Context) VirtualNetworkRuleOutput
}

type VirtualNetworkRuleMap

type VirtualNetworkRuleMap map[string]VirtualNetworkRuleInput

func (VirtualNetworkRuleMap) ElementType

func (VirtualNetworkRuleMap) ElementType() reflect.Type

func (VirtualNetworkRuleMap) ToVirtualNetworkRuleMapOutput

func (i VirtualNetworkRuleMap) ToVirtualNetworkRuleMapOutput() VirtualNetworkRuleMapOutput

func (VirtualNetworkRuleMap) ToVirtualNetworkRuleMapOutputWithContext

func (i VirtualNetworkRuleMap) ToVirtualNetworkRuleMapOutputWithContext(ctx context.Context) VirtualNetworkRuleMapOutput

type VirtualNetworkRuleMapInput

type VirtualNetworkRuleMapInput interface {
	pulumi.Input

	ToVirtualNetworkRuleMapOutput() VirtualNetworkRuleMapOutput
	ToVirtualNetworkRuleMapOutputWithContext(context.Context) VirtualNetworkRuleMapOutput
}

VirtualNetworkRuleMapInput is an input type that accepts VirtualNetworkRuleMap and VirtualNetworkRuleMapOutput values. You can construct a concrete instance of `VirtualNetworkRuleMapInput` via:

VirtualNetworkRuleMap{ "key": VirtualNetworkRuleArgs{...} }

type VirtualNetworkRuleMapOutput

type VirtualNetworkRuleMapOutput struct{ *pulumi.OutputState }

func (VirtualNetworkRuleMapOutput) ElementType

func (VirtualNetworkRuleMapOutput) MapIndex

func (VirtualNetworkRuleMapOutput) ToVirtualNetworkRuleMapOutput

func (o VirtualNetworkRuleMapOutput) ToVirtualNetworkRuleMapOutput() VirtualNetworkRuleMapOutput

func (VirtualNetworkRuleMapOutput) ToVirtualNetworkRuleMapOutputWithContext

func (o VirtualNetworkRuleMapOutput) ToVirtualNetworkRuleMapOutputWithContext(ctx context.Context) VirtualNetworkRuleMapOutput

type VirtualNetworkRuleOutput

type VirtualNetworkRuleOutput struct{ *pulumi.OutputState }

func (VirtualNetworkRuleOutput) ElementType

func (VirtualNetworkRuleOutput) ElementType() reflect.Type

func (VirtualNetworkRuleOutput) IgnoreMissingVnetServiceEndpoint added in v5.5.0

func (o VirtualNetworkRuleOutput) IgnoreMissingVnetServiceEndpoint() pulumi.BoolPtrOutput

Create the virtual network rule before the subnet has the virtual network service endpoint enabled. The default value is false.

> **NOTE:** If `ignoreMissingVnetServiceEndpoint` is false, and the target subnet does not contain the `Microsoft.SQL` endpoint in the `serviceEndpoints` array, the deployment will fail when it tries to create the SQL virtual network rule.

func (VirtualNetworkRuleOutput) Name added in v5.5.0

The name of the SQL virtual network rule. Changing this forces a new resource to be created. Cannot be empty and must only contain alphanumeric characters and hyphens. Cannot start with a number, and cannot start or end with a hyphen.

> **NOTE:** `name` must be between 1-64 characters long and must satisfy all of the requirements below:

1. Contains only alphanumeric and hyphen characters 2. Cannot start with a number or hyphen 3. Cannot end with a hyphen

func (VirtualNetworkRuleOutput) ResourceGroupName added in v5.5.0

func (o VirtualNetworkRuleOutput) ResourceGroupName() pulumi.StringOutput

The name of the resource group where the SQL server resides. Changing this forces a new resource to be created.

func (VirtualNetworkRuleOutput) ServerName added in v5.5.0

The name of the SQL Server to which this SQL virtual network rule will be applied to. Changing this forces a new resource to be created.

func (VirtualNetworkRuleOutput) SubnetId added in v5.5.0

The ID of the subnet that the SQL server will be connected to.

func (VirtualNetworkRuleOutput) ToVirtualNetworkRuleOutput

func (o VirtualNetworkRuleOutput) ToVirtualNetworkRuleOutput() VirtualNetworkRuleOutput

func (VirtualNetworkRuleOutput) ToVirtualNetworkRuleOutputWithContext

func (o VirtualNetworkRuleOutput) ToVirtualNetworkRuleOutputWithContext(ctx context.Context) VirtualNetworkRuleOutput

type VirtualNetworkRuleState

type VirtualNetworkRuleState struct {
	// Create the virtual network rule before the subnet has the virtual network service endpoint enabled. The default value is false.
	//
	// > **NOTE:** If `ignoreMissingVnetServiceEndpoint` is false, and the target subnet does not contain the `Microsoft.SQL` endpoint in the `serviceEndpoints` array, the deployment will fail when it tries to create the SQL virtual network rule.
	IgnoreMissingVnetServiceEndpoint pulumi.BoolPtrInput
	// The name of the SQL virtual network rule. Changing this forces a new resource to be created. Cannot be empty and must only contain alphanumeric characters and hyphens. Cannot start with a number, and cannot start or end with a hyphen.
	//
	// > **NOTE:** `name` must be between 1-64 characters long and must satisfy all of the requirements below:
	//
	// 1. Contains only alphanumeric and hyphen characters
	// 2. Cannot start with a number or hyphen
	// 3. Cannot end with a hyphen
	Name pulumi.StringPtrInput
	// The name of the resource group where the SQL server resides. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The name of the SQL Server to which this SQL virtual network rule will be applied to. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
	// The ID of the subnet that the SQL server will be connected to.
	SubnetId pulumi.StringPtrInput
}

func (VirtualNetworkRuleState) ElementType

func (VirtualNetworkRuleState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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