mssql

package
v4.41.1 Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2022 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 Database

type Database struct {
	pulumi.CustomResourceState

	// Time in minutes after which database is automatically paused. A value of `-1` means that automatic pause is disabled. This property is only settable for General Purpose Serverless databases.
	AutoPauseDelayInMinutes pulumi.IntOutput `pulumi:"autoPauseDelayInMinutes"`
	// Specifies the collation of the database. Changing this forces a new resource to be created.
	Collation pulumi.StringOutput `pulumi:"collation"`
	// The create mode of the database. Possible values are `Copy`, `Default`, `OnlineSecondary`, `PointInTimeRestore`, `Recovery`, `Restore`, `RestoreExternalBackup`, `RestoreExternalBackupSecondary`, `RestoreLongTermRetentionBackup` and `Secondary`.
	CreateMode pulumi.StringPtrOutput `pulumi:"createMode"`
	// The ID of the source database from which to create the new database. This should only be used for databases with `createMode` values that use another database as reference. Changing this forces a new resource to be created.
	CreationSourceDatabaseId pulumi.StringOutput `pulumi:"creationSourceDatabaseId"`
	// Specifies the ID of the elastic pool containing this database.
	ElasticPoolId pulumi.StringPtrOutput `pulumi:"elasticPoolId"`
	// A `extendedAuditingPolicy` block as defined below.
	//
	// Deprecated: the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider.
	ExtendedAuditingPolicy DatabaseExtendedAuditingPolicyTypeOutput `pulumi:"extendedAuditingPolicy"`
	// A boolean that specifies if the Geo Backup Policy is enabled.
	GeoBackupEnabled pulumi.BoolPtrOutput `pulumi:"geoBackupEnabled"`
	// Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `BasePrice`.
	LicenseType pulumi.StringOutput `pulumi:"licenseType"`
	// A `longTermRetentionPolicy` block as defined below.
	LongTermRetentionPolicy DatabaseLongTermRetentionPolicyOutput `pulumi:"longTermRetentionPolicy"`
	// The max size of the database in gigabytes.
	MaxSizeGb pulumi.IntOutput `pulumi:"maxSizeGb"`
	// Minimal capacity that database will always have allocated, if not paused. This property is only settable for General Purpose Serverless databases.
	MinCapacity pulumi.Float64Output `pulumi:"minCapacity"`
	// The name of the Ms SQL Database. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The number of readonly secondary replicas associated with the database to which readonly application intent connections may be routed. This property is only settable for Hyperscale edition databases.
	ReadReplicaCount pulumi.IntOutput `pulumi:"readReplicaCount"`
	// If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases.
	ReadScale pulumi.BoolOutput `pulumi:"readScale"`
	// The ID of the database to be recovered. This property is only applicable when the `createMode` is `Recovery`.
	RecoverDatabaseId pulumi.StringPtrOutput `pulumi:"recoverDatabaseId"`
	// The ID of the database to be restored. This property is only applicable when the `createMode` is `Restore`.
	RestoreDroppedDatabaseId pulumi.StringPtrOutput `pulumi:"restoreDroppedDatabaseId"`
	// Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `createMode`= `PointInTimeRestore`  databases.
	RestorePointInTime pulumi.StringOutput `pulumi:"restorePointInTime"`
	// Specifies the name of the sample schema to apply when creating this database. Possible value is `AdventureWorksLT`.
	SampleName pulumi.StringOutput `pulumi:"sampleName"`
	// The id of the Ms SQL Server on which to create the database. Changing this forces a new resource to be created.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
	// A `shortTermRetentionPolicy` block as defined below.
	ShortTermRetentionPolicy DatabaseShortTermRetentionPolicyOutput `pulumi:"shortTermRetentionPolicy"`
	// Specifies the name of the SKU used by the database. For example, `GP_S_Gen5_2`,`HS_Gen4_1`,`BC_Gen5_2`, `ElasticPool`, `Basic`,`S0`, `P2` ,`DW100c`, `DS100`. Changing this from the HyperScale service tier to another service tier will force a new resource to be created.
	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`.  The default value is `GRS`.
	StorageAccountType pulumi.StringPtrOutput `pulumi:"storageAccountType"`
	// 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. This property is only settable for Premium and Business Critical databases.
	ZoneRedundant pulumi.BoolOutput `pulumi:"zoneRedundant"`
}

Manages a MS SQL Database.

> **Note:** The Database Extended Auditing Policy can be set inline here, as well as with the mssqlDatabaseExtendedAuditingPolicy resource resource. You can only use one or the other and using both will cause a conflict.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
			ResourceGroupName:      exampleResourceGroup.Name,
			Location:               exampleResourceGroup.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "exampleServer", &mssql.ServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewDatabase(ctx, "test", &mssql.DatabaseArgs{
			ServerId:      exampleServer.ID(),
			Collation:     pulumi.String("SQL_Latin1_General_CP1_CI_AS"),
			LicenseType:   pulumi.String("LicenseIncluded"),
			MaxSizeGb:     pulumi.Int(4),
			ReadScale:     pulumi.Bool(true),
			SkuName:       pulumi.String("BC_Gen5_2"),
			ZoneRedundant: pulumi.Bool(true),
			ExtendedAuditingPolicy: &mssql.DatabaseExtendedAuditingPolicyArgs{
				StorageEndpoint:                    exampleAccount.PrimaryBlobEndpoint,
				StorageAccountAccessKey:            exampleAccount.PrimaryAccessKey,
				StorageAccountAccessKeyIsSecondary: pulumi.Bool(true),
				RetentionInDays:                    pulumi.Int(6),
			},
			Tags: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import azure:mssql/database:Database example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/example1

```

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 {
	// Time in minutes after which database is automatically paused. A value of `-1` means that automatic pause is disabled. This property is only settable for General Purpose Serverless databases.
	AutoPauseDelayInMinutes pulumi.IntPtrInput
	// Specifies the collation of the database. Changing this forces a new resource to be created.
	Collation pulumi.StringPtrInput
	// The create mode of the database. Possible values are `Copy`, `Default`, `OnlineSecondary`, `PointInTimeRestore`, `Recovery`, `Restore`, `RestoreExternalBackup`, `RestoreExternalBackupSecondary`, `RestoreLongTermRetentionBackup` and `Secondary`.
	CreateMode pulumi.StringPtrInput
	// The ID of the source database from which to create the new database. This should only be used for databases with `createMode` values that use another database as reference. Changing this forces a new resource to be created.
	CreationSourceDatabaseId pulumi.StringPtrInput
	// Specifies the ID of the elastic pool containing this database.
	ElasticPoolId pulumi.StringPtrInput
	// A `extendedAuditingPolicy` block as defined below.
	//
	// Deprecated: the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider.
	ExtendedAuditingPolicy DatabaseExtendedAuditingPolicyTypePtrInput
	// A boolean that specifies if the Geo Backup Policy is enabled.
	GeoBackupEnabled pulumi.BoolPtrInput
	// Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `BasePrice`.
	LicenseType pulumi.StringPtrInput
	// A `longTermRetentionPolicy` block as defined below.
	LongTermRetentionPolicy DatabaseLongTermRetentionPolicyPtrInput
	// The max size of the database in gigabytes.
	MaxSizeGb pulumi.IntPtrInput
	// Minimal capacity that database will always have allocated, if not paused. This property is only settable for General Purpose Serverless databases.
	MinCapacity pulumi.Float64PtrInput
	// The name of the Ms SQL Database. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The number of readonly secondary replicas associated with the database to which readonly application intent connections may be routed. This property is only settable for Hyperscale edition databases.
	ReadReplicaCount pulumi.IntPtrInput
	// If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases.
	ReadScale pulumi.BoolPtrInput
	// The ID of the database to be recovered. This property is only applicable when the `createMode` is `Recovery`.
	RecoverDatabaseId pulumi.StringPtrInput
	// The ID of the database to be restored. This property is only applicable when the `createMode` is `Restore`.
	RestoreDroppedDatabaseId pulumi.StringPtrInput
	// Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `createMode`= `PointInTimeRestore`  databases.
	RestorePointInTime pulumi.StringPtrInput
	// Specifies the name of the sample schema to apply when creating this database. Possible value is `AdventureWorksLT`.
	SampleName pulumi.StringPtrInput
	// The id of the Ms SQL Server on which to create the database. Changing this forces a new resource to be created.
	ServerId pulumi.StringInput
	// A `shortTermRetentionPolicy` block as defined below.
	ShortTermRetentionPolicy DatabaseShortTermRetentionPolicyPtrInput
	// Specifies the name of the SKU used by the database. For example, `GP_S_Gen5_2`,`HS_Gen4_1`,`BC_Gen5_2`, `ElasticPool`, `Basic`,`S0`, `P2` ,`DW100c`, `DS100`. Changing this from the HyperScale service tier to another service tier will force a new resource to be created.
	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`.  The default value is `GRS`.
	StorageAccountType 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. This property is only settable for Premium and Business Critical databases.
	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 DatabaseExtendedAuditingPolicy

type DatabaseExtendedAuditingPolicy struct {
	pulumi.CustomResourceState

	// The ID of the sql database to set the extended auditing policy. Changing this forces a new resource to be created.
	DatabaseId pulumi.StringOutput `pulumi:"databaseId"`
	// Enable audit events to Azure Monitor?
	LogMonitoringEnabled pulumi.BoolPtrOutput `pulumi:"logMonitoringEnabled"`
	// The number of days to retain logs for in the storage account.
	RetentionInDays pulumi.IntPtrOutput `pulumi:"retentionInDays"`
	// The access key to use for the auditing storage account.
	StorageAccountAccessKey pulumi.StringPtrOutput `pulumi:"storageAccountAccessKey"`
	// Is `storageAccountAccessKey` value the storage's secondary key?
	StorageAccountAccessKeyIsSecondary pulumi.BoolPtrOutput `pulumi:"storageAccountAccessKeyIsSecondary"`
	// The blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all extended auditing logs.
	StorageEndpoint pulumi.StringPtrOutput `pulumi:"storageEndpoint"`
}

Manages a Ms Sql Database Extended Auditing Policy.

> **NOTE:** The Database Extended Auditing Policy can also be set in the `extendedAuditingPolicy` block in the mssql.Database resource. You can only use one or the other and using both will cause a conflict.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "exampleServer", &mssql.ServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("AdminPassword123!"),
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := mssql.NewDatabase(ctx, "exampleDatabase", &mssql.DatabaseArgs{
			ServerId: exampleServer.ID(),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
			ResourceGroupName:      exampleResourceGroup.Name,
			Location:               exampleResourceGroup.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewDatabaseExtendedAuditingPolicy(ctx, "exampleDatabaseExtendedAuditingPolicy", &mssql.DatabaseExtendedAuditingPolicyArgs{
			DatabaseId:                         exampleDatabase.ID(),
			StorageEndpoint:                    exampleAccount.PrimaryBlobEndpoint,
			StorageAccountAccessKey:            exampleAccount.PrimaryAccessKey,
			StorageAccountAccessKeyIsSecondary: pulumi.Bool(false),
			RetentionInDays:                    pulumi.Int(6),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Ms Sql Database Extended Auditing Policys can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:mssql/databaseExtendedAuditingPolicy:DatabaseExtendedAuditingPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlServer1/databases/db1/extendedAuditingSettings/default

```

func GetDatabaseExtendedAuditingPolicy

func GetDatabaseExtendedAuditingPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatabaseExtendedAuditingPolicyState, opts ...pulumi.ResourceOption) (*DatabaseExtendedAuditingPolicy, error)

GetDatabaseExtendedAuditingPolicy gets an existing DatabaseExtendedAuditingPolicy 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 NewDatabaseExtendedAuditingPolicy

func NewDatabaseExtendedAuditingPolicy(ctx *pulumi.Context,
	name string, args *DatabaseExtendedAuditingPolicyArgs, opts ...pulumi.ResourceOption) (*DatabaseExtendedAuditingPolicy, error)

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

func (*DatabaseExtendedAuditingPolicy) ElementType

func (*DatabaseExtendedAuditingPolicy) ToDatabaseExtendedAuditingPolicyOutput

func (i *DatabaseExtendedAuditingPolicy) ToDatabaseExtendedAuditingPolicyOutput() DatabaseExtendedAuditingPolicyOutput

func (*DatabaseExtendedAuditingPolicy) ToDatabaseExtendedAuditingPolicyOutputWithContext

func (i *DatabaseExtendedAuditingPolicy) ToDatabaseExtendedAuditingPolicyOutputWithContext(ctx context.Context) DatabaseExtendedAuditingPolicyOutput

type DatabaseExtendedAuditingPolicyArgs

type DatabaseExtendedAuditingPolicyArgs struct {
	// The ID of the sql database to set the extended auditing policy. Changing this forces a new resource to be created.
	DatabaseId pulumi.StringInput
	// Enable audit events to Azure Monitor?
	LogMonitoringEnabled pulumi.BoolPtrInput
	// The number of days to retain logs for in the storage account.
	RetentionInDays pulumi.IntPtrInput
	// The access key to use for the auditing storage account.
	StorageAccountAccessKey pulumi.StringPtrInput
	// Is `storageAccountAccessKey` value the storage's secondary key?
	StorageAccountAccessKeyIsSecondary pulumi.BoolPtrInput
	// The blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all extended auditing logs.
	StorageEndpoint pulumi.StringPtrInput
}

The set of arguments for constructing a DatabaseExtendedAuditingPolicy resource.

func (DatabaseExtendedAuditingPolicyArgs) ElementType

type DatabaseExtendedAuditingPolicyArray

type DatabaseExtendedAuditingPolicyArray []DatabaseExtendedAuditingPolicyInput

func (DatabaseExtendedAuditingPolicyArray) ElementType

func (DatabaseExtendedAuditingPolicyArray) ToDatabaseExtendedAuditingPolicyArrayOutput

func (i DatabaseExtendedAuditingPolicyArray) ToDatabaseExtendedAuditingPolicyArrayOutput() DatabaseExtendedAuditingPolicyArrayOutput

func (DatabaseExtendedAuditingPolicyArray) ToDatabaseExtendedAuditingPolicyArrayOutputWithContext

func (i DatabaseExtendedAuditingPolicyArray) ToDatabaseExtendedAuditingPolicyArrayOutputWithContext(ctx context.Context) DatabaseExtendedAuditingPolicyArrayOutput

type DatabaseExtendedAuditingPolicyArrayInput

type DatabaseExtendedAuditingPolicyArrayInput interface {
	pulumi.Input

	ToDatabaseExtendedAuditingPolicyArrayOutput() DatabaseExtendedAuditingPolicyArrayOutput
	ToDatabaseExtendedAuditingPolicyArrayOutputWithContext(context.Context) DatabaseExtendedAuditingPolicyArrayOutput
}

DatabaseExtendedAuditingPolicyArrayInput is an input type that accepts DatabaseExtendedAuditingPolicyArray and DatabaseExtendedAuditingPolicyArrayOutput values. You can construct a concrete instance of `DatabaseExtendedAuditingPolicyArrayInput` via:

DatabaseExtendedAuditingPolicyArray{ DatabaseExtendedAuditingPolicyArgs{...} }

type DatabaseExtendedAuditingPolicyArrayOutput

type DatabaseExtendedAuditingPolicyArrayOutput struct{ *pulumi.OutputState }

func (DatabaseExtendedAuditingPolicyArrayOutput) ElementType

func (DatabaseExtendedAuditingPolicyArrayOutput) Index

func (DatabaseExtendedAuditingPolicyArrayOutput) ToDatabaseExtendedAuditingPolicyArrayOutput

func (o DatabaseExtendedAuditingPolicyArrayOutput) ToDatabaseExtendedAuditingPolicyArrayOutput() DatabaseExtendedAuditingPolicyArrayOutput

func (DatabaseExtendedAuditingPolicyArrayOutput) ToDatabaseExtendedAuditingPolicyArrayOutputWithContext

func (o DatabaseExtendedAuditingPolicyArrayOutput) ToDatabaseExtendedAuditingPolicyArrayOutputWithContext(ctx context.Context) DatabaseExtendedAuditingPolicyArrayOutput

type DatabaseExtendedAuditingPolicyInput

type DatabaseExtendedAuditingPolicyInput interface {
	pulumi.Input

	ToDatabaseExtendedAuditingPolicyOutput() DatabaseExtendedAuditingPolicyOutput
	ToDatabaseExtendedAuditingPolicyOutputWithContext(ctx context.Context) DatabaseExtendedAuditingPolicyOutput
}

type DatabaseExtendedAuditingPolicyMap

type DatabaseExtendedAuditingPolicyMap map[string]DatabaseExtendedAuditingPolicyInput

func (DatabaseExtendedAuditingPolicyMap) ElementType

func (DatabaseExtendedAuditingPolicyMap) ToDatabaseExtendedAuditingPolicyMapOutput

func (i DatabaseExtendedAuditingPolicyMap) ToDatabaseExtendedAuditingPolicyMapOutput() DatabaseExtendedAuditingPolicyMapOutput

func (DatabaseExtendedAuditingPolicyMap) ToDatabaseExtendedAuditingPolicyMapOutputWithContext

func (i DatabaseExtendedAuditingPolicyMap) ToDatabaseExtendedAuditingPolicyMapOutputWithContext(ctx context.Context) DatabaseExtendedAuditingPolicyMapOutput

type DatabaseExtendedAuditingPolicyMapInput

type DatabaseExtendedAuditingPolicyMapInput interface {
	pulumi.Input

	ToDatabaseExtendedAuditingPolicyMapOutput() DatabaseExtendedAuditingPolicyMapOutput
	ToDatabaseExtendedAuditingPolicyMapOutputWithContext(context.Context) DatabaseExtendedAuditingPolicyMapOutput
}

DatabaseExtendedAuditingPolicyMapInput is an input type that accepts DatabaseExtendedAuditingPolicyMap and DatabaseExtendedAuditingPolicyMapOutput values. You can construct a concrete instance of `DatabaseExtendedAuditingPolicyMapInput` via:

DatabaseExtendedAuditingPolicyMap{ "key": DatabaseExtendedAuditingPolicyArgs{...} }

type DatabaseExtendedAuditingPolicyMapOutput

type DatabaseExtendedAuditingPolicyMapOutput struct{ *pulumi.OutputState }

func (DatabaseExtendedAuditingPolicyMapOutput) ElementType

func (DatabaseExtendedAuditingPolicyMapOutput) MapIndex

func (DatabaseExtendedAuditingPolicyMapOutput) ToDatabaseExtendedAuditingPolicyMapOutput

func (o DatabaseExtendedAuditingPolicyMapOutput) ToDatabaseExtendedAuditingPolicyMapOutput() DatabaseExtendedAuditingPolicyMapOutput

func (DatabaseExtendedAuditingPolicyMapOutput) ToDatabaseExtendedAuditingPolicyMapOutputWithContext

func (o DatabaseExtendedAuditingPolicyMapOutput) ToDatabaseExtendedAuditingPolicyMapOutputWithContext(ctx context.Context) DatabaseExtendedAuditingPolicyMapOutput

type DatabaseExtendedAuditingPolicyOutput

type DatabaseExtendedAuditingPolicyOutput struct{ *pulumi.OutputState }

func (DatabaseExtendedAuditingPolicyOutput) ElementType

func (DatabaseExtendedAuditingPolicyOutput) ToDatabaseExtendedAuditingPolicyOutput

func (o DatabaseExtendedAuditingPolicyOutput) ToDatabaseExtendedAuditingPolicyOutput() DatabaseExtendedAuditingPolicyOutput

func (DatabaseExtendedAuditingPolicyOutput) ToDatabaseExtendedAuditingPolicyOutputWithContext

func (o DatabaseExtendedAuditingPolicyOutput) ToDatabaseExtendedAuditingPolicyOutputWithContext(ctx context.Context) DatabaseExtendedAuditingPolicyOutput

type DatabaseExtendedAuditingPolicyState

type DatabaseExtendedAuditingPolicyState struct {
	// The ID of the sql database to set the extended auditing policy. Changing this forces a new resource to be created.
	DatabaseId pulumi.StringPtrInput
	// Enable audit events to Azure Monitor?
	LogMonitoringEnabled pulumi.BoolPtrInput
	// The number of days to retain logs for in the storage account.
	RetentionInDays pulumi.IntPtrInput
	// The access key to use for the auditing storage account.
	StorageAccountAccessKey pulumi.StringPtrInput
	// Is `storageAccountAccessKey` value the storage's secondary key?
	StorageAccountAccessKeyIsSecondary pulumi.BoolPtrInput
	// The blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all extended auditing logs.
	StorageEndpoint pulumi.StringPtrInput
}

func (DatabaseExtendedAuditingPolicyState) ElementType

type DatabaseExtendedAuditingPolicyType

type DatabaseExtendedAuditingPolicyType struct {
	LogMonitoringEnabled *bool `pulumi:"logMonitoringEnabled"`
	// Specifies the number of days to retain logs for in the storage account.
	RetentionInDays *int `pulumi:"retentionInDays"`
	// Specifies the access key to use for the auditing storage account.
	StorageAccountAccessKey *string `pulumi:"storageAccountAccessKey"`
	// Specifies whether `storageAccountAccessKey` value is the storage's secondary key.
	StorageAccountAccessKeyIsSecondary *bool   `pulumi:"storageAccountAccessKeyIsSecondary"`
	StorageAccountSubscriptionId       *string `pulumi:"storageAccountSubscriptionId"`
	// Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net).
	StorageEndpoint *string `pulumi:"storageEndpoint"`
}

type DatabaseExtendedAuditingPolicyTypeArgs

type DatabaseExtendedAuditingPolicyTypeArgs struct {
	LogMonitoringEnabled pulumi.BoolPtrInput `pulumi:"logMonitoringEnabled"`
	// Specifies the number of days to retain logs for in the storage account.
	RetentionInDays pulumi.IntPtrInput `pulumi:"retentionInDays"`
	// Specifies the access key to use for the auditing storage account.
	StorageAccountAccessKey pulumi.StringPtrInput `pulumi:"storageAccountAccessKey"`
	// Specifies whether `storageAccountAccessKey` value is the storage's secondary key.
	StorageAccountAccessKeyIsSecondary pulumi.BoolPtrInput   `pulumi:"storageAccountAccessKeyIsSecondary"`
	StorageAccountSubscriptionId       pulumi.StringPtrInput `pulumi:"storageAccountSubscriptionId"`
	// Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net).
	StorageEndpoint pulumi.StringPtrInput `pulumi:"storageEndpoint"`
}

func (DatabaseExtendedAuditingPolicyTypeArgs) ElementType

func (DatabaseExtendedAuditingPolicyTypeArgs) ToDatabaseExtendedAuditingPolicyTypeOutput

func (i DatabaseExtendedAuditingPolicyTypeArgs) ToDatabaseExtendedAuditingPolicyTypeOutput() DatabaseExtendedAuditingPolicyTypeOutput

func (DatabaseExtendedAuditingPolicyTypeArgs) ToDatabaseExtendedAuditingPolicyTypeOutputWithContext

func (i DatabaseExtendedAuditingPolicyTypeArgs) ToDatabaseExtendedAuditingPolicyTypeOutputWithContext(ctx context.Context) DatabaseExtendedAuditingPolicyTypeOutput

func (DatabaseExtendedAuditingPolicyTypeArgs) ToDatabaseExtendedAuditingPolicyTypePtrOutput

func (i DatabaseExtendedAuditingPolicyTypeArgs) ToDatabaseExtendedAuditingPolicyTypePtrOutput() DatabaseExtendedAuditingPolicyTypePtrOutput

func (DatabaseExtendedAuditingPolicyTypeArgs) ToDatabaseExtendedAuditingPolicyTypePtrOutputWithContext

func (i DatabaseExtendedAuditingPolicyTypeArgs) ToDatabaseExtendedAuditingPolicyTypePtrOutputWithContext(ctx context.Context) DatabaseExtendedAuditingPolicyTypePtrOutput

type DatabaseExtendedAuditingPolicyTypeInput

type DatabaseExtendedAuditingPolicyTypeInput interface {
	pulumi.Input

	ToDatabaseExtendedAuditingPolicyTypeOutput() DatabaseExtendedAuditingPolicyTypeOutput
	ToDatabaseExtendedAuditingPolicyTypeOutputWithContext(context.Context) DatabaseExtendedAuditingPolicyTypeOutput
}

DatabaseExtendedAuditingPolicyTypeInput is an input type that accepts DatabaseExtendedAuditingPolicyTypeArgs and DatabaseExtendedAuditingPolicyTypeOutput values. You can construct a concrete instance of `DatabaseExtendedAuditingPolicyTypeInput` via:

DatabaseExtendedAuditingPolicyTypeArgs{...}

type DatabaseExtendedAuditingPolicyTypeOutput

type DatabaseExtendedAuditingPolicyTypeOutput struct{ *pulumi.OutputState }

func (DatabaseExtendedAuditingPolicyTypeOutput) ElementType

func (DatabaseExtendedAuditingPolicyTypeOutput) LogMonitoringEnabled

func (DatabaseExtendedAuditingPolicyTypeOutput) RetentionInDays

Specifies the number of days to retain logs for in the storage account.

func (DatabaseExtendedAuditingPolicyTypeOutput) StorageAccountAccessKey

Specifies the access key to use for the auditing storage account.

func (DatabaseExtendedAuditingPolicyTypeOutput) StorageAccountAccessKeyIsSecondary

func (o DatabaseExtendedAuditingPolicyTypeOutput) StorageAccountAccessKeyIsSecondary() pulumi.BoolPtrOutput

Specifies whether `storageAccountAccessKey` value is the storage's secondary key.

func (DatabaseExtendedAuditingPolicyTypeOutput) StorageAccountSubscriptionId added in v4.34.0

func (o DatabaseExtendedAuditingPolicyTypeOutput) StorageAccountSubscriptionId() pulumi.StringPtrOutput

func (DatabaseExtendedAuditingPolicyTypeOutput) StorageEndpoint

Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net).

func (DatabaseExtendedAuditingPolicyTypeOutput) ToDatabaseExtendedAuditingPolicyTypeOutput

func (o DatabaseExtendedAuditingPolicyTypeOutput) ToDatabaseExtendedAuditingPolicyTypeOutput() DatabaseExtendedAuditingPolicyTypeOutput

func (DatabaseExtendedAuditingPolicyTypeOutput) ToDatabaseExtendedAuditingPolicyTypeOutputWithContext

func (o DatabaseExtendedAuditingPolicyTypeOutput) ToDatabaseExtendedAuditingPolicyTypeOutputWithContext(ctx context.Context) DatabaseExtendedAuditingPolicyTypeOutput

func (DatabaseExtendedAuditingPolicyTypeOutput) ToDatabaseExtendedAuditingPolicyTypePtrOutput

func (o DatabaseExtendedAuditingPolicyTypeOutput) ToDatabaseExtendedAuditingPolicyTypePtrOutput() DatabaseExtendedAuditingPolicyTypePtrOutput

func (DatabaseExtendedAuditingPolicyTypeOutput) ToDatabaseExtendedAuditingPolicyTypePtrOutputWithContext

func (o DatabaseExtendedAuditingPolicyTypeOutput) ToDatabaseExtendedAuditingPolicyTypePtrOutputWithContext(ctx context.Context) DatabaseExtendedAuditingPolicyTypePtrOutput

type DatabaseExtendedAuditingPolicyTypePtrInput

type DatabaseExtendedAuditingPolicyTypePtrInput interface {
	pulumi.Input

	ToDatabaseExtendedAuditingPolicyTypePtrOutput() DatabaseExtendedAuditingPolicyTypePtrOutput
	ToDatabaseExtendedAuditingPolicyTypePtrOutputWithContext(context.Context) DatabaseExtendedAuditingPolicyTypePtrOutput
}

DatabaseExtendedAuditingPolicyTypePtrInput is an input type that accepts DatabaseExtendedAuditingPolicyTypeArgs, DatabaseExtendedAuditingPolicyTypePtr and DatabaseExtendedAuditingPolicyTypePtrOutput values. You can construct a concrete instance of `DatabaseExtendedAuditingPolicyTypePtrInput` via:

        DatabaseExtendedAuditingPolicyTypeArgs{...}

or:

        nil

type DatabaseExtendedAuditingPolicyTypePtrOutput

type DatabaseExtendedAuditingPolicyTypePtrOutput struct{ *pulumi.OutputState }

func (DatabaseExtendedAuditingPolicyTypePtrOutput) Elem

func (DatabaseExtendedAuditingPolicyTypePtrOutput) ElementType

func (DatabaseExtendedAuditingPolicyTypePtrOutput) LogMonitoringEnabled

func (DatabaseExtendedAuditingPolicyTypePtrOutput) RetentionInDays

Specifies the number of days to retain logs for in the storage account.

func (DatabaseExtendedAuditingPolicyTypePtrOutput) StorageAccountAccessKey

Specifies the access key to use for the auditing storage account.

func (DatabaseExtendedAuditingPolicyTypePtrOutput) StorageAccountAccessKeyIsSecondary

func (o DatabaseExtendedAuditingPolicyTypePtrOutput) StorageAccountAccessKeyIsSecondary() pulumi.BoolPtrOutput

Specifies whether `storageAccountAccessKey` value is the storage's secondary key.

func (DatabaseExtendedAuditingPolicyTypePtrOutput) StorageAccountSubscriptionId added in v4.34.0

func (o DatabaseExtendedAuditingPolicyTypePtrOutput) StorageAccountSubscriptionId() pulumi.StringPtrOutput

func (DatabaseExtendedAuditingPolicyTypePtrOutput) StorageEndpoint

Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net).

func (DatabaseExtendedAuditingPolicyTypePtrOutput) ToDatabaseExtendedAuditingPolicyTypePtrOutput

func (o DatabaseExtendedAuditingPolicyTypePtrOutput) ToDatabaseExtendedAuditingPolicyTypePtrOutput() DatabaseExtendedAuditingPolicyTypePtrOutput

func (DatabaseExtendedAuditingPolicyTypePtrOutput) ToDatabaseExtendedAuditingPolicyTypePtrOutputWithContext

func (o DatabaseExtendedAuditingPolicyTypePtrOutput) ToDatabaseExtendedAuditingPolicyTypePtrOutputWithContext(ctx context.Context) DatabaseExtendedAuditingPolicyTypePtrOutput

type DatabaseInput

type DatabaseInput interface {
	pulumi.Input

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

type DatabaseLongTermRetentionPolicy

type DatabaseLongTermRetentionPolicy struct {
	// The monthly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 120 months. e.g. `P1Y`, `P1M`, `P4W` or `P30D`.
	MonthlyRetention *string `pulumi:"monthlyRetention"`
	// The week of year to take the yearly backup in an ISO 8601 format. Value has to be between `1` and `52`.
	WeekOfYear *int `pulumi:"weekOfYear"`
	// The weekly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 520 weeks. e.g. `P1Y`, `P1M`, `P1W` or `P7D`.
	WeeklyRetention *string `pulumi:"weeklyRetention"`
	// The yearly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 10 years. e.g. `P1Y`, `P12M`, `P52W` or `P365D`.
	YearlyRetention *string `pulumi:"yearlyRetention"`
}

type DatabaseLongTermRetentionPolicyArgs

type DatabaseLongTermRetentionPolicyArgs struct {
	// The monthly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 120 months. e.g. `P1Y`, `P1M`, `P4W` or `P30D`.
	MonthlyRetention pulumi.StringPtrInput `pulumi:"monthlyRetention"`
	// The week of year to take the yearly backup in an ISO 8601 format. Value has to be between `1` and `52`.
	WeekOfYear pulumi.IntPtrInput `pulumi:"weekOfYear"`
	// The weekly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 520 weeks. e.g. `P1Y`, `P1M`, `P1W` or `P7D`.
	WeeklyRetention pulumi.StringPtrInput `pulumi:"weeklyRetention"`
	// The yearly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 10 years. e.g. `P1Y`, `P12M`, `P52W` or `P365D`.
	YearlyRetention pulumi.StringPtrInput `pulumi:"yearlyRetention"`
}

func (DatabaseLongTermRetentionPolicyArgs) ElementType

func (DatabaseLongTermRetentionPolicyArgs) ToDatabaseLongTermRetentionPolicyOutput

func (i DatabaseLongTermRetentionPolicyArgs) ToDatabaseLongTermRetentionPolicyOutput() DatabaseLongTermRetentionPolicyOutput

func (DatabaseLongTermRetentionPolicyArgs) ToDatabaseLongTermRetentionPolicyOutputWithContext

func (i DatabaseLongTermRetentionPolicyArgs) ToDatabaseLongTermRetentionPolicyOutputWithContext(ctx context.Context) DatabaseLongTermRetentionPolicyOutput

func (DatabaseLongTermRetentionPolicyArgs) ToDatabaseLongTermRetentionPolicyPtrOutput

func (i DatabaseLongTermRetentionPolicyArgs) ToDatabaseLongTermRetentionPolicyPtrOutput() DatabaseLongTermRetentionPolicyPtrOutput

func (DatabaseLongTermRetentionPolicyArgs) ToDatabaseLongTermRetentionPolicyPtrOutputWithContext

func (i DatabaseLongTermRetentionPolicyArgs) ToDatabaseLongTermRetentionPolicyPtrOutputWithContext(ctx context.Context) DatabaseLongTermRetentionPolicyPtrOutput

type DatabaseLongTermRetentionPolicyInput

type DatabaseLongTermRetentionPolicyInput interface {
	pulumi.Input

	ToDatabaseLongTermRetentionPolicyOutput() DatabaseLongTermRetentionPolicyOutput
	ToDatabaseLongTermRetentionPolicyOutputWithContext(context.Context) DatabaseLongTermRetentionPolicyOutput
}

DatabaseLongTermRetentionPolicyInput is an input type that accepts DatabaseLongTermRetentionPolicyArgs and DatabaseLongTermRetentionPolicyOutput values. You can construct a concrete instance of `DatabaseLongTermRetentionPolicyInput` via:

DatabaseLongTermRetentionPolicyArgs{...}

type DatabaseLongTermRetentionPolicyOutput

type DatabaseLongTermRetentionPolicyOutput struct{ *pulumi.OutputState }

func (DatabaseLongTermRetentionPolicyOutput) ElementType

func (DatabaseLongTermRetentionPolicyOutput) MonthlyRetention

The monthly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 120 months. e.g. `P1Y`, `P1M`, `P4W` or `P30D`.

func (DatabaseLongTermRetentionPolicyOutput) ToDatabaseLongTermRetentionPolicyOutput

func (o DatabaseLongTermRetentionPolicyOutput) ToDatabaseLongTermRetentionPolicyOutput() DatabaseLongTermRetentionPolicyOutput

func (DatabaseLongTermRetentionPolicyOutput) ToDatabaseLongTermRetentionPolicyOutputWithContext

func (o DatabaseLongTermRetentionPolicyOutput) ToDatabaseLongTermRetentionPolicyOutputWithContext(ctx context.Context) DatabaseLongTermRetentionPolicyOutput

func (DatabaseLongTermRetentionPolicyOutput) ToDatabaseLongTermRetentionPolicyPtrOutput

func (o DatabaseLongTermRetentionPolicyOutput) ToDatabaseLongTermRetentionPolicyPtrOutput() DatabaseLongTermRetentionPolicyPtrOutput

func (DatabaseLongTermRetentionPolicyOutput) ToDatabaseLongTermRetentionPolicyPtrOutputWithContext

func (o DatabaseLongTermRetentionPolicyOutput) ToDatabaseLongTermRetentionPolicyPtrOutputWithContext(ctx context.Context) DatabaseLongTermRetentionPolicyPtrOutput

func (DatabaseLongTermRetentionPolicyOutput) WeekOfYear

The week of year to take the yearly backup in an ISO 8601 format. Value has to be between `1` and `52`.

func (DatabaseLongTermRetentionPolicyOutput) WeeklyRetention

The weekly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 520 weeks. e.g. `P1Y`, `P1M`, `P1W` or `P7D`.

func (DatabaseLongTermRetentionPolicyOutput) YearlyRetention

The yearly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 10 years. e.g. `P1Y`, `P12M`, `P52W` or `P365D`.

type DatabaseLongTermRetentionPolicyPtrInput

type DatabaseLongTermRetentionPolicyPtrInput interface {
	pulumi.Input

	ToDatabaseLongTermRetentionPolicyPtrOutput() DatabaseLongTermRetentionPolicyPtrOutput
	ToDatabaseLongTermRetentionPolicyPtrOutputWithContext(context.Context) DatabaseLongTermRetentionPolicyPtrOutput
}

DatabaseLongTermRetentionPolicyPtrInput is an input type that accepts DatabaseLongTermRetentionPolicyArgs, DatabaseLongTermRetentionPolicyPtr and DatabaseLongTermRetentionPolicyPtrOutput values. You can construct a concrete instance of `DatabaseLongTermRetentionPolicyPtrInput` via:

        DatabaseLongTermRetentionPolicyArgs{...}

or:

        nil

type DatabaseLongTermRetentionPolicyPtrOutput

type DatabaseLongTermRetentionPolicyPtrOutput struct{ *pulumi.OutputState }

func (DatabaseLongTermRetentionPolicyPtrOutput) Elem

func (DatabaseLongTermRetentionPolicyPtrOutput) ElementType

func (DatabaseLongTermRetentionPolicyPtrOutput) MonthlyRetention

The monthly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 120 months. e.g. `P1Y`, `P1M`, `P4W` or `P30D`.

func (DatabaseLongTermRetentionPolicyPtrOutput) ToDatabaseLongTermRetentionPolicyPtrOutput

func (o DatabaseLongTermRetentionPolicyPtrOutput) ToDatabaseLongTermRetentionPolicyPtrOutput() DatabaseLongTermRetentionPolicyPtrOutput

func (DatabaseLongTermRetentionPolicyPtrOutput) ToDatabaseLongTermRetentionPolicyPtrOutputWithContext

func (o DatabaseLongTermRetentionPolicyPtrOutput) ToDatabaseLongTermRetentionPolicyPtrOutputWithContext(ctx context.Context) DatabaseLongTermRetentionPolicyPtrOutput

func (DatabaseLongTermRetentionPolicyPtrOutput) WeekOfYear

The week of year to take the yearly backup in an ISO 8601 format. Value has to be between `1` and `52`.

func (DatabaseLongTermRetentionPolicyPtrOutput) WeeklyRetention

The weekly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 520 weeks. e.g. `P1Y`, `P1M`, `P1W` or `P7D`.

func (DatabaseLongTermRetentionPolicyPtrOutput) YearlyRetention

The yearly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 10 years. e.g. `P1Y`, `P12M`, `P52W` or `P365D`.

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) ElementType

func (DatabaseOutput) ElementType() reflect.Type

func (DatabaseOutput) ToDatabaseOutput

func (o DatabaseOutput) ToDatabaseOutput() DatabaseOutput

func (DatabaseOutput) ToDatabaseOutputWithContext

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

type DatabaseShortTermRetentionPolicy

type DatabaseShortTermRetentionPolicy struct {
	// Point In Time Restore configuration. Value has to be between `7` and `35`.
	RetentionDays int `pulumi:"retentionDays"`
}

type DatabaseShortTermRetentionPolicyArgs

type DatabaseShortTermRetentionPolicyArgs struct {
	// Point In Time Restore configuration. Value has to be between `7` and `35`.
	RetentionDays pulumi.IntInput `pulumi:"retentionDays"`
}

func (DatabaseShortTermRetentionPolicyArgs) ElementType

func (DatabaseShortTermRetentionPolicyArgs) ToDatabaseShortTermRetentionPolicyOutput

func (i DatabaseShortTermRetentionPolicyArgs) ToDatabaseShortTermRetentionPolicyOutput() DatabaseShortTermRetentionPolicyOutput

func (DatabaseShortTermRetentionPolicyArgs) ToDatabaseShortTermRetentionPolicyOutputWithContext

func (i DatabaseShortTermRetentionPolicyArgs) ToDatabaseShortTermRetentionPolicyOutputWithContext(ctx context.Context) DatabaseShortTermRetentionPolicyOutput

func (DatabaseShortTermRetentionPolicyArgs) ToDatabaseShortTermRetentionPolicyPtrOutput

func (i DatabaseShortTermRetentionPolicyArgs) ToDatabaseShortTermRetentionPolicyPtrOutput() DatabaseShortTermRetentionPolicyPtrOutput

func (DatabaseShortTermRetentionPolicyArgs) ToDatabaseShortTermRetentionPolicyPtrOutputWithContext

func (i DatabaseShortTermRetentionPolicyArgs) ToDatabaseShortTermRetentionPolicyPtrOutputWithContext(ctx context.Context) DatabaseShortTermRetentionPolicyPtrOutput

type DatabaseShortTermRetentionPolicyInput

type DatabaseShortTermRetentionPolicyInput interface {
	pulumi.Input

	ToDatabaseShortTermRetentionPolicyOutput() DatabaseShortTermRetentionPolicyOutput
	ToDatabaseShortTermRetentionPolicyOutputWithContext(context.Context) DatabaseShortTermRetentionPolicyOutput
}

DatabaseShortTermRetentionPolicyInput is an input type that accepts DatabaseShortTermRetentionPolicyArgs and DatabaseShortTermRetentionPolicyOutput values. You can construct a concrete instance of `DatabaseShortTermRetentionPolicyInput` via:

DatabaseShortTermRetentionPolicyArgs{...}

type DatabaseShortTermRetentionPolicyOutput

type DatabaseShortTermRetentionPolicyOutput struct{ *pulumi.OutputState }

func (DatabaseShortTermRetentionPolicyOutput) ElementType

func (DatabaseShortTermRetentionPolicyOutput) RetentionDays

Point In Time Restore configuration. Value has to be between `7` and `35`.

func (DatabaseShortTermRetentionPolicyOutput) ToDatabaseShortTermRetentionPolicyOutput

func (o DatabaseShortTermRetentionPolicyOutput) ToDatabaseShortTermRetentionPolicyOutput() DatabaseShortTermRetentionPolicyOutput

func (DatabaseShortTermRetentionPolicyOutput) ToDatabaseShortTermRetentionPolicyOutputWithContext

func (o DatabaseShortTermRetentionPolicyOutput) ToDatabaseShortTermRetentionPolicyOutputWithContext(ctx context.Context) DatabaseShortTermRetentionPolicyOutput

func (DatabaseShortTermRetentionPolicyOutput) ToDatabaseShortTermRetentionPolicyPtrOutput

func (o DatabaseShortTermRetentionPolicyOutput) ToDatabaseShortTermRetentionPolicyPtrOutput() DatabaseShortTermRetentionPolicyPtrOutput

func (DatabaseShortTermRetentionPolicyOutput) ToDatabaseShortTermRetentionPolicyPtrOutputWithContext

func (o DatabaseShortTermRetentionPolicyOutput) ToDatabaseShortTermRetentionPolicyPtrOutputWithContext(ctx context.Context) DatabaseShortTermRetentionPolicyPtrOutput

type DatabaseShortTermRetentionPolicyPtrInput

type DatabaseShortTermRetentionPolicyPtrInput interface {
	pulumi.Input

	ToDatabaseShortTermRetentionPolicyPtrOutput() DatabaseShortTermRetentionPolicyPtrOutput
	ToDatabaseShortTermRetentionPolicyPtrOutputWithContext(context.Context) DatabaseShortTermRetentionPolicyPtrOutput
}

DatabaseShortTermRetentionPolicyPtrInput is an input type that accepts DatabaseShortTermRetentionPolicyArgs, DatabaseShortTermRetentionPolicyPtr and DatabaseShortTermRetentionPolicyPtrOutput values. You can construct a concrete instance of `DatabaseShortTermRetentionPolicyPtrInput` via:

        DatabaseShortTermRetentionPolicyArgs{...}

or:

        nil

type DatabaseShortTermRetentionPolicyPtrOutput

type DatabaseShortTermRetentionPolicyPtrOutput struct{ *pulumi.OutputState }

func (DatabaseShortTermRetentionPolicyPtrOutput) Elem

func (DatabaseShortTermRetentionPolicyPtrOutput) ElementType

func (DatabaseShortTermRetentionPolicyPtrOutput) RetentionDays

Point In Time Restore configuration. Value has to be between `7` and `35`.

func (DatabaseShortTermRetentionPolicyPtrOutput) ToDatabaseShortTermRetentionPolicyPtrOutput

func (o DatabaseShortTermRetentionPolicyPtrOutput) ToDatabaseShortTermRetentionPolicyPtrOutput() DatabaseShortTermRetentionPolicyPtrOutput

func (DatabaseShortTermRetentionPolicyPtrOutput) ToDatabaseShortTermRetentionPolicyPtrOutputWithContext

func (o DatabaseShortTermRetentionPolicyPtrOutput) ToDatabaseShortTermRetentionPolicyPtrOutputWithContext(ctx context.Context) DatabaseShortTermRetentionPolicyPtrOutput

type DatabaseState

type DatabaseState struct {
	// Time in minutes after which database is automatically paused. A value of `-1` means that automatic pause is disabled. This property is only settable for General Purpose Serverless databases.
	AutoPauseDelayInMinutes pulumi.IntPtrInput
	// Specifies the collation of the database. Changing this forces a new resource to be created.
	Collation pulumi.StringPtrInput
	// The create mode of the database. Possible values are `Copy`, `Default`, `OnlineSecondary`, `PointInTimeRestore`, `Recovery`, `Restore`, `RestoreExternalBackup`, `RestoreExternalBackupSecondary`, `RestoreLongTermRetentionBackup` and `Secondary`.
	CreateMode pulumi.StringPtrInput
	// The ID of the source database from which to create the new database. This should only be used for databases with `createMode` values that use another database as reference. Changing this forces a new resource to be created.
	CreationSourceDatabaseId pulumi.StringPtrInput
	// Specifies the ID of the elastic pool containing this database.
	ElasticPoolId pulumi.StringPtrInput
	// A `extendedAuditingPolicy` block as defined below.
	//
	// Deprecated: the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider.
	ExtendedAuditingPolicy DatabaseExtendedAuditingPolicyTypePtrInput
	// A boolean that specifies if the Geo Backup Policy is enabled.
	GeoBackupEnabled pulumi.BoolPtrInput
	// Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `BasePrice`.
	LicenseType pulumi.StringPtrInput
	// A `longTermRetentionPolicy` block as defined below.
	LongTermRetentionPolicy DatabaseLongTermRetentionPolicyPtrInput
	// The max size of the database in gigabytes.
	MaxSizeGb pulumi.IntPtrInput
	// Minimal capacity that database will always have allocated, if not paused. This property is only settable for General Purpose Serverless databases.
	MinCapacity pulumi.Float64PtrInput
	// The name of the Ms SQL Database. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The number of readonly secondary replicas associated with the database to which readonly application intent connections may be routed. This property is only settable for Hyperscale edition databases.
	ReadReplicaCount pulumi.IntPtrInput
	// If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases.
	ReadScale pulumi.BoolPtrInput
	// The ID of the database to be recovered. This property is only applicable when the `createMode` is `Recovery`.
	RecoverDatabaseId pulumi.StringPtrInput
	// The ID of the database to be restored. This property is only applicable when the `createMode` is `Restore`.
	RestoreDroppedDatabaseId pulumi.StringPtrInput
	// Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `createMode`= `PointInTimeRestore`  databases.
	RestorePointInTime pulumi.StringPtrInput
	// Specifies the name of the sample schema to apply when creating this database. Possible value is `AdventureWorksLT`.
	SampleName pulumi.StringPtrInput
	// The id of the Ms SQL Server on which to create the database. Changing this forces a new resource to be created.
	ServerId pulumi.StringPtrInput
	// A `shortTermRetentionPolicy` block as defined below.
	ShortTermRetentionPolicy DatabaseShortTermRetentionPolicyPtrInput
	// Specifies the name of the SKU used by the database. For example, `GP_S_Gen5_2`,`HS_Gen4_1`,`BC_Gen5_2`, `ElasticPool`, `Basic`,`S0`, `P2` ,`DW100c`, `DS100`. Changing this from the HyperScale service tier to another service tier will force a new resource to be created.
	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`.  The default value is `GRS`.
	StorageAccountType 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. This property is only settable for Premium and Business Critical databases.
	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?
	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`.
	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://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs. Required if `state` is `Enabled`.
	StorageEndpoint *string `pulumi:"storageEndpoint"`
	// Deprecated: This field is now non-functional and thus will be removed in version 3.0 of the Azure Provider
	UseServerDefault *string `pulumi:"useServerDefault"`
}

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?
	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`.
	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://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs. Required if `state` is `Enabled`.
	StorageEndpoint pulumi.StringPtrInput `pulumi:"storageEndpoint"`
	// Deprecated: This field is now non-functional and thus will be removed in version 3.0 of the Azure Provider
	UseServerDefault pulumi.StringPtrInput `pulumi:"useServerDefault"`
}

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?

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`.

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://MyAccount.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

func (DatabaseThreatDetectionPolicyOutput) UseServerDefault deprecated

Deprecated: This field is now non-functional and thus will be removed in version 3.0 of the Azure Provider

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?

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`.

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://MyAccount.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

func (DatabaseThreatDetectionPolicyPtrOutput) UseServerDefault deprecated

Deprecated: This field is now non-functional and thus will be removed in version 3.0 of the Azure Provider

type DatabaseVulnerabilityAssessmentRuleBaseline

type DatabaseVulnerabilityAssessmentRuleBaseline struct {
	pulumi.CustomResourceState

	// The name of the vulnerability assessment rule baseline. Valid options are `default` and `master`. `default` implies a baseline on a database level rule and `master` for server level rule. Defaults to `default`. Changing this forces a new resource to be created.
	BaselineName pulumi.StringPtrOutput `pulumi:"baselineName"`
	// A `baselineResult` block as documented below. Multiple blocks can be defined.
	BaselineResults DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutput `pulumi:"baselineResults"`
	// Specifies the name of the MS SQL Database. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringOutput `pulumi:"databaseName"`
	// The vulnerability assessment rule ID. Changing this forces a new resource to be created.
	RuleId pulumi.StringOutput `pulumi:"ruleId"`
	// The Vulnerability Assessment ID of the MS SQL Server. Changing this forces a new resource to be created.
	ServerVulnerabilityAssessmentId pulumi.StringOutput `pulumi:"serverVulnerabilityAssessmentId"`
}

Manages a Database Vulnerability Assessment Rule Baseline.

> **NOTE** Database Vulnerability Assessment is currently only available for MS SQL databases.

## Example Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleSqlServer, err := sql.NewSqlServer(ctx, "exampleSqlServer", &sql.SqlServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
			ResourceGroupName:      exampleResourceGroup.Name,
			Location:               exampleResourceGroup.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("GRS"),
		})
		if err != nil {
			return err
		}
		exampleContainer, err := storage.NewContainer(ctx, "exampleContainer", &storage.ContainerArgs{
			StorageAccountName:  exampleAccount.Name,
			ContainerAccessType: pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		exampleServerSecurityAlertPolicy, err := mssql.NewServerSecurityAlertPolicy(ctx, "exampleServerSecurityAlertPolicy", &mssql.ServerSecurityAlertPolicyArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			ServerName:        exampleSqlServer.Name,
			State:             pulumi.String("Enabled"),
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := sql.NewDatabase(ctx, "exampleDatabase", &sql.DatabaseArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			ServerName:        exampleSqlServer.Name,
			Location:          exampleResourceGroup.Location,
			Edition:           pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		exampleServerVulnerabilityAssessment, err := mssql.NewServerVulnerabilityAssessment(ctx, "exampleServerVulnerabilityAssessment", &mssql.ServerVulnerabilityAssessmentArgs{
			ServerSecurityAlertPolicyId: exampleServerSecurityAlertPolicy.ID(),
			StorageContainerPath: pulumi.All(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).ApplyT(func(_args []interface{}) (string, error) {
				primaryBlobEndpoint := _args[0].(string)
				name := _args[1].(string)
				return fmt.Sprintf("%v%v%v", primaryBlobEndpoint, name, "/"), nil
			}).(pulumi.StringOutput),
			StorageAccountAccessKey: exampleAccount.PrimaryAccessKey,
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewDatabaseVulnerabilityAssessmentRuleBaseline(ctx, "exampleDatabaseVulnerabilityAssessmentRuleBaseline", &mssql.DatabaseVulnerabilityAssessmentRuleBaselineArgs{
			ServerVulnerabilityAssessmentId: exampleServerVulnerabilityAssessment.ID(),
			DatabaseName:                    exampleDatabase.Name,
			RuleId:                          pulumi.String("VA2065"),
			BaselineName:                    pulumi.String("master"),
			BaselineResults: mssql.DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArray{
				&mssql.DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs{
					Results: pulumi.StringArray{
						pulumi.String("allowedip1"),
						pulumi.String("123.123.123.123"),
						pulumi.String("123.123.123.123"),
					},
				},
				&mssql.DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs{
					Results: pulumi.StringArray{
						pulumi.String("allowedip2"),
						pulumi.String("255.255.255.255"),
						pulumi.String("255.255.255.255"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Database Vulnerability Assessment Rule Baseline can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:mssql/databaseVulnerabilityAssessmentRuleBaseline:DatabaseVulnerabilityAssessmentRuleBaseline example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acceptanceTestResourceGroup1/providers/Microsoft.Sql/servers/mssqlserver/databases/mysqldatabase/vulnerabilityAssessments/Default/rules/VA2065/baselines/master

```

func GetDatabaseVulnerabilityAssessmentRuleBaseline

func GetDatabaseVulnerabilityAssessmentRuleBaseline(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatabaseVulnerabilityAssessmentRuleBaselineState, opts ...pulumi.ResourceOption) (*DatabaseVulnerabilityAssessmentRuleBaseline, error)

GetDatabaseVulnerabilityAssessmentRuleBaseline gets an existing DatabaseVulnerabilityAssessmentRuleBaseline 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 NewDatabaseVulnerabilityAssessmentRuleBaseline

func NewDatabaseVulnerabilityAssessmentRuleBaseline(ctx *pulumi.Context,
	name string, args *DatabaseVulnerabilityAssessmentRuleBaselineArgs, opts ...pulumi.ResourceOption) (*DatabaseVulnerabilityAssessmentRuleBaseline, error)

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

func (*DatabaseVulnerabilityAssessmentRuleBaseline) ElementType

func (*DatabaseVulnerabilityAssessmentRuleBaseline) ToDatabaseVulnerabilityAssessmentRuleBaselineOutput

func (i *DatabaseVulnerabilityAssessmentRuleBaseline) ToDatabaseVulnerabilityAssessmentRuleBaselineOutput() DatabaseVulnerabilityAssessmentRuleBaselineOutput

func (*DatabaseVulnerabilityAssessmentRuleBaseline) ToDatabaseVulnerabilityAssessmentRuleBaselineOutputWithContext

func (i *DatabaseVulnerabilityAssessmentRuleBaseline) ToDatabaseVulnerabilityAssessmentRuleBaselineOutputWithContext(ctx context.Context) DatabaseVulnerabilityAssessmentRuleBaselineOutput

type DatabaseVulnerabilityAssessmentRuleBaselineArgs

type DatabaseVulnerabilityAssessmentRuleBaselineArgs struct {
	// The name of the vulnerability assessment rule baseline. Valid options are `default` and `master`. `default` implies a baseline on a database level rule and `master` for server level rule. Defaults to `default`. Changing this forces a new resource to be created.
	BaselineName pulumi.StringPtrInput
	// A `baselineResult` block as documented below. Multiple blocks can be defined.
	BaselineResults DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayInput
	// Specifies the name of the MS SQL Database. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringInput
	// The vulnerability assessment rule ID. Changing this forces a new resource to be created.
	RuleId pulumi.StringInput
	// The Vulnerability Assessment ID of the MS SQL Server. Changing this forces a new resource to be created.
	ServerVulnerabilityAssessmentId pulumi.StringInput
}

The set of arguments for constructing a DatabaseVulnerabilityAssessmentRuleBaseline resource.

func (DatabaseVulnerabilityAssessmentRuleBaselineArgs) ElementType

type DatabaseVulnerabilityAssessmentRuleBaselineArray

type DatabaseVulnerabilityAssessmentRuleBaselineArray []DatabaseVulnerabilityAssessmentRuleBaselineInput

func (DatabaseVulnerabilityAssessmentRuleBaselineArray) ElementType

func (DatabaseVulnerabilityAssessmentRuleBaselineArray) ToDatabaseVulnerabilityAssessmentRuleBaselineArrayOutput

func (i DatabaseVulnerabilityAssessmentRuleBaselineArray) ToDatabaseVulnerabilityAssessmentRuleBaselineArrayOutput() DatabaseVulnerabilityAssessmentRuleBaselineArrayOutput

func (DatabaseVulnerabilityAssessmentRuleBaselineArray) ToDatabaseVulnerabilityAssessmentRuleBaselineArrayOutputWithContext

func (i DatabaseVulnerabilityAssessmentRuleBaselineArray) ToDatabaseVulnerabilityAssessmentRuleBaselineArrayOutputWithContext(ctx context.Context) DatabaseVulnerabilityAssessmentRuleBaselineArrayOutput

type DatabaseVulnerabilityAssessmentRuleBaselineArrayInput

type DatabaseVulnerabilityAssessmentRuleBaselineArrayInput interface {
	pulumi.Input

	ToDatabaseVulnerabilityAssessmentRuleBaselineArrayOutput() DatabaseVulnerabilityAssessmentRuleBaselineArrayOutput
	ToDatabaseVulnerabilityAssessmentRuleBaselineArrayOutputWithContext(context.Context) DatabaseVulnerabilityAssessmentRuleBaselineArrayOutput
}

DatabaseVulnerabilityAssessmentRuleBaselineArrayInput is an input type that accepts DatabaseVulnerabilityAssessmentRuleBaselineArray and DatabaseVulnerabilityAssessmentRuleBaselineArrayOutput values. You can construct a concrete instance of `DatabaseVulnerabilityAssessmentRuleBaselineArrayInput` via:

DatabaseVulnerabilityAssessmentRuleBaselineArray{ DatabaseVulnerabilityAssessmentRuleBaselineArgs{...} }

type DatabaseVulnerabilityAssessmentRuleBaselineArrayOutput

type DatabaseVulnerabilityAssessmentRuleBaselineArrayOutput struct{ *pulumi.OutputState }

func (DatabaseVulnerabilityAssessmentRuleBaselineArrayOutput) ElementType

func (DatabaseVulnerabilityAssessmentRuleBaselineArrayOutput) Index

func (DatabaseVulnerabilityAssessmentRuleBaselineArrayOutput) ToDatabaseVulnerabilityAssessmentRuleBaselineArrayOutput

func (DatabaseVulnerabilityAssessmentRuleBaselineArrayOutput) ToDatabaseVulnerabilityAssessmentRuleBaselineArrayOutputWithContext

func (o DatabaseVulnerabilityAssessmentRuleBaselineArrayOutput) ToDatabaseVulnerabilityAssessmentRuleBaselineArrayOutputWithContext(ctx context.Context) DatabaseVulnerabilityAssessmentRuleBaselineArrayOutput

type DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult

type DatabaseVulnerabilityAssessmentRuleBaselineBaselineResult struct {
	// A list representing a result of the baseline.
	Results []string `pulumi:"results"`
}

type DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs

type DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs struct {
	// A list representing a result of the baseline.
	Results pulumi.StringArrayInput `pulumi:"results"`
}

func (DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs) ElementType

func (DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs) ToDatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutput

func (DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs) ToDatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutputWithContext

func (i DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs) ToDatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutputWithContext(ctx context.Context) DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutput

type DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArray

type DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArray []DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultInput

func (DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArray) ElementType

func (DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArray) ToDatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutput

func (DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArray) ToDatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutputWithContext

func (i DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArray) ToDatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutputWithContext(ctx context.Context) DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutput

type DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayInput

type DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayInput interface {
	pulumi.Input

	ToDatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutput() DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutput
	ToDatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutputWithContext(context.Context) DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutput
}

DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayInput is an input type that accepts DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArray and DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutput values. You can construct a concrete instance of `DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayInput` via:

DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArray{ DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs{...} }

type DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutput

type DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutput struct{ *pulumi.OutputState }

func (DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutput) ElementType

func (DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutput) ToDatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutput

func (DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutput) ToDatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutputWithContext

func (o DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutput) ToDatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutputWithContext(ctx context.Context) DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayOutput

type DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultInput

type DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultInput interface {
	pulumi.Input

	ToDatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutput() DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutput
	ToDatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutputWithContext(context.Context) DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutput
}

DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultInput is an input type that accepts DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs and DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutput values. You can construct a concrete instance of `DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultInput` via:

DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArgs{...}

type DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutput

type DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutput struct{ *pulumi.OutputState }

func (DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutput) ElementType

func (DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutput) Results

A list representing a result of the baseline.

func (DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutput) ToDatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutput

func (DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutput) ToDatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutputWithContext

func (o DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutput) ToDatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutputWithContext(ctx context.Context) DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultOutput

type DatabaseVulnerabilityAssessmentRuleBaselineInput

type DatabaseVulnerabilityAssessmentRuleBaselineInput interface {
	pulumi.Input

	ToDatabaseVulnerabilityAssessmentRuleBaselineOutput() DatabaseVulnerabilityAssessmentRuleBaselineOutput
	ToDatabaseVulnerabilityAssessmentRuleBaselineOutputWithContext(ctx context.Context) DatabaseVulnerabilityAssessmentRuleBaselineOutput
}

type DatabaseVulnerabilityAssessmentRuleBaselineMap

type DatabaseVulnerabilityAssessmentRuleBaselineMap map[string]DatabaseVulnerabilityAssessmentRuleBaselineInput

func (DatabaseVulnerabilityAssessmentRuleBaselineMap) ElementType

func (DatabaseVulnerabilityAssessmentRuleBaselineMap) ToDatabaseVulnerabilityAssessmentRuleBaselineMapOutput

func (i DatabaseVulnerabilityAssessmentRuleBaselineMap) ToDatabaseVulnerabilityAssessmentRuleBaselineMapOutput() DatabaseVulnerabilityAssessmentRuleBaselineMapOutput

func (DatabaseVulnerabilityAssessmentRuleBaselineMap) ToDatabaseVulnerabilityAssessmentRuleBaselineMapOutputWithContext

func (i DatabaseVulnerabilityAssessmentRuleBaselineMap) ToDatabaseVulnerabilityAssessmentRuleBaselineMapOutputWithContext(ctx context.Context) DatabaseVulnerabilityAssessmentRuleBaselineMapOutput

type DatabaseVulnerabilityAssessmentRuleBaselineMapInput

type DatabaseVulnerabilityAssessmentRuleBaselineMapInput interface {
	pulumi.Input

	ToDatabaseVulnerabilityAssessmentRuleBaselineMapOutput() DatabaseVulnerabilityAssessmentRuleBaselineMapOutput
	ToDatabaseVulnerabilityAssessmentRuleBaselineMapOutputWithContext(context.Context) DatabaseVulnerabilityAssessmentRuleBaselineMapOutput
}

DatabaseVulnerabilityAssessmentRuleBaselineMapInput is an input type that accepts DatabaseVulnerabilityAssessmentRuleBaselineMap and DatabaseVulnerabilityAssessmentRuleBaselineMapOutput values. You can construct a concrete instance of `DatabaseVulnerabilityAssessmentRuleBaselineMapInput` via:

DatabaseVulnerabilityAssessmentRuleBaselineMap{ "key": DatabaseVulnerabilityAssessmentRuleBaselineArgs{...} }

type DatabaseVulnerabilityAssessmentRuleBaselineMapOutput

type DatabaseVulnerabilityAssessmentRuleBaselineMapOutput struct{ *pulumi.OutputState }

func (DatabaseVulnerabilityAssessmentRuleBaselineMapOutput) ElementType

func (DatabaseVulnerabilityAssessmentRuleBaselineMapOutput) MapIndex

func (DatabaseVulnerabilityAssessmentRuleBaselineMapOutput) ToDatabaseVulnerabilityAssessmentRuleBaselineMapOutput

func (DatabaseVulnerabilityAssessmentRuleBaselineMapOutput) ToDatabaseVulnerabilityAssessmentRuleBaselineMapOutputWithContext

func (o DatabaseVulnerabilityAssessmentRuleBaselineMapOutput) ToDatabaseVulnerabilityAssessmentRuleBaselineMapOutputWithContext(ctx context.Context) DatabaseVulnerabilityAssessmentRuleBaselineMapOutput

type DatabaseVulnerabilityAssessmentRuleBaselineOutput

type DatabaseVulnerabilityAssessmentRuleBaselineOutput struct{ *pulumi.OutputState }

func (DatabaseVulnerabilityAssessmentRuleBaselineOutput) ElementType

func (DatabaseVulnerabilityAssessmentRuleBaselineOutput) ToDatabaseVulnerabilityAssessmentRuleBaselineOutput

func (o DatabaseVulnerabilityAssessmentRuleBaselineOutput) ToDatabaseVulnerabilityAssessmentRuleBaselineOutput() DatabaseVulnerabilityAssessmentRuleBaselineOutput

func (DatabaseVulnerabilityAssessmentRuleBaselineOutput) ToDatabaseVulnerabilityAssessmentRuleBaselineOutputWithContext

func (o DatabaseVulnerabilityAssessmentRuleBaselineOutput) ToDatabaseVulnerabilityAssessmentRuleBaselineOutputWithContext(ctx context.Context) DatabaseVulnerabilityAssessmentRuleBaselineOutput

type DatabaseVulnerabilityAssessmentRuleBaselineState

type DatabaseVulnerabilityAssessmentRuleBaselineState struct {
	// The name of the vulnerability assessment rule baseline. Valid options are `default` and `master`. `default` implies a baseline on a database level rule and `master` for server level rule. Defaults to `default`. Changing this forces a new resource to be created.
	BaselineName pulumi.StringPtrInput
	// A `baselineResult` block as documented below. Multiple blocks can be defined.
	BaselineResults DatabaseVulnerabilityAssessmentRuleBaselineBaselineResultArrayInput
	// Specifies the name of the MS SQL Database. Changing this forces a new resource to be created.
	DatabaseName pulumi.StringPtrInput
	// The vulnerability assessment rule ID. Changing this forces a new resource to be created.
	RuleId pulumi.StringPtrInput
	// The Vulnerability Assessment ID of the MS SQL Server. Changing this forces a new resource to be created.
	ServerVulnerabilityAssessmentId pulumi.StringPtrInput
}

func (DatabaseVulnerabilityAssessmentRuleBaselineState) ElementType

type ElasticPool

type ElasticPool struct {
	pulumi.CustomResourceState

	// Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `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 max data size of the elastic pool in bytes. Conflicts with `maxSizeGb`.
	MaxSizeBytes pulumi.IntOutput `pulumi:"maxSizeBytes"`
	// The max data size of the elastic pool in gigabytes. Conflicts with `maxSizeBytes`.
	MaxSizeGb pulumi.Float64Output `pulumi:"maxSizeGb"`
	// 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"`
	// A `perDatabaseSettings` block as defined below.
	PerDatabaseSettings ElasticPoolPerDatabaseSettingsOutput `pulumi:"perDatabaseSettings"`
	// 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.
	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 `sku` block as defined below.
	Sku ElasticPoolSkuOutput `pulumi:"sku"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Whether or not this elastic pool is zone redundant. `tier` needs to be `Premium` for `DTU` based  or `BusinessCritical` for `vCore` based `sku`. Defaults to `false`.
	ZoneRedundant pulumi.BoolPtrOutput `pulumi:"zoneRedundant"`
}

Allows you to manage an Azure SQL Elastic Pool via the `v3.0` API which allows for `vCore` and `DTU` based configurations.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleSqlServer, err := sql.NewSqlServer(ctx, "exampleSqlServer", &sql.SqlServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewElasticPool(ctx, "exampleElasticPool", &mssql.ElasticPoolArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			ServerName:        exampleSqlServer.Name,
			LicenseType:       pulumi.String("LicenseIncluded"),
			MaxSizeGb:         pulumi.Float64(756),
			Sku: &mssql.ElasticPoolSkuArgs{
				Name:     pulumi.String("BasicPool"),
				Tier:     pulumi.String("Basic"),
				Family:   pulumi.String("Gen4"),
				Capacity: pulumi.Int(4),
			},
			PerDatabaseSettings: &mssql.ElasticPoolPerDatabaseSettingsArgs{
				MinCapacity: pulumi.Float64(0.25),
				MaxCapacity: pulumi.Float64(4),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import azure:mssql/elasticPool:ElasticPool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver/elasticPools/myelasticpoolname

```

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 {
	// Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `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 max data size of the elastic pool in bytes. Conflicts with `maxSizeGb`.
	MaxSizeBytes pulumi.IntPtrInput
	// The max data size of the elastic pool in gigabytes. Conflicts with `maxSizeBytes`.
	MaxSizeGb pulumi.Float64PtrInput
	// The name of the elastic pool. This needs to be globally unique. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// A `perDatabaseSettings` block as defined below.
	PerDatabaseSettings ElasticPoolPerDatabaseSettingsInput
	// 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.
	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 `sku` block as defined below.
	Sku ElasticPoolSkuInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether or not this elastic pool is zone redundant. `tier` needs to be `Premium` for `DTU` based  or `BusinessCritical` for `vCore` based `sku`. Defaults to `false`.
	ZoneRedundant pulumi.BoolPtrInput
}

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) ElementType

func (ElasticPoolOutput) ElementType() reflect.Type

func (ElasticPoolOutput) ToElasticPoolOutput

func (o ElasticPoolOutput) ToElasticPoolOutput() ElasticPoolOutput

func (ElasticPoolOutput) ToElasticPoolOutputWithContext

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

type ElasticPoolPerDatabaseSettings

type ElasticPoolPerDatabaseSettings struct {
	// The maximum capacity any one database can consume.
	MaxCapacity float64 `pulumi:"maxCapacity"`
	// The minimum capacity all databases are guaranteed.
	MinCapacity float64 `pulumi:"minCapacity"`
}

type ElasticPoolPerDatabaseSettingsArgs

type ElasticPoolPerDatabaseSettingsArgs struct {
	// The maximum capacity any one database can consume.
	MaxCapacity pulumi.Float64Input `pulumi:"maxCapacity"`
	// The minimum capacity all databases are guaranteed.
	MinCapacity pulumi.Float64Input `pulumi:"minCapacity"`
}

func (ElasticPoolPerDatabaseSettingsArgs) ElementType

func (ElasticPoolPerDatabaseSettingsArgs) ToElasticPoolPerDatabaseSettingsOutput

func (i ElasticPoolPerDatabaseSettingsArgs) ToElasticPoolPerDatabaseSettingsOutput() ElasticPoolPerDatabaseSettingsOutput

func (ElasticPoolPerDatabaseSettingsArgs) ToElasticPoolPerDatabaseSettingsOutputWithContext

func (i ElasticPoolPerDatabaseSettingsArgs) ToElasticPoolPerDatabaseSettingsOutputWithContext(ctx context.Context) ElasticPoolPerDatabaseSettingsOutput

func (ElasticPoolPerDatabaseSettingsArgs) ToElasticPoolPerDatabaseSettingsPtrOutput

func (i ElasticPoolPerDatabaseSettingsArgs) ToElasticPoolPerDatabaseSettingsPtrOutput() ElasticPoolPerDatabaseSettingsPtrOutput

func (ElasticPoolPerDatabaseSettingsArgs) ToElasticPoolPerDatabaseSettingsPtrOutputWithContext

func (i ElasticPoolPerDatabaseSettingsArgs) ToElasticPoolPerDatabaseSettingsPtrOutputWithContext(ctx context.Context) ElasticPoolPerDatabaseSettingsPtrOutput

type ElasticPoolPerDatabaseSettingsInput

type ElasticPoolPerDatabaseSettingsInput interface {
	pulumi.Input

	ToElasticPoolPerDatabaseSettingsOutput() ElasticPoolPerDatabaseSettingsOutput
	ToElasticPoolPerDatabaseSettingsOutputWithContext(context.Context) ElasticPoolPerDatabaseSettingsOutput
}

ElasticPoolPerDatabaseSettingsInput is an input type that accepts ElasticPoolPerDatabaseSettingsArgs and ElasticPoolPerDatabaseSettingsOutput values. You can construct a concrete instance of `ElasticPoolPerDatabaseSettingsInput` via:

ElasticPoolPerDatabaseSettingsArgs{...}

type ElasticPoolPerDatabaseSettingsOutput

type ElasticPoolPerDatabaseSettingsOutput struct{ *pulumi.OutputState }

func (ElasticPoolPerDatabaseSettingsOutput) ElementType

func (ElasticPoolPerDatabaseSettingsOutput) MaxCapacity

The maximum capacity any one database can consume.

func (ElasticPoolPerDatabaseSettingsOutput) MinCapacity

The minimum capacity all databases are guaranteed.

func (ElasticPoolPerDatabaseSettingsOutput) ToElasticPoolPerDatabaseSettingsOutput

func (o ElasticPoolPerDatabaseSettingsOutput) ToElasticPoolPerDatabaseSettingsOutput() ElasticPoolPerDatabaseSettingsOutput

func (ElasticPoolPerDatabaseSettingsOutput) ToElasticPoolPerDatabaseSettingsOutputWithContext

func (o ElasticPoolPerDatabaseSettingsOutput) ToElasticPoolPerDatabaseSettingsOutputWithContext(ctx context.Context) ElasticPoolPerDatabaseSettingsOutput

func (ElasticPoolPerDatabaseSettingsOutput) ToElasticPoolPerDatabaseSettingsPtrOutput

func (o ElasticPoolPerDatabaseSettingsOutput) ToElasticPoolPerDatabaseSettingsPtrOutput() ElasticPoolPerDatabaseSettingsPtrOutput

func (ElasticPoolPerDatabaseSettingsOutput) ToElasticPoolPerDatabaseSettingsPtrOutputWithContext

func (o ElasticPoolPerDatabaseSettingsOutput) ToElasticPoolPerDatabaseSettingsPtrOutputWithContext(ctx context.Context) ElasticPoolPerDatabaseSettingsPtrOutput

type ElasticPoolPerDatabaseSettingsPtrInput

type ElasticPoolPerDatabaseSettingsPtrInput interface {
	pulumi.Input

	ToElasticPoolPerDatabaseSettingsPtrOutput() ElasticPoolPerDatabaseSettingsPtrOutput
	ToElasticPoolPerDatabaseSettingsPtrOutputWithContext(context.Context) ElasticPoolPerDatabaseSettingsPtrOutput
}

ElasticPoolPerDatabaseSettingsPtrInput is an input type that accepts ElasticPoolPerDatabaseSettingsArgs, ElasticPoolPerDatabaseSettingsPtr and ElasticPoolPerDatabaseSettingsPtrOutput values. You can construct a concrete instance of `ElasticPoolPerDatabaseSettingsPtrInput` via:

        ElasticPoolPerDatabaseSettingsArgs{...}

or:

        nil

type ElasticPoolPerDatabaseSettingsPtrOutput

type ElasticPoolPerDatabaseSettingsPtrOutput struct{ *pulumi.OutputState }

func (ElasticPoolPerDatabaseSettingsPtrOutput) Elem

func (ElasticPoolPerDatabaseSettingsPtrOutput) ElementType

func (ElasticPoolPerDatabaseSettingsPtrOutput) MaxCapacity

The maximum capacity any one database can consume.

func (ElasticPoolPerDatabaseSettingsPtrOutput) MinCapacity

The minimum capacity all databases are guaranteed.

func (ElasticPoolPerDatabaseSettingsPtrOutput) ToElasticPoolPerDatabaseSettingsPtrOutput

func (o ElasticPoolPerDatabaseSettingsPtrOutput) ToElasticPoolPerDatabaseSettingsPtrOutput() ElasticPoolPerDatabaseSettingsPtrOutput

func (ElasticPoolPerDatabaseSettingsPtrOutput) ToElasticPoolPerDatabaseSettingsPtrOutputWithContext

func (o ElasticPoolPerDatabaseSettingsPtrOutput) ToElasticPoolPerDatabaseSettingsPtrOutputWithContext(ctx context.Context) ElasticPoolPerDatabaseSettingsPtrOutput

type ElasticPoolSku

type ElasticPoolSku struct {
	// The scale up/out capacity, representing server's compute units. For more information see the documentation for your Elasticpool configuration: [vCore-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-dtu-resource-limits-elastic-pools).
	Capacity int `pulumi:"capacity"`
	// The `family` of hardware `Gen4`, `Gen5`, `Fsv2` or `DC`.
	Family *string `pulumi:"family"`
	// Specifies the SKU Name for this Elasticpool. The name of the SKU, will be either `vCore` based `tier` + `family` pattern (e.g. GP_Gen4, BC_Gen5) or the `DTU` based `BasicPool`, `StandardPool`, or `PremiumPool` pattern.
	Name string `pulumi:"name"`
	// The tier of the particular SKU. Possible values are `GeneralPurpose`, `BusinessCritical`, `Basic`, `Standard`, or `Premium`. For more information see the documentation for your Elasticpool configuration: [vCore-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-dtu-resource-limits-elastic-pools).
	Tier string `pulumi:"tier"`
}

type ElasticPoolSkuArgs

type ElasticPoolSkuArgs struct {
	// The scale up/out capacity, representing server's compute units. For more information see the documentation for your Elasticpool configuration: [vCore-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-dtu-resource-limits-elastic-pools).
	Capacity pulumi.IntInput `pulumi:"capacity"`
	// The `family` of hardware `Gen4`, `Gen5`, `Fsv2` or `DC`.
	Family pulumi.StringPtrInput `pulumi:"family"`
	// Specifies the SKU Name for this Elasticpool. The name of the SKU, will be either `vCore` based `tier` + `family` pattern (e.g. GP_Gen4, BC_Gen5) or the `DTU` based `BasicPool`, `StandardPool`, or `PremiumPool` pattern.
	Name pulumi.StringInput `pulumi:"name"`
	// The tier of the particular SKU. Possible values are `GeneralPurpose`, `BusinessCritical`, `Basic`, `Standard`, or `Premium`. For more information see the documentation for your Elasticpool configuration: [vCore-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-dtu-resource-limits-elastic-pools).
	Tier pulumi.StringInput `pulumi:"tier"`
}

func (ElasticPoolSkuArgs) ElementType

func (ElasticPoolSkuArgs) ElementType() reflect.Type

func (ElasticPoolSkuArgs) ToElasticPoolSkuOutput

func (i ElasticPoolSkuArgs) ToElasticPoolSkuOutput() ElasticPoolSkuOutput

func (ElasticPoolSkuArgs) ToElasticPoolSkuOutputWithContext

func (i ElasticPoolSkuArgs) ToElasticPoolSkuOutputWithContext(ctx context.Context) ElasticPoolSkuOutput

func (ElasticPoolSkuArgs) ToElasticPoolSkuPtrOutput

func (i ElasticPoolSkuArgs) ToElasticPoolSkuPtrOutput() ElasticPoolSkuPtrOutput

func (ElasticPoolSkuArgs) ToElasticPoolSkuPtrOutputWithContext

func (i ElasticPoolSkuArgs) ToElasticPoolSkuPtrOutputWithContext(ctx context.Context) ElasticPoolSkuPtrOutput

type ElasticPoolSkuInput

type ElasticPoolSkuInput interface {
	pulumi.Input

	ToElasticPoolSkuOutput() ElasticPoolSkuOutput
	ToElasticPoolSkuOutputWithContext(context.Context) ElasticPoolSkuOutput
}

ElasticPoolSkuInput is an input type that accepts ElasticPoolSkuArgs and ElasticPoolSkuOutput values. You can construct a concrete instance of `ElasticPoolSkuInput` via:

ElasticPoolSkuArgs{...}

type ElasticPoolSkuOutput

type ElasticPoolSkuOutput struct{ *pulumi.OutputState }

func (ElasticPoolSkuOutput) Capacity

func (o ElasticPoolSkuOutput) Capacity() pulumi.IntOutput

The scale up/out capacity, representing server's compute units. For more information see the documentation for your Elasticpool configuration: [vCore-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-dtu-resource-limits-elastic-pools).

func (ElasticPoolSkuOutput) ElementType

func (ElasticPoolSkuOutput) ElementType() reflect.Type

func (ElasticPoolSkuOutput) Family

The `family` of hardware `Gen4`, `Gen5`, `Fsv2` or `DC`.

func (ElasticPoolSkuOutput) Name

Specifies the SKU Name for this Elasticpool. The name of the SKU, will be either `vCore` based `tier` + `family` pattern (e.g. GP_Gen4, BC_Gen5) or the `DTU` based `BasicPool`, `StandardPool`, or `PremiumPool` pattern.

func (ElasticPoolSkuOutput) Tier

The tier of the particular SKU. Possible values are `GeneralPurpose`, `BusinessCritical`, `Basic`, `Standard`, or `Premium`. For more information see the documentation for your Elasticpool configuration: [vCore-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-dtu-resource-limits-elastic-pools).

func (ElasticPoolSkuOutput) ToElasticPoolSkuOutput

func (o ElasticPoolSkuOutput) ToElasticPoolSkuOutput() ElasticPoolSkuOutput

func (ElasticPoolSkuOutput) ToElasticPoolSkuOutputWithContext

func (o ElasticPoolSkuOutput) ToElasticPoolSkuOutputWithContext(ctx context.Context) ElasticPoolSkuOutput

func (ElasticPoolSkuOutput) ToElasticPoolSkuPtrOutput

func (o ElasticPoolSkuOutput) ToElasticPoolSkuPtrOutput() ElasticPoolSkuPtrOutput

func (ElasticPoolSkuOutput) ToElasticPoolSkuPtrOutputWithContext

func (o ElasticPoolSkuOutput) ToElasticPoolSkuPtrOutputWithContext(ctx context.Context) ElasticPoolSkuPtrOutput

type ElasticPoolSkuPtrInput

type ElasticPoolSkuPtrInput interface {
	pulumi.Input

	ToElasticPoolSkuPtrOutput() ElasticPoolSkuPtrOutput
	ToElasticPoolSkuPtrOutputWithContext(context.Context) ElasticPoolSkuPtrOutput
}

ElasticPoolSkuPtrInput is an input type that accepts ElasticPoolSkuArgs, ElasticPoolSkuPtr and ElasticPoolSkuPtrOutput values. You can construct a concrete instance of `ElasticPoolSkuPtrInput` via:

        ElasticPoolSkuArgs{...}

or:

        nil

type ElasticPoolSkuPtrOutput

type ElasticPoolSkuPtrOutput struct{ *pulumi.OutputState }

func (ElasticPoolSkuPtrOutput) Capacity

The scale up/out capacity, representing server's compute units. For more information see the documentation for your Elasticpool configuration: [vCore-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-dtu-resource-limits-elastic-pools).

func (ElasticPoolSkuPtrOutput) Elem

func (ElasticPoolSkuPtrOutput) ElementType

func (ElasticPoolSkuPtrOutput) ElementType() reflect.Type

func (ElasticPoolSkuPtrOutput) Family

The `family` of hardware `Gen4`, `Gen5`, `Fsv2` or `DC`.

func (ElasticPoolSkuPtrOutput) Name

Specifies the SKU Name for this Elasticpool. The name of the SKU, will be either `vCore` based `tier` + `family` pattern (e.g. GP_Gen4, BC_Gen5) or the `DTU` based `BasicPool`, `StandardPool`, or `PremiumPool` pattern.

func (ElasticPoolSkuPtrOutput) Tier

The tier of the particular SKU. Possible values are `GeneralPurpose`, `BusinessCritical`, `Basic`, `Standard`, or `Premium`. For more information see the documentation for your Elasticpool configuration: [vCore-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/en-us/azure/sql-database/sql-database-dtu-resource-limits-elastic-pools).

func (ElasticPoolSkuPtrOutput) ToElasticPoolSkuPtrOutput

func (o ElasticPoolSkuPtrOutput) ToElasticPoolSkuPtrOutput() ElasticPoolSkuPtrOutput

func (ElasticPoolSkuPtrOutput) ToElasticPoolSkuPtrOutputWithContext

func (o ElasticPoolSkuPtrOutput) ToElasticPoolSkuPtrOutputWithContext(ctx context.Context) ElasticPoolSkuPtrOutput

type ElasticPoolState

type ElasticPoolState struct {
	// Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `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 max data size of the elastic pool in bytes. Conflicts with `maxSizeGb`.
	MaxSizeBytes pulumi.IntPtrInput
	// The max data size of the elastic pool in gigabytes. Conflicts with `maxSizeBytes`.
	MaxSizeGb pulumi.Float64PtrInput
	// The name of the elastic pool. This needs to be globally unique. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// A `perDatabaseSettings` block as defined below.
	PerDatabaseSettings ElasticPoolPerDatabaseSettingsPtrInput
	// 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.
	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 `sku` block as defined below.
	Sku ElasticPoolSkuPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Whether or not this elastic pool is zone redundant. `tier` needs to be `Premium` for `DTU` based  or `BusinessCritical` for `vCore` based `sku`. Defaults to `false`.
	ZoneRedundant pulumi.BoolPtrInput
}

func (ElasticPoolState) ElementType

func (ElasticPoolState) ElementType() reflect.Type

type FailoverGroup added in v4.20.0

type FailoverGroup struct {
	pulumi.CustomResourceState

	// A set of database names to include in the failover group.
	Databases pulumi.StringArrayOutput `pulumi:"databases"`
	// The name of the Failover Group. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// A `partnerServer` block as defined below.
	PartnerServers FailoverGroupPartnerServerArrayOutput `pulumi:"partnerServers"`
	// A `readWriteEndpointFailoverPolicy` block as defined below.
	ReadWriteEndpointFailoverPolicy FailoverGroupReadWriteEndpointFailoverPolicyOutput `pulumi:"readWriteEndpointFailoverPolicy"`
	// Whether failover is enabled for the readonly endpoint. Defaults to `false`.
	ReadonlyEndpointFailoverPolicyEnabled pulumi.BoolOutput `pulumi:"readonlyEndpointFailoverPolicyEnabled"`
	// The ID of the primary SQL Server on which to create the failover group. Changing this forces a new resource to be created.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Manages a Microsoft Azure SQL Failover Group.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		primary, err := mssql.NewServer(ctx, "primary", &mssql.ServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsKat11"),
		})
		if err != nil {
			return err
		}
		secondary, err := mssql.NewServer(ctx, "secondary", &mssql.ServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsKat12"),
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := mssql.NewDatabase(ctx, "exampleDatabase", &mssql.DatabaseArgs{
			ServerId:  primary.ID(),
			SkuName:   pulumi.String("S1"),
			Collation: pulumi.String("SQL_Latin1_General_CP1_CI_AS"),
			MaxSizeGb: pulumi.Int(200),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewFailoverGroup(ctx, "exampleFailoverGroup", &mssql.FailoverGroupArgs{
			ServerId: primary.ID(),
			Databases: pulumi.StringArray{
				exampleDatabase.ID(),
			},
			PartnerServers: mssql.FailoverGroupPartnerServerArray{
				&mssql.FailoverGroupPartnerServerArgs{
					Id: secondary.ID(),
				},
			},
			ReadWriteEndpointFailoverPolicy: &mssql.FailoverGroupReadWriteEndpointFailoverPolicyArgs{
				Mode:         pulumi.String("Automatic"),
				GraceMinutes: pulumi.Int(80),
			},
			Tags: pulumi.StringMap{
				"environment": pulumi.String("prod"),
				"database":    pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import azure:mssql/failoverGroup:FailoverGroup example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Sql/servers/server1/failoverGroups/failoverGroup1

```

func GetFailoverGroup added in v4.20.0

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 added in v4.20.0

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 added in v4.20.0

func (*FailoverGroup) ElementType() reflect.Type

func (*FailoverGroup) ToFailoverGroupOutput added in v4.20.0

func (i *FailoverGroup) ToFailoverGroupOutput() FailoverGroupOutput

func (*FailoverGroup) ToFailoverGroupOutputWithContext added in v4.20.0

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

type FailoverGroupArgs added in v4.20.0

type FailoverGroupArgs struct {
	// A set of database names to include in the failover group.
	Databases pulumi.StringArrayInput
	// The name of the Failover Group. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// A `partnerServer` block as defined below.
	PartnerServers FailoverGroupPartnerServerArrayInput
	// A `readWriteEndpointFailoverPolicy` block as defined below.
	ReadWriteEndpointFailoverPolicy FailoverGroupReadWriteEndpointFailoverPolicyInput
	// Whether failover is enabled for the readonly endpoint. Defaults to `false`.
	ReadonlyEndpointFailoverPolicyEnabled pulumi.BoolPtrInput
	// The ID of the primary SQL Server on which to create the failover group. Changing this forces a new resource to be created.
	ServerId 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 added in v4.20.0

func (FailoverGroupArgs) ElementType() reflect.Type

type FailoverGroupArray added in v4.20.0

type FailoverGroupArray []FailoverGroupInput

func (FailoverGroupArray) ElementType added in v4.20.0

func (FailoverGroupArray) ElementType() reflect.Type

func (FailoverGroupArray) ToFailoverGroupArrayOutput added in v4.20.0

func (i FailoverGroupArray) ToFailoverGroupArrayOutput() FailoverGroupArrayOutput

func (FailoverGroupArray) ToFailoverGroupArrayOutputWithContext added in v4.20.0

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

type FailoverGroupArrayInput added in v4.20.0

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 added in v4.20.0

type FailoverGroupArrayOutput struct{ *pulumi.OutputState }

func (FailoverGroupArrayOutput) ElementType added in v4.20.0

func (FailoverGroupArrayOutput) ElementType() reflect.Type

func (FailoverGroupArrayOutput) Index added in v4.20.0

func (FailoverGroupArrayOutput) ToFailoverGroupArrayOutput added in v4.20.0

func (o FailoverGroupArrayOutput) ToFailoverGroupArrayOutput() FailoverGroupArrayOutput

func (FailoverGroupArrayOutput) ToFailoverGroupArrayOutputWithContext added in v4.20.0

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

type FailoverGroupInput added in v4.20.0

type FailoverGroupInput interface {
	pulumi.Input

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

type FailoverGroupMap added in v4.20.0

type FailoverGroupMap map[string]FailoverGroupInput

func (FailoverGroupMap) ElementType added in v4.20.0

func (FailoverGroupMap) ElementType() reflect.Type

func (FailoverGroupMap) ToFailoverGroupMapOutput added in v4.20.0

func (i FailoverGroupMap) ToFailoverGroupMapOutput() FailoverGroupMapOutput

func (FailoverGroupMap) ToFailoverGroupMapOutputWithContext added in v4.20.0

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

type FailoverGroupMapInput added in v4.20.0

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 added in v4.20.0

type FailoverGroupMapOutput struct{ *pulumi.OutputState }

func (FailoverGroupMapOutput) ElementType added in v4.20.0

func (FailoverGroupMapOutput) ElementType() reflect.Type

func (FailoverGroupMapOutput) MapIndex added in v4.20.0

func (FailoverGroupMapOutput) ToFailoverGroupMapOutput added in v4.20.0

func (o FailoverGroupMapOutput) ToFailoverGroupMapOutput() FailoverGroupMapOutput

func (FailoverGroupMapOutput) ToFailoverGroupMapOutputWithContext added in v4.20.0

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

type FailoverGroupOutput added in v4.20.0

type FailoverGroupOutput struct{ *pulumi.OutputState }

func (FailoverGroupOutput) ElementType added in v4.20.0

func (FailoverGroupOutput) ElementType() reflect.Type

func (FailoverGroupOutput) ToFailoverGroupOutput added in v4.20.0

func (o FailoverGroupOutput) ToFailoverGroupOutput() FailoverGroupOutput

func (FailoverGroupOutput) ToFailoverGroupOutputWithContext added in v4.20.0

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

type FailoverGroupPartnerServer added in v4.20.0

type FailoverGroupPartnerServer struct {
	// The ID of a partner SQL server to include in the failover group.
	Id string `pulumi:"id"`
	// The location of the partner server.
	Location *string `pulumi:"location"`
	// The replication role of the partner server. Possible values include `Primary` or `Secondary`.
	Role *string `pulumi:"role"`
}

type FailoverGroupPartnerServerArgs added in v4.20.0

type FailoverGroupPartnerServerArgs struct {
	// The ID of a partner SQL server to include in the failover group.
	Id pulumi.StringInput `pulumi:"id"`
	// The location of the partner server.
	Location pulumi.StringPtrInput `pulumi:"location"`
	// The replication role of the partner server. Possible values include `Primary` or `Secondary`.
	Role pulumi.StringPtrInput `pulumi:"role"`
}

func (FailoverGroupPartnerServerArgs) ElementType added in v4.20.0

func (FailoverGroupPartnerServerArgs) ToFailoverGroupPartnerServerOutput added in v4.20.0

func (i FailoverGroupPartnerServerArgs) ToFailoverGroupPartnerServerOutput() FailoverGroupPartnerServerOutput

func (FailoverGroupPartnerServerArgs) ToFailoverGroupPartnerServerOutputWithContext added in v4.20.0

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

type FailoverGroupPartnerServerArray added in v4.20.0

type FailoverGroupPartnerServerArray []FailoverGroupPartnerServerInput

func (FailoverGroupPartnerServerArray) ElementType added in v4.20.0

func (FailoverGroupPartnerServerArray) ToFailoverGroupPartnerServerArrayOutput added in v4.20.0

func (i FailoverGroupPartnerServerArray) ToFailoverGroupPartnerServerArrayOutput() FailoverGroupPartnerServerArrayOutput

func (FailoverGroupPartnerServerArray) ToFailoverGroupPartnerServerArrayOutputWithContext added in v4.20.0

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

type FailoverGroupPartnerServerArrayInput added in v4.20.0

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 added in v4.20.0

type FailoverGroupPartnerServerArrayOutput struct{ *pulumi.OutputState }

func (FailoverGroupPartnerServerArrayOutput) ElementType added in v4.20.0

func (FailoverGroupPartnerServerArrayOutput) Index added in v4.20.0

func (FailoverGroupPartnerServerArrayOutput) ToFailoverGroupPartnerServerArrayOutput added in v4.20.0

func (o FailoverGroupPartnerServerArrayOutput) ToFailoverGroupPartnerServerArrayOutput() FailoverGroupPartnerServerArrayOutput

func (FailoverGroupPartnerServerArrayOutput) ToFailoverGroupPartnerServerArrayOutputWithContext added in v4.20.0

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

type FailoverGroupPartnerServerInput added in v4.20.0

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 added in v4.20.0

type FailoverGroupPartnerServerOutput struct{ *pulumi.OutputState }

func (FailoverGroupPartnerServerOutput) ElementType added in v4.20.0

func (FailoverGroupPartnerServerOutput) Id added in v4.20.0

The ID of a partner SQL server to include in the failover group.

func (FailoverGroupPartnerServerOutput) Location added in v4.20.0

The location of the partner server.

func (FailoverGroupPartnerServerOutput) Role added in v4.20.0

The replication role of the partner server. Possible values include `Primary` or `Secondary`.

func (FailoverGroupPartnerServerOutput) ToFailoverGroupPartnerServerOutput added in v4.20.0

func (o FailoverGroupPartnerServerOutput) ToFailoverGroupPartnerServerOutput() FailoverGroupPartnerServerOutput

func (FailoverGroupPartnerServerOutput) ToFailoverGroupPartnerServerOutputWithContext added in v4.20.0

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

type FailoverGroupReadWriteEndpointFailoverPolicy added in v4.20.0

type FailoverGroupReadWriteEndpointFailoverPolicy struct {
	// The grace period in minutes, before failover with data loss is attempted for the read-write endpoint. Required when `mode` is `Automatic`.
	GraceMinutes *int `pulumi:"graceMinutes"`
	// The failover policy of the read-write endpoint for the failover group. Possible values are `Automatic` or `Manual`.
	Mode string `pulumi:"mode"`
}

type FailoverGroupReadWriteEndpointFailoverPolicyArgs added in v4.20.0

type FailoverGroupReadWriteEndpointFailoverPolicyArgs struct {
	// The grace period in minutes, before failover with data loss is attempted for the read-write endpoint. Required when `mode` is `Automatic`.
	GraceMinutes pulumi.IntPtrInput `pulumi:"graceMinutes"`
	// The failover policy of the read-write endpoint for the failover group. Possible values are `Automatic` or `Manual`.
	Mode pulumi.StringInput `pulumi:"mode"`
}

func (FailoverGroupReadWriteEndpointFailoverPolicyArgs) ElementType added in v4.20.0

func (FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyOutput added in v4.20.0

func (i FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyOutput() FailoverGroupReadWriteEndpointFailoverPolicyOutput

func (FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext added in v4.20.0

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

func (FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput added in v4.20.0

func (i FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput() FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext added in v4.20.0

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

type FailoverGroupReadWriteEndpointFailoverPolicyInput added in v4.20.0

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 added in v4.20.0

type FailoverGroupReadWriteEndpointFailoverPolicyOutput struct{ *pulumi.OutputState }

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) ElementType added in v4.20.0

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) GraceMinutes added in v4.20.0

The grace period in minutes, before failover with data loss is attempted for the read-write endpoint. Required when `mode` is `Automatic`.

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) Mode added in v4.20.0

The failover policy of the read-write endpoint for the failover group. Possible values are `Automatic` or `Manual`.

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyOutput added in v4.20.0

func (o FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyOutput() FailoverGroupReadWriteEndpointFailoverPolicyOutput

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext added in v4.20.0

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

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput added in v4.20.0

func (o FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput() FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext added in v4.20.0

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

type FailoverGroupReadWriteEndpointFailoverPolicyPtrInput added in v4.20.0

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 added in v4.20.0

type FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput struct{ *pulumi.OutputState }

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) Elem added in v4.20.0

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ElementType added in v4.20.0

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) GraceMinutes added in v4.20.0

The grace period in minutes, before failover with data loss is attempted for the read-write endpoint. Required when `mode` is `Automatic`.

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) Mode added in v4.20.0

The failover policy of the read-write endpoint for the failover group. Possible values are `Automatic` or `Manual`.

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput added in v4.20.0

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext added in v4.20.0

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

type FailoverGroupState added in v4.20.0

type FailoverGroupState struct {
	// A set of database names to include in the failover group.
	Databases pulumi.StringArrayInput
	// The name of the Failover Group. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// A `partnerServer` block as defined below.
	PartnerServers FailoverGroupPartnerServerArrayInput
	// A `readWriteEndpointFailoverPolicy` block as defined below.
	ReadWriteEndpointFailoverPolicy FailoverGroupReadWriteEndpointFailoverPolicyPtrInput
	// Whether failover is enabled for the readonly endpoint. Defaults to `false`.
	ReadonlyEndpointFailoverPolicyEnabled pulumi.BoolPtrInput
	// The ID of the primary SQL Server on which to create the failover group. Changing this forces a new resource to be created.
	ServerId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (FailoverGroupState) ElementType added in v4.20.0

func (FailoverGroupState) ElementType() reflect.Type

type FirewallRule

type FirewallRule struct {
	pulumi.CustomResourceState

	// The ending IP address to allow through the firewall for this rule.
	EndIpAddress pulumi.StringOutput `pulumi:"endIpAddress"`
	// The name of the firewall rule.
	Name pulumi.StringOutput `pulumi:"name"`
	// The resource ID of the SQL Server on which to create the Firewall Rule.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
	// 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.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "exampleServer", &mssql.ServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   pulumi.String("West US"),
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewFirewallRule(ctx, "exampleFirewallRule", &mssql.FirewallRuleArgs{
			ServerId:       exampleServer.ID(),
			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:mssql/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.
	EndIpAddress pulumi.StringInput
	// The name of the firewall rule.
	Name pulumi.StringPtrInput
	// The resource ID of the SQL Server on which to create the Firewall Rule.
	ServerId 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) 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.
	EndIpAddress pulumi.StringPtrInput
	// The name of the firewall rule.
	Name pulumi.StringPtrInput
	// The resource ID of the SQL Server on which to create the Firewall Rule.
	ServerId 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 GetElasticPoolSkus added in v4.19.0

type GetElasticPoolSkus struct {
	// The scale up/out capacity, representing server's compute units.
	Capacity int `pulumi:"capacity"`
	// The `family` of hardware.
	Family string `pulumi:"family"`
	// The name of the elastic pool.
	Name string `pulumi:"name"`
	// The tier of the particular SKU.
	Tier string `pulumi:"tier"`
}

type GetElasticPoolSkusArgs added in v4.19.0

type GetElasticPoolSkusArgs struct {
	// The scale up/out capacity, representing server's compute units.
	Capacity pulumi.IntInput `pulumi:"capacity"`
	// The `family` of hardware.
	Family pulumi.StringInput `pulumi:"family"`
	// The name of the elastic pool.
	Name pulumi.StringInput `pulumi:"name"`
	// The tier of the particular SKU.
	Tier pulumi.StringInput `pulumi:"tier"`
}

func (GetElasticPoolSkusArgs) ElementType added in v4.19.0

func (GetElasticPoolSkusArgs) ElementType() reflect.Type

func (GetElasticPoolSkusArgs) ToGetElasticPoolSkusOutput added in v4.19.0

func (i GetElasticPoolSkusArgs) ToGetElasticPoolSkusOutput() GetElasticPoolSkusOutput

func (GetElasticPoolSkusArgs) ToGetElasticPoolSkusOutputWithContext added in v4.19.0

func (i GetElasticPoolSkusArgs) ToGetElasticPoolSkusOutputWithContext(ctx context.Context) GetElasticPoolSkusOutput

type GetElasticPoolSkusArray added in v4.19.0

type GetElasticPoolSkusArray []GetElasticPoolSkusInput

func (GetElasticPoolSkusArray) ElementType added in v4.19.0

func (GetElasticPoolSkusArray) ElementType() reflect.Type

func (GetElasticPoolSkusArray) ToGetElasticPoolSkusArrayOutput added in v4.19.0

func (i GetElasticPoolSkusArray) ToGetElasticPoolSkusArrayOutput() GetElasticPoolSkusArrayOutput

func (GetElasticPoolSkusArray) ToGetElasticPoolSkusArrayOutputWithContext added in v4.19.0

func (i GetElasticPoolSkusArray) ToGetElasticPoolSkusArrayOutputWithContext(ctx context.Context) GetElasticPoolSkusArrayOutput

type GetElasticPoolSkusArrayInput added in v4.19.0

type GetElasticPoolSkusArrayInput interface {
	pulumi.Input

	ToGetElasticPoolSkusArrayOutput() GetElasticPoolSkusArrayOutput
	ToGetElasticPoolSkusArrayOutputWithContext(context.Context) GetElasticPoolSkusArrayOutput
}

GetElasticPoolSkusArrayInput is an input type that accepts GetElasticPoolSkusArray and GetElasticPoolSkusArrayOutput values. You can construct a concrete instance of `GetElasticPoolSkusArrayInput` via:

GetElasticPoolSkusArray{ GetElasticPoolSkusArgs{...} }

type GetElasticPoolSkusArrayOutput added in v4.19.0

type GetElasticPoolSkusArrayOutput struct{ *pulumi.OutputState }

func (GetElasticPoolSkusArrayOutput) ElementType added in v4.19.0

func (GetElasticPoolSkusArrayOutput) Index added in v4.19.0

func (GetElasticPoolSkusArrayOutput) ToGetElasticPoolSkusArrayOutput added in v4.19.0

func (o GetElasticPoolSkusArrayOutput) ToGetElasticPoolSkusArrayOutput() GetElasticPoolSkusArrayOutput

func (GetElasticPoolSkusArrayOutput) ToGetElasticPoolSkusArrayOutputWithContext added in v4.19.0

func (o GetElasticPoolSkusArrayOutput) ToGetElasticPoolSkusArrayOutputWithContext(ctx context.Context) GetElasticPoolSkusArrayOutput

type GetElasticPoolSkusInput added in v4.19.0

type GetElasticPoolSkusInput interface {
	pulumi.Input

	ToGetElasticPoolSkusOutput() GetElasticPoolSkusOutput
	ToGetElasticPoolSkusOutputWithContext(context.Context) GetElasticPoolSkusOutput
}

GetElasticPoolSkusInput is an input type that accepts GetElasticPoolSkusArgs and GetElasticPoolSkusOutput values. You can construct a concrete instance of `GetElasticPoolSkusInput` via:

GetElasticPoolSkusArgs{...}

type GetElasticPoolSkusOutput added in v4.19.0

type GetElasticPoolSkusOutput struct{ *pulumi.OutputState }

func (GetElasticPoolSkusOutput) Capacity added in v4.19.0

The scale up/out capacity, representing server's compute units.

func (GetElasticPoolSkusOutput) ElementType added in v4.19.0

func (GetElasticPoolSkusOutput) ElementType() reflect.Type

func (GetElasticPoolSkusOutput) Family added in v4.19.0

The `family` of hardware.

func (GetElasticPoolSkusOutput) Name added in v4.19.0

The name of the elastic pool.

func (GetElasticPoolSkusOutput) Tier added in v4.19.0

The tier of the particular SKU.

func (GetElasticPoolSkusOutput) ToGetElasticPoolSkusOutput added in v4.19.0

func (o GetElasticPoolSkusOutput) ToGetElasticPoolSkusOutput() GetElasticPoolSkusOutput

func (GetElasticPoolSkusOutput) ToGetElasticPoolSkusOutputWithContext added in v4.19.0

func (o GetElasticPoolSkusOutput) ToGetElasticPoolSkusOutputWithContext(ctx context.Context) GetElasticPoolSkusOutput

type GetManagedInstanceIdentity added in v4.39.0

type GetManagedInstanceIdentity 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"`
	// The identity type of the SQL Managed Instance.
	Type string `pulumi:"type"`
}

type GetManagedInstanceIdentityArgs added in v4.39.0

type GetManagedInstanceIdentityArgs 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"`
	// The identity type of the SQL Managed Instance.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetManagedInstanceIdentityArgs) ElementType added in v4.39.0

func (GetManagedInstanceIdentityArgs) ToGetManagedInstanceIdentityOutput added in v4.39.0

func (i GetManagedInstanceIdentityArgs) ToGetManagedInstanceIdentityOutput() GetManagedInstanceIdentityOutput

func (GetManagedInstanceIdentityArgs) ToGetManagedInstanceIdentityOutputWithContext added in v4.39.0

func (i GetManagedInstanceIdentityArgs) ToGetManagedInstanceIdentityOutputWithContext(ctx context.Context) GetManagedInstanceIdentityOutput

type GetManagedInstanceIdentityArray added in v4.39.0

type GetManagedInstanceIdentityArray []GetManagedInstanceIdentityInput

func (GetManagedInstanceIdentityArray) ElementType added in v4.39.0

func (GetManagedInstanceIdentityArray) ToGetManagedInstanceIdentityArrayOutput added in v4.39.0

func (i GetManagedInstanceIdentityArray) ToGetManagedInstanceIdentityArrayOutput() GetManagedInstanceIdentityArrayOutput

func (GetManagedInstanceIdentityArray) ToGetManagedInstanceIdentityArrayOutputWithContext added in v4.39.0

func (i GetManagedInstanceIdentityArray) ToGetManagedInstanceIdentityArrayOutputWithContext(ctx context.Context) GetManagedInstanceIdentityArrayOutput

type GetManagedInstanceIdentityArrayInput added in v4.39.0

type GetManagedInstanceIdentityArrayInput interface {
	pulumi.Input

	ToGetManagedInstanceIdentityArrayOutput() GetManagedInstanceIdentityArrayOutput
	ToGetManagedInstanceIdentityArrayOutputWithContext(context.Context) GetManagedInstanceIdentityArrayOutput
}

GetManagedInstanceIdentityArrayInput is an input type that accepts GetManagedInstanceIdentityArray and GetManagedInstanceIdentityArrayOutput values. You can construct a concrete instance of `GetManagedInstanceIdentityArrayInput` via:

GetManagedInstanceIdentityArray{ GetManagedInstanceIdentityArgs{...} }

type GetManagedInstanceIdentityArrayOutput added in v4.39.0

type GetManagedInstanceIdentityArrayOutput struct{ *pulumi.OutputState }

func (GetManagedInstanceIdentityArrayOutput) ElementType added in v4.39.0

func (GetManagedInstanceIdentityArrayOutput) Index added in v4.39.0

func (GetManagedInstanceIdentityArrayOutput) ToGetManagedInstanceIdentityArrayOutput added in v4.39.0

func (o GetManagedInstanceIdentityArrayOutput) ToGetManagedInstanceIdentityArrayOutput() GetManagedInstanceIdentityArrayOutput

func (GetManagedInstanceIdentityArrayOutput) ToGetManagedInstanceIdentityArrayOutputWithContext added in v4.39.0

func (o GetManagedInstanceIdentityArrayOutput) ToGetManagedInstanceIdentityArrayOutputWithContext(ctx context.Context) GetManagedInstanceIdentityArrayOutput

type GetManagedInstanceIdentityInput added in v4.39.0

type GetManagedInstanceIdentityInput interface {
	pulumi.Input

	ToGetManagedInstanceIdentityOutput() GetManagedInstanceIdentityOutput
	ToGetManagedInstanceIdentityOutputWithContext(context.Context) GetManagedInstanceIdentityOutput
}

GetManagedInstanceIdentityInput is an input type that accepts GetManagedInstanceIdentityArgs and GetManagedInstanceIdentityOutput values. You can construct a concrete instance of `GetManagedInstanceIdentityInput` via:

GetManagedInstanceIdentityArgs{...}

type GetManagedInstanceIdentityOutput added in v4.39.0

type GetManagedInstanceIdentityOutput struct{ *pulumi.OutputState }

func (GetManagedInstanceIdentityOutput) ElementType added in v4.39.0

func (GetManagedInstanceIdentityOutput) PrincipalId added in v4.39.0

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

func (GetManagedInstanceIdentityOutput) TenantId added in v4.39.0

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

func (GetManagedInstanceIdentityOutput) ToGetManagedInstanceIdentityOutput added in v4.39.0

func (o GetManagedInstanceIdentityOutput) ToGetManagedInstanceIdentityOutput() GetManagedInstanceIdentityOutput

func (GetManagedInstanceIdentityOutput) ToGetManagedInstanceIdentityOutputWithContext added in v4.39.0

func (o GetManagedInstanceIdentityOutput) ToGetManagedInstanceIdentityOutputWithContext(ctx context.Context) GetManagedInstanceIdentityOutput

func (GetManagedInstanceIdentityOutput) Type added in v4.39.0

The identity type of the SQL Managed Instance.

type GetServerIdentity

type GetServerIdentity 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"`
	// The identity type of the Microsoft SQL Server.
	Type string `pulumi:"type"`
	// A list of the User Assigned Identities of this SQL Server.
	UserAssignedIdentityIds []string `pulumi:"userAssignedIdentityIds"`
}

type GetServerIdentityArgs

type GetServerIdentityArgs struct {
	// The Principal ID for the Service Principal associated with the Identity of this SQL Server.
	PrincipalId pulumi.StringInput `pulumi:"principalId"`
	// The Tenant ID for the Service Principal associated with the Identity of this SQL Server.
	TenantId pulumi.StringInput `pulumi:"tenantId"`
	// The identity type of the Microsoft SQL Server.
	Type pulumi.StringInput `pulumi:"type"`
	// A list of the User Assigned Identities of this SQL Server.
	UserAssignedIdentityIds pulumi.StringArrayInput `pulumi:"userAssignedIdentityIds"`
}

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 for the Service Principal associated with the Identity of this SQL Server.

func (GetServerIdentityOutput) TenantId

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

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 the Microsoft SQL Server.

func (GetServerIdentityOutput) UserAssignedIdentityIds added in v4.23.0

func (o GetServerIdentityOutput) UserAssignedIdentityIds() pulumi.StringArrayOutput

A list of the User Assigned Identities of this SQL Server.

type JobAgent added in v4.1.0

type JobAgent struct {
	pulumi.CustomResourceState

	// The ID of the database to store metadata for the Elastic Job Agent. Changing this forces a new Elastic Job Agent to be created.
	DatabaseId pulumi.StringOutput `pulumi:"databaseId"`
	// The Azure Region where the Elastic Job Agent should exist. Changing this forces a new Elastic Job Agent to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name which should be used for this Elastic Job Agent. Changing this forces a new Elastic Job Agent to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// A mapping of tags which should be assigned to the Database.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Manages an Elastic Job Agent.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("northeurope"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "exampleServer", &mssql.ServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := mssql.NewDatabase(ctx, "exampleDatabase", &mssql.DatabaseArgs{
			ServerId:  exampleServer.ID(),
			Collation: pulumi.String("SQL_Latin1_General_CP1_CI_AS"),
			SkuName:   pulumi.String("S1"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewJobAgent(ctx, "exampleJobAgent", &mssql.JobAgentArgs{
			Location:   exampleResourceGroup.Location,
			DatabaseId: exampleDatabase.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Elastic Job Agents can be imported using the `id`, e.g.

```sh

$ pulumi import azure:mssql/jobAgent:JobAgent example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1

```

func GetJobAgent added in v4.1.0

func GetJobAgent(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *JobAgentState, opts ...pulumi.ResourceOption) (*JobAgent, error)

GetJobAgent gets an existing JobAgent 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 NewJobAgent added in v4.1.0

func NewJobAgent(ctx *pulumi.Context,
	name string, args *JobAgentArgs, opts ...pulumi.ResourceOption) (*JobAgent, error)

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

func (*JobAgent) ElementType added in v4.1.0

func (*JobAgent) ElementType() reflect.Type

func (*JobAgent) ToJobAgentOutput added in v4.1.0

func (i *JobAgent) ToJobAgentOutput() JobAgentOutput

func (*JobAgent) ToJobAgentOutputWithContext added in v4.1.0

func (i *JobAgent) ToJobAgentOutputWithContext(ctx context.Context) JobAgentOutput

type JobAgentArgs added in v4.1.0

type JobAgentArgs struct {
	// The ID of the database to store metadata for the Elastic Job Agent. Changing this forces a new Elastic Job Agent to be created.
	DatabaseId pulumi.StringInput
	// The Azure Region where the Elastic Job Agent should exist. Changing this forces a new Elastic Job Agent to be created.
	Location pulumi.StringPtrInput
	// The name which should be used for this Elastic Job Agent. Changing this forces a new Elastic Job Agent to be created.
	Name pulumi.StringPtrInput
	// A mapping of tags which should be assigned to the Database.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a JobAgent resource.

func (JobAgentArgs) ElementType added in v4.1.0

func (JobAgentArgs) ElementType() reflect.Type

type JobAgentArray added in v4.1.0

type JobAgentArray []JobAgentInput

func (JobAgentArray) ElementType added in v4.1.0

func (JobAgentArray) ElementType() reflect.Type

func (JobAgentArray) ToJobAgentArrayOutput added in v4.1.0

func (i JobAgentArray) ToJobAgentArrayOutput() JobAgentArrayOutput

func (JobAgentArray) ToJobAgentArrayOutputWithContext added in v4.1.0

func (i JobAgentArray) ToJobAgentArrayOutputWithContext(ctx context.Context) JobAgentArrayOutput

type JobAgentArrayInput added in v4.1.0

type JobAgentArrayInput interface {
	pulumi.Input

	ToJobAgentArrayOutput() JobAgentArrayOutput
	ToJobAgentArrayOutputWithContext(context.Context) JobAgentArrayOutput
}

JobAgentArrayInput is an input type that accepts JobAgentArray and JobAgentArrayOutput values. You can construct a concrete instance of `JobAgentArrayInput` via:

JobAgentArray{ JobAgentArgs{...} }

type JobAgentArrayOutput added in v4.1.0

type JobAgentArrayOutput struct{ *pulumi.OutputState }

func (JobAgentArrayOutput) ElementType added in v4.1.0

func (JobAgentArrayOutput) ElementType() reflect.Type

func (JobAgentArrayOutput) Index added in v4.1.0

func (JobAgentArrayOutput) ToJobAgentArrayOutput added in v4.1.0

func (o JobAgentArrayOutput) ToJobAgentArrayOutput() JobAgentArrayOutput

func (JobAgentArrayOutput) ToJobAgentArrayOutputWithContext added in v4.1.0

func (o JobAgentArrayOutput) ToJobAgentArrayOutputWithContext(ctx context.Context) JobAgentArrayOutput

type JobAgentInput added in v4.1.0

type JobAgentInput interface {
	pulumi.Input

	ToJobAgentOutput() JobAgentOutput
	ToJobAgentOutputWithContext(ctx context.Context) JobAgentOutput
}

type JobAgentMap added in v4.1.0

type JobAgentMap map[string]JobAgentInput

func (JobAgentMap) ElementType added in v4.1.0

func (JobAgentMap) ElementType() reflect.Type

func (JobAgentMap) ToJobAgentMapOutput added in v4.1.0

func (i JobAgentMap) ToJobAgentMapOutput() JobAgentMapOutput

func (JobAgentMap) ToJobAgentMapOutputWithContext added in v4.1.0

func (i JobAgentMap) ToJobAgentMapOutputWithContext(ctx context.Context) JobAgentMapOutput

type JobAgentMapInput added in v4.1.0

type JobAgentMapInput interface {
	pulumi.Input

	ToJobAgentMapOutput() JobAgentMapOutput
	ToJobAgentMapOutputWithContext(context.Context) JobAgentMapOutput
}

JobAgentMapInput is an input type that accepts JobAgentMap and JobAgentMapOutput values. You can construct a concrete instance of `JobAgentMapInput` via:

JobAgentMap{ "key": JobAgentArgs{...} }

type JobAgentMapOutput added in v4.1.0

type JobAgentMapOutput struct{ *pulumi.OutputState }

func (JobAgentMapOutput) ElementType added in v4.1.0

func (JobAgentMapOutput) ElementType() reflect.Type

func (JobAgentMapOutput) MapIndex added in v4.1.0

func (JobAgentMapOutput) ToJobAgentMapOutput added in v4.1.0

func (o JobAgentMapOutput) ToJobAgentMapOutput() JobAgentMapOutput

func (JobAgentMapOutput) ToJobAgentMapOutputWithContext added in v4.1.0

func (o JobAgentMapOutput) ToJobAgentMapOutputWithContext(ctx context.Context) JobAgentMapOutput

type JobAgentOutput added in v4.1.0

type JobAgentOutput struct{ *pulumi.OutputState }

func (JobAgentOutput) ElementType added in v4.1.0

func (JobAgentOutput) ElementType() reflect.Type

func (JobAgentOutput) ToJobAgentOutput added in v4.1.0

func (o JobAgentOutput) ToJobAgentOutput() JobAgentOutput

func (JobAgentOutput) ToJobAgentOutputWithContext added in v4.1.0

func (o JobAgentOutput) ToJobAgentOutputWithContext(ctx context.Context) JobAgentOutput

type JobAgentState added in v4.1.0

type JobAgentState struct {
	// The ID of the database to store metadata for the Elastic Job Agent. Changing this forces a new Elastic Job Agent to be created.
	DatabaseId pulumi.StringPtrInput
	// The Azure Region where the Elastic Job Agent should exist. Changing this forces a new Elastic Job Agent to be created.
	Location pulumi.StringPtrInput
	// The name which should be used for this Elastic Job Agent. Changing this forces a new Elastic Job Agent to be created.
	Name pulumi.StringPtrInput
	// A mapping of tags which should be assigned to the Database.
	Tags pulumi.StringMapInput
}

func (JobAgentState) ElementType added in v4.1.0

func (JobAgentState) ElementType() reflect.Type

type JobCredential added in v4.1.0

type JobCredential struct {
	pulumi.CustomResourceState

	// The ID of the Elastic Job Agent. Changing this forces a new Elastic Job Credential to be created.
	JobAgentId pulumi.StringOutput `pulumi:"jobAgentId"`
	// The name which should be used for this Elastic Job Credential. Changing this forces a new Elastic Job Credential to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The password part of the credential.
	Password pulumi.StringOutput `pulumi:"password"`
	// The username part of the credential.
	Username pulumi.StringOutput `pulumi:"username"`
}

Manages an Elastic Job Credential.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("northeurope"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "exampleServer", &mssql.ServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := mssql.NewDatabase(ctx, "exampleDatabase", &mssql.DatabaseArgs{
			ServerId:  exampleServer.ID(),
			Collation: pulumi.String("SQL_Latin1_General_CP1_CI_AS"),
			SkuName:   pulumi.String("S1"),
		})
		if err != nil {
			return err
		}
		exampleJobAgent, err := mssql.NewJobAgent(ctx, "exampleJobAgent", &mssql.JobAgentArgs{
			Location:   exampleResourceGroup.Location,
			DatabaseId: exampleDatabase.ID(),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewJobCredential(ctx, "exampleJobCredential", &mssql.JobCredentialArgs{
			JobAgentId: exampleJobAgent.ID(),
			Username:   pulumi.String("my-username"),
			Password:   pulumi.String("MyP4ssw0rd!!!"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Elastic Job Credentials can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:mssql/jobCredential:JobCredential example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/credentials/credential1

```

func GetJobCredential added in v4.1.0

func GetJobCredential(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *JobCredentialState, opts ...pulumi.ResourceOption) (*JobCredential, error)

GetJobCredential gets an existing JobCredential 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 NewJobCredential added in v4.1.0

func NewJobCredential(ctx *pulumi.Context,
	name string, args *JobCredentialArgs, opts ...pulumi.ResourceOption) (*JobCredential, error)

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

func (*JobCredential) ElementType added in v4.1.0

func (*JobCredential) ElementType() reflect.Type

func (*JobCredential) ToJobCredentialOutput added in v4.1.0

func (i *JobCredential) ToJobCredentialOutput() JobCredentialOutput

func (*JobCredential) ToJobCredentialOutputWithContext added in v4.1.0

func (i *JobCredential) ToJobCredentialOutputWithContext(ctx context.Context) JobCredentialOutput

type JobCredentialArgs added in v4.1.0

type JobCredentialArgs struct {
	// The ID of the Elastic Job Agent. Changing this forces a new Elastic Job Credential to be created.
	JobAgentId pulumi.StringInput
	// The name which should be used for this Elastic Job Credential. Changing this forces a new Elastic Job Credential to be created.
	Name pulumi.StringPtrInput
	// The password part of the credential.
	Password pulumi.StringInput
	// The username part of the credential.
	Username pulumi.StringInput
}

The set of arguments for constructing a JobCredential resource.

func (JobCredentialArgs) ElementType added in v4.1.0

func (JobCredentialArgs) ElementType() reflect.Type

type JobCredentialArray added in v4.1.0

type JobCredentialArray []JobCredentialInput

func (JobCredentialArray) ElementType added in v4.1.0

func (JobCredentialArray) ElementType() reflect.Type

func (JobCredentialArray) ToJobCredentialArrayOutput added in v4.1.0

func (i JobCredentialArray) ToJobCredentialArrayOutput() JobCredentialArrayOutput

func (JobCredentialArray) ToJobCredentialArrayOutputWithContext added in v4.1.0

func (i JobCredentialArray) ToJobCredentialArrayOutputWithContext(ctx context.Context) JobCredentialArrayOutput

type JobCredentialArrayInput added in v4.1.0

type JobCredentialArrayInput interface {
	pulumi.Input

	ToJobCredentialArrayOutput() JobCredentialArrayOutput
	ToJobCredentialArrayOutputWithContext(context.Context) JobCredentialArrayOutput
}

JobCredentialArrayInput is an input type that accepts JobCredentialArray and JobCredentialArrayOutput values. You can construct a concrete instance of `JobCredentialArrayInput` via:

JobCredentialArray{ JobCredentialArgs{...} }

type JobCredentialArrayOutput added in v4.1.0

type JobCredentialArrayOutput struct{ *pulumi.OutputState }

func (JobCredentialArrayOutput) ElementType added in v4.1.0

func (JobCredentialArrayOutput) ElementType() reflect.Type

func (JobCredentialArrayOutput) Index added in v4.1.0

func (JobCredentialArrayOutput) ToJobCredentialArrayOutput added in v4.1.0

func (o JobCredentialArrayOutput) ToJobCredentialArrayOutput() JobCredentialArrayOutput

func (JobCredentialArrayOutput) ToJobCredentialArrayOutputWithContext added in v4.1.0

func (o JobCredentialArrayOutput) ToJobCredentialArrayOutputWithContext(ctx context.Context) JobCredentialArrayOutput

type JobCredentialInput added in v4.1.0

type JobCredentialInput interface {
	pulumi.Input

	ToJobCredentialOutput() JobCredentialOutput
	ToJobCredentialOutputWithContext(ctx context.Context) JobCredentialOutput
}

type JobCredentialMap added in v4.1.0

type JobCredentialMap map[string]JobCredentialInput

func (JobCredentialMap) ElementType added in v4.1.0

func (JobCredentialMap) ElementType() reflect.Type

func (JobCredentialMap) ToJobCredentialMapOutput added in v4.1.0

func (i JobCredentialMap) ToJobCredentialMapOutput() JobCredentialMapOutput

func (JobCredentialMap) ToJobCredentialMapOutputWithContext added in v4.1.0

func (i JobCredentialMap) ToJobCredentialMapOutputWithContext(ctx context.Context) JobCredentialMapOutput

type JobCredentialMapInput added in v4.1.0

type JobCredentialMapInput interface {
	pulumi.Input

	ToJobCredentialMapOutput() JobCredentialMapOutput
	ToJobCredentialMapOutputWithContext(context.Context) JobCredentialMapOutput
}

JobCredentialMapInput is an input type that accepts JobCredentialMap and JobCredentialMapOutput values. You can construct a concrete instance of `JobCredentialMapInput` via:

JobCredentialMap{ "key": JobCredentialArgs{...} }

type JobCredentialMapOutput added in v4.1.0

type JobCredentialMapOutput struct{ *pulumi.OutputState }

func (JobCredentialMapOutput) ElementType added in v4.1.0

func (JobCredentialMapOutput) ElementType() reflect.Type

func (JobCredentialMapOutput) MapIndex added in v4.1.0

func (JobCredentialMapOutput) ToJobCredentialMapOutput added in v4.1.0

func (o JobCredentialMapOutput) ToJobCredentialMapOutput() JobCredentialMapOutput

func (JobCredentialMapOutput) ToJobCredentialMapOutputWithContext added in v4.1.0

func (o JobCredentialMapOutput) ToJobCredentialMapOutputWithContext(ctx context.Context) JobCredentialMapOutput

type JobCredentialOutput added in v4.1.0

type JobCredentialOutput struct{ *pulumi.OutputState }

func (JobCredentialOutput) ElementType added in v4.1.0

func (JobCredentialOutput) ElementType() reflect.Type

func (JobCredentialOutput) ToJobCredentialOutput added in v4.1.0

func (o JobCredentialOutput) ToJobCredentialOutput() JobCredentialOutput

func (JobCredentialOutput) ToJobCredentialOutputWithContext added in v4.1.0

func (o JobCredentialOutput) ToJobCredentialOutputWithContext(ctx context.Context) JobCredentialOutput

type JobCredentialState added in v4.1.0

type JobCredentialState struct {
	// The ID of the Elastic Job Agent. Changing this forces a new Elastic Job Credential to be created.
	JobAgentId pulumi.StringPtrInput
	// The name which should be used for this Elastic Job Credential. Changing this forces a new Elastic Job Credential to be created.
	Name pulumi.StringPtrInput
	// The password part of the credential.
	Password pulumi.StringPtrInput
	// The username part of the credential.
	Username pulumi.StringPtrInput
}

func (JobCredentialState) ElementType added in v4.1.0

func (JobCredentialState) ElementType() reflect.Type

type LookupDatabaseArgs

type LookupDatabaseArgs struct {
	// The name of the Ms SQL Database.
	Name string `pulumi:"name"`
	// The id of the Ms SQL Server on which to create the database.
	ServerId string `pulumi:"serverId"`
}

A collection of arguments for invoking getDatabase.

type LookupDatabaseOutputArgs added in v4.20.0

type LookupDatabaseOutputArgs struct {
	// The name of the Ms SQL Database.
	Name pulumi.StringInput `pulumi:"name"`
	// The id of the Ms SQL Server on which to create the database.
	ServerId pulumi.StringInput `pulumi:"serverId"`
}

A collection of arguments for invoking getDatabase.

func (LookupDatabaseOutputArgs) ElementType added in v4.20.0

func (LookupDatabaseOutputArgs) ElementType() reflect.Type

type LookupDatabaseResult

type LookupDatabaseResult struct {
	// The collation of the database.
	Collation string `pulumi:"collation"`
	// The id of the elastic pool containing this database.
	ElasticPoolId string `pulumi:"elasticPoolId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The license type to apply for this database.
	LicenseType string `pulumi:"licenseType"`
	// The max size of the database in gigabytes.
	MaxSizeGb int    `pulumi:"maxSizeGb"`
	Name      string `pulumi:"name"`
	// The number of readonly secondary replicas associated with the database to which readonly application intent connections may be routed.
	ReadReplicaCount int `pulumi:"readReplicaCount"`
	// If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica.
	ReadScale bool   `pulumi:"readScale"`
	ServerId  string `pulumi:"serverId"`
	// The name of the sku of the database.
	SkuName string `pulumi:"skuName"`
	// The storage account type used to store backups for this database.
	StorageAccountType string `pulumi:"storageAccountType"`
	// A mapping of tags to assign to the resource.
	Tags map[string]string `pulumi:"tags"`
	// Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.
	ZoneRedundant bool `pulumi:"zoneRedundant"`
}

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 database.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := mssql.LookupDatabase(ctx, &mssql.LookupDatabaseArgs{
			Name:     "example-mssql-db",
			ServerId: "example-mssql-server-id",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("databaseId", example.Id)
		return nil
	})
}

```

type LookupDatabaseResultOutput added in v4.20.0

type LookupDatabaseResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDatabase.

func LookupDatabaseOutput added in v4.20.0

func LookupDatabaseOutput(ctx *pulumi.Context, args LookupDatabaseOutputArgs, opts ...pulumi.InvokeOption) LookupDatabaseResultOutput

func (LookupDatabaseResultOutput) Collation added in v4.20.0

The collation of the database.

func (LookupDatabaseResultOutput) ElasticPoolId added in v4.20.0

The id of the elastic pool containing this database.

func (LookupDatabaseResultOutput) ElementType added in v4.20.0

func (LookupDatabaseResultOutput) ElementType() reflect.Type

func (LookupDatabaseResultOutput) Id added in v4.20.0

The provider-assigned unique ID for this managed resource.

func (LookupDatabaseResultOutput) LicenseType added in v4.20.0

The license type to apply for this database.

func (LookupDatabaseResultOutput) MaxSizeGb added in v4.20.0

The max size of the database in gigabytes.

func (LookupDatabaseResultOutput) Name added in v4.20.0

func (LookupDatabaseResultOutput) ReadReplicaCount added in v4.20.0

func (o LookupDatabaseResultOutput) ReadReplicaCount() pulumi.IntOutput

The number of readonly secondary replicas associated with the database to which readonly application intent connections may be routed.

func (LookupDatabaseResultOutput) ReadScale added in v4.20.0

If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica.

func (LookupDatabaseResultOutput) ServerId added in v4.20.0

func (LookupDatabaseResultOutput) SkuName added in v4.20.0

The name of the sku of the database.

func (LookupDatabaseResultOutput) StorageAccountType added in v4.20.0

func (o LookupDatabaseResultOutput) StorageAccountType() pulumi.StringOutput

The storage account type used to store backups for this database.

func (LookupDatabaseResultOutput) Tags added in v4.20.0

A mapping of tags to assign to the resource.

func (LookupDatabaseResultOutput) ToLookupDatabaseResultOutput added in v4.20.0

func (o LookupDatabaseResultOutput) ToLookupDatabaseResultOutput() LookupDatabaseResultOutput

func (LookupDatabaseResultOutput) ToLookupDatabaseResultOutputWithContext added in v4.20.0

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

func (LookupDatabaseResultOutput) ZoneRedundant added in v4.20.0

func (o LookupDatabaseResultOutput) ZoneRedundant() pulumi.BoolOutput

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

type LookupElasticPoolArgs

type LookupElasticPoolArgs struct {
	// The name of the elastic pool.
	Name string `pulumi:"name"`
	// The name of the resource group which contains the elastic pool.
	ResourceGroupName string `pulumi:"resourceGroupName"`
	// The name of the SQL Server which contains the elastic pool.
	ServerName string `pulumi:"serverName"`
}

A collection of arguments for invoking getElasticPool.

type LookupElasticPoolOutputArgs added in v4.20.0

type LookupElasticPoolOutputArgs struct {
	// The name of the elastic pool.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the resource group which contains the elastic pool.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
	// The name of the SQL Server which contains the elastic pool.
	ServerName pulumi.StringInput `pulumi:"serverName"`
}

A collection of arguments for invoking getElasticPool.

func (LookupElasticPoolOutputArgs) ElementType added in v4.20.0

type LookupElasticPoolResult

type LookupElasticPoolResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The license type to apply for this database.
	LicenseType string `pulumi:"licenseType"`
	// Specifies the supported Azure location where the resource exists.
	Location string `pulumi:"location"`
	// The max data size of the elastic pool in bytes.
	MaxSizeBytes int `pulumi:"maxSizeBytes"`
	// The max data size of the elastic pool in gigabytes.
	MaxSizeGb float64 `pulumi:"maxSizeGb"`
	// Specifies the SKU Name for this Elasticpool.
	Name string `pulumi:"name"`
	// The maximum capacity any one database can consume.
	PerDbMaxCapacity int `pulumi:"perDbMaxCapacity"`
	// The minimum capacity all databases are guaranteed.
	PerDbMinCapacity  int    `pulumi:"perDbMinCapacity"`
	ResourceGroupName string `pulumi:"resourceGroupName"`
	ServerName        string `pulumi:"serverName"`
	// A `sku` block as defined below.
	Skus []GetElasticPoolSkus `pulumi:"skus"`
	// A mapping of tags to assign to the resource.
	Tags map[string]string `pulumi:"tags"`
	// Whether or not this elastic pool is zone redundant.
	ZoneRedundant bool `pulumi:"zoneRedundant"`
}

A collection of values returned by getElasticPool.

func LookupElasticPool

func LookupElasticPool(ctx *pulumi.Context, args *LookupElasticPoolArgs, opts ...pulumi.InvokeOption) (*LookupElasticPoolResult, error)

Use this data source to access information about an existing SQL elastic pool.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := mssql.LookupElasticPool(ctx, &mssql.LookupElasticPoolArgs{
			Name:              "mssqlelasticpoolname",
			ResourceGroupName: "example-resources",
			ServerName:        "example-sql-server",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("elasticpoolId", example.Id)
		return nil
	})
}

```

type LookupElasticPoolResultOutput added in v4.20.0

type LookupElasticPoolResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getElasticPool.

func LookupElasticPoolOutput added in v4.20.0

func (LookupElasticPoolResultOutput) ElementType added in v4.20.0

func (LookupElasticPoolResultOutput) Id added in v4.20.0

The provider-assigned unique ID for this managed resource.

func (LookupElasticPoolResultOutput) LicenseType added in v4.20.0

The license type to apply for this database.

func (LookupElasticPoolResultOutput) Location added in v4.20.0

Specifies the supported Azure location where the resource exists.

func (LookupElasticPoolResultOutput) MaxSizeBytes added in v4.20.0

The max data size of the elastic pool in bytes.

func (LookupElasticPoolResultOutput) MaxSizeGb added in v4.20.0

The max data size of the elastic pool in gigabytes.

func (LookupElasticPoolResultOutput) Name added in v4.20.0

Specifies the SKU Name for this Elasticpool.

func (LookupElasticPoolResultOutput) PerDbMaxCapacity added in v4.20.0

func (o LookupElasticPoolResultOutput) PerDbMaxCapacity() pulumi.IntOutput

The maximum capacity any one database can consume.

func (LookupElasticPoolResultOutput) PerDbMinCapacity added in v4.20.0

func (o LookupElasticPoolResultOutput) PerDbMinCapacity() pulumi.IntOutput

The minimum capacity all databases are guaranteed.

func (LookupElasticPoolResultOutput) ResourceGroupName added in v4.20.0

func (o LookupElasticPoolResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupElasticPoolResultOutput) ServerName added in v4.20.0

func (LookupElasticPoolResultOutput) Skus added in v4.20.0

A `sku` block as defined below.

func (LookupElasticPoolResultOutput) Tags added in v4.20.0

A mapping of tags to assign to the resource.

func (LookupElasticPoolResultOutput) ToLookupElasticPoolResultOutput added in v4.20.0

func (o LookupElasticPoolResultOutput) ToLookupElasticPoolResultOutput() LookupElasticPoolResultOutput

func (LookupElasticPoolResultOutput) ToLookupElasticPoolResultOutputWithContext added in v4.20.0

func (o LookupElasticPoolResultOutput) ToLookupElasticPoolResultOutputWithContext(ctx context.Context) LookupElasticPoolResultOutput

func (LookupElasticPoolResultOutput) ZoneRedundant added in v4.20.0

Whether or not this elastic pool is zone redundant.

type LookupManagedInstanceArgs added in v4.39.0

type LookupManagedInstanceArgs struct {
	// The name of the SQL Managed Instance.
	Name string `pulumi:"name"`
	// The name of the resource group where the SQL Managed Instance exists.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getManagedInstance.

type LookupManagedInstanceOutputArgs added in v4.39.0

type LookupManagedInstanceOutputArgs struct {
	// The name of the SQL Managed Instance.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the resource group where the SQL Managed Instance exists.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getManagedInstance.

func (LookupManagedInstanceOutputArgs) ElementType added in v4.39.0

type LookupManagedInstanceResult added in v4.39.0

type LookupManagedInstanceResult struct {
	// The administrator login name for the SQL Managed Instance.
	AdministratorLogin string `pulumi:"administratorLogin"`
	// Specifies how the SQL Managed Instance will be collated.
	Collation string `pulumi:"collation"`
	// The ID of the SQL Managed Instance which shares 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 []GetManagedInstanceIdentity `pulumi:"identities"`
	// What type of license the SQL Managed Instance uses.
	LicenseType string `pulumi:"licenseType"`
	// Specifies the supported Azure location where the resource exists.
	Location string `pulumi:"location"`
	// The Minimum TLS Version.
	MinimumTlsVersion string `pulumi:"minimumTlsVersion"`
	Name              string `pulumi:"name"`
	// Specifies how the SQL Managed Instance will be accessed.
	ProxyOverride string `pulumi:"proxyOverride"`
	// Whether the public data endpoint is enabled.
	PublicDataEndpointEnabled bool   `pulumi:"publicDataEndpointEnabled"`
	ResourceGroupName         string `pulumi:"resourceGroupName"`
	// Specifies the SKU Name of the SQL Managed Instance.
	SkuName string `pulumi:"skuName"`
	// Specifies the storage account type used to store backups for this database.
	StorageAccountType string `pulumi:"storageAccountType"`
	// Maximum storage space allocated for the SQL Managed 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 running in.
	TimezoneId string `pulumi:"timezoneId"`
	// Number of cores that are assigned to the SQL Managed Instance.
	Vcores int `pulumi:"vcores"`
}

A collection of values returned by getManagedInstance.

func LookupManagedInstance added in v4.39.0

func LookupManagedInstance(ctx *pulumi.Context, args *LookupManagedInstanceArgs, opts ...pulumi.InvokeOption) (*LookupManagedInstanceResult, error)

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := mssql.LookupManagedInstance(ctx, &mssql.LookupManagedInstanceArgs{
			Name:              "managedsqlinstance",
			ResourceGroupName: azurerm_resource_group.Example.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupManagedInstanceResultOutput added in v4.39.0

type LookupManagedInstanceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getManagedInstance.

func LookupManagedInstanceOutput added in v4.39.0

func (LookupManagedInstanceResultOutput) AdministratorLogin added in v4.39.0

func (o LookupManagedInstanceResultOutput) AdministratorLogin() pulumi.StringOutput

The administrator login name for the SQL Managed Instance.

func (LookupManagedInstanceResultOutput) Collation added in v4.39.0

Specifies how the SQL Managed Instance will be collated.

func (LookupManagedInstanceResultOutput) DnsZonePartnerId added in v4.39.0

The ID of the SQL Managed Instance which shares the DNS zone.

func (LookupManagedInstanceResultOutput) ElementType added in v4.39.0

func (LookupManagedInstanceResultOutput) Fqdn added in v4.39.0

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

func (LookupManagedInstanceResultOutput) Id added in v4.39.0

The provider-assigned unique ID for this managed resource.

func (LookupManagedInstanceResultOutput) Identities added in v4.39.0

An `identity` block as defined below.

func (LookupManagedInstanceResultOutput) LicenseType added in v4.39.0

What type of license the SQL Managed Instance uses.

func (LookupManagedInstanceResultOutput) Location added in v4.39.0

Specifies the supported Azure location where the resource exists.

func (LookupManagedInstanceResultOutput) MinimumTlsVersion added in v4.39.0

The Minimum TLS Version.

func (LookupManagedInstanceResultOutput) Name added in v4.39.0

func (LookupManagedInstanceResultOutput) ProxyOverride added in v4.39.0

Specifies how the SQL Managed Instance will be accessed.

func (LookupManagedInstanceResultOutput) PublicDataEndpointEnabled added in v4.39.0

func (o LookupManagedInstanceResultOutput) PublicDataEndpointEnabled() pulumi.BoolOutput

Whether the public data endpoint is enabled.

func (LookupManagedInstanceResultOutput) ResourceGroupName added in v4.39.0

func (LookupManagedInstanceResultOutput) SkuName added in v4.39.0

Specifies the SKU Name of the SQL Managed Instance.

func (LookupManagedInstanceResultOutput) StorageAccountType added in v4.39.0

func (o LookupManagedInstanceResultOutput) StorageAccountType() pulumi.StringOutput

Specifies the storage account type used to store backups for this database.

func (LookupManagedInstanceResultOutput) StorageSizeInGb added in v4.39.0

Maximum storage space allocated for the SQL Managed Instance.

func (LookupManagedInstanceResultOutput) SubnetId added in v4.39.0

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

func (LookupManagedInstanceResultOutput) Tags added in v4.39.0

A mapping of tags assigned to the resource.

func (LookupManagedInstanceResultOutput) TimezoneId added in v4.39.0

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

func (LookupManagedInstanceResultOutput) ToLookupManagedInstanceResultOutput added in v4.39.0

func (o LookupManagedInstanceResultOutput) ToLookupManagedInstanceResultOutput() LookupManagedInstanceResultOutput

func (LookupManagedInstanceResultOutput) ToLookupManagedInstanceResultOutputWithContext added in v4.39.0

func (o LookupManagedInstanceResultOutput) ToLookupManagedInstanceResultOutputWithContext(ctx context.Context) LookupManagedInstanceResultOutput

func (LookupManagedInstanceResultOutput) Vcores added in v4.39.0

Number of cores that are assigned to the SQL Managed Instance.

type LookupServerArgs

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

A collection of arguments for invoking getServer.

type LookupServerOutputArgs added in v4.20.0

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

A collection of arguments for invoking getServer.

func (LookupServerOutputArgs) ElementType added in v4.20.0

func (LookupServerOutputArgs) ElementType() reflect.Type

type LookupServerResult

type LookupServerResult struct {
	// The server's administrator login name.
	AdministratorLogin string `pulumi:"administratorLogin"`
	// The fully qualified domain name of the Azure SQL Server.
	FullyQualifiedDomainName string `pulumi:"fullyQualifiedDomainName"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A `identity` block as defined below.
	Identities []GetServerIdentity `pulumi:"identities"`
	// The Azure Region where the Microsoft SQL Server exists.
	Location          string `pulumi:"location"`
	Name              string `pulumi:"name"`
	ResourceGroupName string `pulumi:"resourceGroupName"`
	// A list of dropped restorable database IDs on the server.
	RestorableDroppedDatabaseIds []string `pulumi:"restorableDroppedDatabaseIds"`
	// A mapping of tags assigned to this Microsoft SQL Server.
	Tags map[string]string `pulumi:"tags"`
	// This servers MS SQL version.
	Version string `pulumi:"version"`
}

A collection of values returned by getServer.

func LookupServer

func LookupServer(ctx *pulumi.Context, args *LookupServerArgs, opts ...pulumi.InvokeOption) (*LookupServerResult, error)

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := mssql.LookupServer(ctx, &mssql.LookupServerArgs{
			Name:              "existingMsSqlServer",
			ResourceGroupName: "existingResGroup",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}

```

type LookupServerResultOutput added in v4.20.0

type LookupServerResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getServer.

func LookupServerOutput added in v4.20.0

func LookupServerOutput(ctx *pulumi.Context, args LookupServerOutputArgs, opts ...pulumi.InvokeOption) LookupServerResultOutput

func (LookupServerResultOutput) AdministratorLogin added in v4.20.0

func (o LookupServerResultOutput) AdministratorLogin() pulumi.StringOutput

The server's administrator login name.

func (LookupServerResultOutput) ElementType added in v4.20.0

func (LookupServerResultOutput) ElementType() reflect.Type

func (LookupServerResultOutput) FullyQualifiedDomainName added in v4.20.0

func (o LookupServerResultOutput) FullyQualifiedDomainName() pulumi.StringOutput

The fully qualified domain name of the Azure SQL Server.

func (LookupServerResultOutput) Id added in v4.20.0

The provider-assigned unique ID for this managed resource.

func (LookupServerResultOutput) Identities added in v4.20.0

A `identity` block as defined below.

func (LookupServerResultOutput) Location added in v4.20.0

The Azure Region where the Microsoft SQL Server exists.

func (LookupServerResultOutput) Name added in v4.20.0

func (LookupServerResultOutput) ResourceGroupName added in v4.20.0

func (o LookupServerResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupServerResultOutput) RestorableDroppedDatabaseIds added in v4.20.0

func (o LookupServerResultOutput) RestorableDroppedDatabaseIds() pulumi.StringArrayOutput

A list of dropped restorable database IDs on the server.

func (LookupServerResultOutput) Tags added in v4.20.0

A mapping of tags assigned to this Microsoft SQL Server.

func (LookupServerResultOutput) ToLookupServerResultOutput added in v4.20.0

func (o LookupServerResultOutput) ToLookupServerResultOutput() LookupServerResultOutput

func (LookupServerResultOutput) ToLookupServerResultOutputWithContext added in v4.20.0

func (o LookupServerResultOutput) ToLookupServerResultOutputWithContext(ctx context.Context) LookupServerResultOutput

func (LookupServerResultOutput) Version added in v4.20.0

This servers MS SQL version.

type ManagedDatabase added in v4.39.0

type ManagedDatabase struct {
	pulumi.CustomResourceState

	// The ID of the Azure SQL Managed Instance on which to create this Managed Database. Changing this forces a new resource to be created.
	ManagedInstanceId pulumi.StringOutput `pulumi:"managedInstanceId"`
	// The name of the Managed Database to create. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
}

Manages an Azure SQL Azure Managed Database for a SQL Managed Instance.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := mssql.NewManagedDatabase(ctx, "example", &mssql.ManagedDatabaseArgs{
			ManagedInstanceId: pulumi.Any(azurerm_mssql_managed_instance.Example.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

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

```

func GetManagedDatabase added in v4.39.0

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 added in v4.39.0

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 added in v4.39.0

func (*ManagedDatabase) ElementType() reflect.Type

func (*ManagedDatabase) ToManagedDatabaseOutput added in v4.39.0

func (i *ManagedDatabase) ToManagedDatabaseOutput() ManagedDatabaseOutput

func (*ManagedDatabase) ToManagedDatabaseOutputWithContext added in v4.39.0

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

type ManagedDatabaseArgs added in v4.39.0

type ManagedDatabaseArgs struct {
	// The ID of the Azure SQL Managed Instance on which to create this Managed Database. Changing this forces a new resource to be created.
	ManagedInstanceId pulumi.StringInput
	// The name of the Managed Database to create. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a ManagedDatabase resource.

func (ManagedDatabaseArgs) ElementType added in v4.39.0

func (ManagedDatabaseArgs) ElementType() reflect.Type

type ManagedDatabaseArray added in v4.39.0

type ManagedDatabaseArray []ManagedDatabaseInput

func (ManagedDatabaseArray) ElementType added in v4.39.0

func (ManagedDatabaseArray) ElementType() reflect.Type

func (ManagedDatabaseArray) ToManagedDatabaseArrayOutput added in v4.39.0

func (i ManagedDatabaseArray) ToManagedDatabaseArrayOutput() ManagedDatabaseArrayOutput

func (ManagedDatabaseArray) ToManagedDatabaseArrayOutputWithContext added in v4.39.0

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

type ManagedDatabaseArrayInput added in v4.39.0

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 added in v4.39.0

type ManagedDatabaseArrayOutput struct{ *pulumi.OutputState }

func (ManagedDatabaseArrayOutput) ElementType added in v4.39.0

func (ManagedDatabaseArrayOutput) ElementType() reflect.Type

func (ManagedDatabaseArrayOutput) Index added in v4.39.0

func (ManagedDatabaseArrayOutput) ToManagedDatabaseArrayOutput added in v4.39.0

func (o ManagedDatabaseArrayOutput) ToManagedDatabaseArrayOutput() ManagedDatabaseArrayOutput

func (ManagedDatabaseArrayOutput) ToManagedDatabaseArrayOutputWithContext added in v4.39.0

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

type ManagedDatabaseInput added in v4.39.0

type ManagedDatabaseInput interface {
	pulumi.Input

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

type ManagedDatabaseMap added in v4.39.0

type ManagedDatabaseMap map[string]ManagedDatabaseInput

func (ManagedDatabaseMap) ElementType added in v4.39.0

func (ManagedDatabaseMap) ElementType() reflect.Type

func (ManagedDatabaseMap) ToManagedDatabaseMapOutput added in v4.39.0

func (i ManagedDatabaseMap) ToManagedDatabaseMapOutput() ManagedDatabaseMapOutput

func (ManagedDatabaseMap) ToManagedDatabaseMapOutputWithContext added in v4.39.0

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

type ManagedDatabaseMapInput added in v4.39.0

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 added in v4.39.0

type ManagedDatabaseMapOutput struct{ *pulumi.OutputState }

func (ManagedDatabaseMapOutput) ElementType added in v4.39.0

func (ManagedDatabaseMapOutput) ElementType() reflect.Type

func (ManagedDatabaseMapOutput) MapIndex added in v4.39.0

func (ManagedDatabaseMapOutput) ToManagedDatabaseMapOutput added in v4.39.0

func (o ManagedDatabaseMapOutput) ToManagedDatabaseMapOutput() ManagedDatabaseMapOutput

func (ManagedDatabaseMapOutput) ToManagedDatabaseMapOutputWithContext added in v4.39.0

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

type ManagedDatabaseOutput added in v4.39.0

type ManagedDatabaseOutput struct{ *pulumi.OutputState }

func (ManagedDatabaseOutput) ElementType added in v4.39.0

func (ManagedDatabaseOutput) ElementType() reflect.Type

func (ManagedDatabaseOutput) ToManagedDatabaseOutput added in v4.39.0

func (o ManagedDatabaseOutput) ToManagedDatabaseOutput() ManagedDatabaseOutput

func (ManagedDatabaseOutput) ToManagedDatabaseOutputWithContext added in v4.39.0

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

type ManagedDatabaseState added in v4.39.0

type ManagedDatabaseState struct {
	// The ID of the Azure SQL Managed Instance on which to create this Managed Database. Changing this forces a new resource to be created.
	ManagedInstanceId pulumi.StringPtrInput
	// The name of the Managed Database to create. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
}

func (ManagedDatabaseState) ElementType added in v4.39.0

func (ManagedDatabaseState) ElementType() reflect.Type

type ManagedInstance added in v4.39.0

type ManagedInstance struct {
	pulumi.CustomResourceState

	// The administrator login name for the new SQL Managed Instance. 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 SQL Managed Instance which will share the DNS zone. This is a prerequisite for creating an `azurermManagedInstanceFailoverGroup`. 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 `PriceIncluded` 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.
	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 Managed Instance.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the SKU Name for the SQL Managed Instance. Valid values include `GP_Gen4`, `GP_Gen5`, `GP_G8IM`, `GP_G8IH`, `BC_Gen4`, `BC_Gen5`, `BC_G8IM` or `BC_G8IH`.
	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`. The default value is `GRS`.
	StorageAccountType pulumi.StringPtrOutput `pulumi:"storageAccountType"`
	// Maximum storage space for the SQL Managed instance. This should be a multiple of 32 (GB).
	StorageSizeInGb pulumi.IntOutput `pulumi:"storageSizeInGb"`
	// The subnet resource id that the SQL Managed Instance will be associated with.
	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 the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `8`, `16`, `24`, `32`, or `40` for Gen5 SKUs.
	Vcores pulumi.IntOutput `pulumi:"vcores"`
}

Manages a Microsoft SQL Azure Managed Instance.

> **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](https://www.terraform.io/docs/state/sensitive-data.html).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, "exampleNetworkSecurityGroup", &network.NetworkSecurityGroupArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allowManagementInbound", &network.NetworkSecurityRuleArgs{
			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:        exampleResourceGroup.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allowMisubnetInbound", &network.NetworkSecurityRuleArgs{
			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:        exampleResourceGroup.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allowHealthProbeInbound", &network.NetworkSecurityRuleArgs{
			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:        exampleResourceGroup.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allowTdsInbound", &network.NetworkSecurityRuleArgs{
			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:        exampleResourceGroup.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "denyAllInbound", &network.NetworkSecurityRuleArgs{
			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:        exampleResourceGroup.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allowManagementOutbound", &network.NetworkSecurityRuleArgs{
			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:        exampleResourceGroup.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allowMisubnetOutbound", &network.NetworkSecurityRuleArgs{
			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:        exampleResourceGroup.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "denyAllOutbound", &network.NetworkSecurityRuleArgs{
			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:        exampleResourceGroup.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &network.VirtualNetworkArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
			Location: exampleResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "exampleSubnet", &network.SubnetArgs{
			ResourceGroupName:  exampleResourceGroup.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefix:      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
		}
		exampleSubnetNetworkSecurityGroupAssociation, err := network.NewSubnetNetworkSecurityGroupAssociation(ctx, "exampleSubnetNetworkSecurityGroupAssociation", &network.SubnetNetworkSecurityGroupAssociationArgs{
			SubnetId:               exampleSubnet.ID(),
			NetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),
		})
		if err != nil {
			return err
		}
		exampleRouteTable, err := network.NewRouteTable(ctx, "exampleRouteTable", &network.RouteTableArgs{
			Location:                   exampleResourceGroup.Location,
			ResourceGroupName:          exampleResourceGroup.Name,
			DisableBgpRoutePropagation: pulumi.Bool(false),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleSubnet,
		}))
		if err != nil {
			return err
		}
		exampleSubnetRouteTableAssociation, err := network.NewSubnetRouteTableAssociation(ctx, "exampleSubnetRouteTableAssociation", &network.SubnetRouteTableAssociationArgs{
			SubnetId:     exampleSubnet.ID(),
			RouteTableId: exampleRouteTable.ID(),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewManagedInstance(ctx, "exampleManagedInstance", &mssql.ManagedInstanceArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			LicenseType:                pulumi.String("BasePrice"),
			SkuName:                    pulumi.String("GP_Gen5"),
			StorageSizeInGb:            pulumi.Int(32),
			SubnetId:                   exampleSubnet.ID(),
			Vcores:                     pulumi.Int(4),
			AdministratorLogin:         pulumi.String("mradministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsDog11"),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleSubnetNetworkSecurityGroupAssociation,
			exampleSubnetRouteTableAssociation,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

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

```

func GetManagedInstance added in v4.39.0

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 added in v4.39.0

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 added in v4.39.0

func (*ManagedInstance) ElementType() reflect.Type

func (*ManagedInstance) ToManagedInstanceOutput added in v4.39.0

func (i *ManagedInstance) ToManagedInstanceOutput() ManagedInstanceOutput

func (*ManagedInstance) ToManagedInstanceOutputWithContext added in v4.39.0

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

type ManagedInstanceActiveDirectoryAdministrator added in v4.39.0

type ManagedInstanceActiveDirectoryAdministrator struct {
	pulumi.CustomResourceState

	// When `true`, only permit logins from AAD users and administrators. When `false`, also allow local database users. Defaults to `false`.
	AzureadAuthenticationOnly pulumi.BoolPtrOutput `pulumi:"azureadAuthenticationOnly"`
	LoginUsername             pulumi.StringOutput  `pulumi:"loginUsername"`
	// The ID of the Azure SQL Managed Instance for which to set the administrator. Changing this forces a new resource to be created.
	ManagedInstanceId pulumi.StringOutput `pulumi:"managedInstanceId"`
	// The Object ID of the principal to set as the Managed Instance Administrator.
	ObjectId pulumi.StringOutput `pulumi:"objectId"`
	// The Azure Active Directory Tenant ID.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

Allows you to set a user, group or service principal as the AAD Administrator for an Azure SQL Managed Instance.

## Import

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

```sh

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

```

func GetManagedInstanceActiveDirectoryAdministrator added in v4.39.0

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 added in v4.39.0

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 added in v4.39.0

func (*ManagedInstanceActiveDirectoryAdministrator) ToManagedInstanceActiveDirectoryAdministratorOutput added in v4.39.0

func (i *ManagedInstanceActiveDirectoryAdministrator) ToManagedInstanceActiveDirectoryAdministratorOutput() ManagedInstanceActiveDirectoryAdministratorOutput

func (*ManagedInstanceActiveDirectoryAdministrator) ToManagedInstanceActiveDirectoryAdministratorOutputWithContext added in v4.39.0

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

type ManagedInstanceActiveDirectoryAdministratorArgs added in v4.39.0

type ManagedInstanceActiveDirectoryAdministratorArgs struct {
	// When `true`, only permit logins from AAD users and administrators. When `false`, also allow local database users. Defaults to `false`.
	AzureadAuthenticationOnly pulumi.BoolPtrInput
	LoginUsername             pulumi.StringInput
	// The ID of the Azure SQL Managed Instance for which to set the administrator. Changing this forces a new resource to be created.
	ManagedInstanceId pulumi.StringInput
	// The Object ID of the principal to set as the Managed Instance Administrator.
	ObjectId pulumi.StringInput
	// The Azure Active Directory Tenant ID.
	TenantId pulumi.StringInput
}

The set of arguments for constructing a ManagedInstanceActiveDirectoryAdministrator resource.

func (ManagedInstanceActiveDirectoryAdministratorArgs) ElementType added in v4.39.0

type ManagedInstanceActiveDirectoryAdministratorArray added in v4.39.0

type ManagedInstanceActiveDirectoryAdministratorArray []ManagedInstanceActiveDirectoryAdministratorInput

func (ManagedInstanceActiveDirectoryAdministratorArray) ElementType added in v4.39.0

func (ManagedInstanceActiveDirectoryAdministratorArray) ToManagedInstanceActiveDirectoryAdministratorArrayOutput added in v4.39.0

func (i ManagedInstanceActiveDirectoryAdministratorArray) ToManagedInstanceActiveDirectoryAdministratorArrayOutput() ManagedInstanceActiveDirectoryAdministratorArrayOutput

func (ManagedInstanceActiveDirectoryAdministratorArray) ToManagedInstanceActiveDirectoryAdministratorArrayOutputWithContext added in v4.39.0

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

type ManagedInstanceActiveDirectoryAdministratorArrayInput added in v4.39.0

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 added in v4.39.0

type ManagedInstanceActiveDirectoryAdministratorArrayOutput struct{ *pulumi.OutputState }

func (ManagedInstanceActiveDirectoryAdministratorArrayOutput) ElementType added in v4.39.0

func (ManagedInstanceActiveDirectoryAdministratorArrayOutput) Index added in v4.39.0

func (ManagedInstanceActiveDirectoryAdministratorArrayOutput) ToManagedInstanceActiveDirectoryAdministratorArrayOutput added in v4.39.0

func (ManagedInstanceActiveDirectoryAdministratorArrayOutput) ToManagedInstanceActiveDirectoryAdministratorArrayOutputWithContext added in v4.39.0

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

type ManagedInstanceActiveDirectoryAdministratorInput added in v4.39.0

type ManagedInstanceActiveDirectoryAdministratorInput interface {
	pulumi.Input

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

type ManagedInstanceActiveDirectoryAdministratorMap added in v4.39.0

type ManagedInstanceActiveDirectoryAdministratorMap map[string]ManagedInstanceActiveDirectoryAdministratorInput

func (ManagedInstanceActiveDirectoryAdministratorMap) ElementType added in v4.39.0

func (ManagedInstanceActiveDirectoryAdministratorMap) ToManagedInstanceActiveDirectoryAdministratorMapOutput added in v4.39.0

func (i ManagedInstanceActiveDirectoryAdministratorMap) ToManagedInstanceActiveDirectoryAdministratorMapOutput() ManagedInstanceActiveDirectoryAdministratorMapOutput

func (ManagedInstanceActiveDirectoryAdministratorMap) ToManagedInstanceActiveDirectoryAdministratorMapOutputWithContext added in v4.39.0

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

type ManagedInstanceActiveDirectoryAdministratorMapInput added in v4.39.0

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 added in v4.39.0

type ManagedInstanceActiveDirectoryAdministratorMapOutput struct{ *pulumi.OutputState }

func (ManagedInstanceActiveDirectoryAdministratorMapOutput) ElementType added in v4.39.0

func (ManagedInstanceActiveDirectoryAdministratorMapOutput) MapIndex added in v4.39.0

func (ManagedInstanceActiveDirectoryAdministratorMapOutput) ToManagedInstanceActiveDirectoryAdministratorMapOutput added in v4.39.0

func (ManagedInstanceActiveDirectoryAdministratorMapOutput) ToManagedInstanceActiveDirectoryAdministratorMapOutputWithContext added in v4.39.0

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

type ManagedInstanceActiveDirectoryAdministratorOutput added in v4.39.0

type ManagedInstanceActiveDirectoryAdministratorOutput struct{ *pulumi.OutputState }

func (ManagedInstanceActiveDirectoryAdministratorOutput) ElementType added in v4.39.0

func (ManagedInstanceActiveDirectoryAdministratorOutput) ToManagedInstanceActiveDirectoryAdministratorOutput added in v4.39.0

func (o ManagedInstanceActiveDirectoryAdministratorOutput) ToManagedInstanceActiveDirectoryAdministratorOutput() ManagedInstanceActiveDirectoryAdministratorOutput

func (ManagedInstanceActiveDirectoryAdministratorOutput) ToManagedInstanceActiveDirectoryAdministratorOutputWithContext added in v4.39.0

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

type ManagedInstanceActiveDirectoryAdministratorState added in v4.39.0

type ManagedInstanceActiveDirectoryAdministratorState struct {
	// When `true`, only permit logins from AAD users and administrators. When `false`, also allow local database users. Defaults to `false`.
	AzureadAuthenticationOnly pulumi.BoolPtrInput
	LoginUsername             pulumi.StringPtrInput
	// The ID of the Azure SQL Managed Instance for which to set the administrator. Changing this forces a new resource to be created.
	ManagedInstanceId pulumi.StringPtrInput
	// The Object ID of the principal to set as the Managed Instance Administrator.
	ObjectId pulumi.StringPtrInput
	// The Azure Active Directory Tenant ID.
	TenantId pulumi.StringPtrInput
}

func (ManagedInstanceActiveDirectoryAdministratorState) ElementType added in v4.39.0

type ManagedInstanceArgs added in v4.39.0

type ManagedInstanceArgs struct {
	// The administrator login name for the new SQL Managed Instance. 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 SQL Managed Instance which will share the DNS zone. This is a prerequisite for creating an `azurermManagedInstanceFailoverGroup`. 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 `PriceIncluded` 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.
	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 Managed Instance.
	ResourceGroupName pulumi.StringInput
	// Specifies the SKU Name for the SQL Managed Instance. Valid values include `GP_Gen4`, `GP_Gen5`, `GP_G8IM`, `GP_G8IH`, `BC_Gen4`, `BC_Gen5`, `BC_G8IM` or `BC_G8IH`.
	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`. The default value is `GRS`.
	StorageAccountType pulumi.StringPtrInput
	// Maximum storage space for the SQL Managed instance. This should be a multiple of 32 (GB).
	StorageSizeInGb pulumi.IntInput
	// The subnet resource id that the SQL Managed Instance will be associated with.
	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 the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `8`, `16`, `24`, `32`, or `40` for Gen5 SKUs.
	Vcores pulumi.IntInput
}

The set of arguments for constructing a ManagedInstance resource.

func (ManagedInstanceArgs) ElementType added in v4.39.0

func (ManagedInstanceArgs) ElementType() reflect.Type

type ManagedInstanceArray added in v4.39.0

type ManagedInstanceArray []ManagedInstanceInput

func (ManagedInstanceArray) ElementType added in v4.39.0

func (ManagedInstanceArray) ElementType() reflect.Type

func (ManagedInstanceArray) ToManagedInstanceArrayOutput added in v4.39.0

func (i ManagedInstanceArray) ToManagedInstanceArrayOutput() ManagedInstanceArrayOutput

func (ManagedInstanceArray) ToManagedInstanceArrayOutputWithContext added in v4.39.0

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

type ManagedInstanceArrayInput added in v4.39.0

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 added in v4.39.0

type ManagedInstanceArrayOutput struct{ *pulumi.OutputState }

func (ManagedInstanceArrayOutput) ElementType added in v4.39.0

func (ManagedInstanceArrayOutput) ElementType() reflect.Type

func (ManagedInstanceArrayOutput) Index added in v4.39.0

func (ManagedInstanceArrayOutput) ToManagedInstanceArrayOutput added in v4.39.0

func (o ManagedInstanceArrayOutput) ToManagedInstanceArrayOutput() ManagedInstanceArrayOutput

func (ManagedInstanceArrayOutput) ToManagedInstanceArrayOutputWithContext added in v4.39.0

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

type ManagedInstanceFailoverGroup added in v4.39.0

type ManagedInstanceFailoverGroup struct {
	pulumi.CustomResourceState

	// The Azure Region where the Managed Instance Failover Group should exist. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The ID of the Azure SQL Managed Instance which will be replicated using a Managed Instance Failover Group. Changing this forces a new resource to be created.
	ManagedInstanceId pulumi.StringOutput `pulumi:"managedInstanceId"`
	// The name which should be used for this Managed Instance Failover Group. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the Azure 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 `false`.
	ReadonlyEndpointFailoverPolicyEnabled pulumi.BoolPtrOutput `pulumi:"readonlyEndpointFailoverPolicyEnabled"`
	// The partner replication role of the Managed Instance Failover Group.
	Role pulumi.StringOutput `pulumi:"role"`
}

## Import

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

```sh

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

```

func GetManagedInstanceFailoverGroup added in v4.39.0

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 added in v4.39.0

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 added in v4.39.0

func (*ManagedInstanceFailoverGroup) ElementType() reflect.Type

func (*ManagedInstanceFailoverGroup) ToManagedInstanceFailoverGroupOutput added in v4.39.0

func (i *ManagedInstanceFailoverGroup) ToManagedInstanceFailoverGroupOutput() ManagedInstanceFailoverGroupOutput

func (*ManagedInstanceFailoverGroup) ToManagedInstanceFailoverGroupOutputWithContext added in v4.39.0

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

type ManagedInstanceFailoverGroupArgs added in v4.39.0

type ManagedInstanceFailoverGroupArgs struct {
	// The Azure Region where the Managed Instance Failover Group should exist. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The ID of the Azure SQL Managed Instance which will be replicated using a Managed Instance Failover Group. Changing this forces a new resource to be created.
	ManagedInstanceId pulumi.StringInput
	// The name which should be used for this Managed Instance Failover Group. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the Azure 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 `false`.
	ReadonlyEndpointFailoverPolicyEnabled pulumi.BoolPtrInput
}

The set of arguments for constructing a ManagedInstanceFailoverGroup resource.

func (ManagedInstanceFailoverGroupArgs) ElementType added in v4.39.0

type ManagedInstanceFailoverGroupArray added in v4.39.0

type ManagedInstanceFailoverGroupArray []ManagedInstanceFailoverGroupInput

func (ManagedInstanceFailoverGroupArray) ElementType added in v4.39.0

func (ManagedInstanceFailoverGroupArray) ToManagedInstanceFailoverGroupArrayOutput added in v4.39.0

func (i ManagedInstanceFailoverGroupArray) ToManagedInstanceFailoverGroupArrayOutput() ManagedInstanceFailoverGroupArrayOutput

func (ManagedInstanceFailoverGroupArray) ToManagedInstanceFailoverGroupArrayOutputWithContext added in v4.39.0

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

type ManagedInstanceFailoverGroupArrayInput added in v4.39.0

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 added in v4.39.0

type ManagedInstanceFailoverGroupArrayOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupArrayOutput) ElementType added in v4.39.0

func (ManagedInstanceFailoverGroupArrayOutput) Index added in v4.39.0

func (ManagedInstanceFailoverGroupArrayOutput) ToManagedInstanceFailoverGroupArrayOutput added in v4.39.0

func (o ManagedInstanceFailoverGroupArrayOutput) ToManagedInstanceFailoverGroupArrayOutput() ManagedInstanceFailoverGroupArrayOutput

func (ManagedInstanceFailoverGroupArrayOutput) ToManagedInstanceFailoverGroupArrayOutputWithContext added in v4.39.0

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

type ManagedInstanceFailoverGroupInput added in v4.39.0

type ManagedInstanceFailoverGroupInput interface {
	pulumi.Input

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

type ManagedInstanceFailoverGroupMap added in v4.39.0

type ManagedInstanceFailoverGroupMap map[string]ManagedInstanceFailoverGroupInput

func (ManagedInstanceFailoverGroupMap) ElementType added in v4.39.0

func (ManagedInstanceFailoverGroupMap) ToManagedInstanceFailoverGroupMapOutput added in v4.39.0

func (i ManagedInstanceFailoverGroupMap) ToManagedInstanceFailoverGroupMapOutput() ManagedInstanceFailoverGroupMapOutput

func (ManagedInstanceFailoverGroupMap) ToManagedInstanceFailoverGroupMapOutputWithContext added in v4.39.0

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

type ManagedInstanceFailoverGroupMapInput added in v4.39.0

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 added in v4.39.0

type ManagedInstanceFailoverGroupMapOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupMapOutput) ElementType added in v4.39.0

func (ManagedInstanceFailoverGroupMapOutput) MapIndex added in v4.39.0

func (ManagedInstanceFailoverGroupMapOutput) ToManagedInstanceFailoverGroupMapOutput added in v4.39.0

func (o ManagedInstanceFailoverGroupMapOutput) ToManagedInstanceFailoverGroupMapOutput() ManagedInstanceFailoverGroupMapOutput

func (ManagedInstanceFailoverGroupMapOutput) ToManagedInstanceFailoverGroupMapOutputWithContext added in v4.39.0

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

type ManagedInstanceFailoverGroupOutput added in v4.39.0

type ManagedInstanceFailoverGroupOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupOutput) ElementType added in v4.39.0

func (ManagedInstanceFailoverGroupOutput) ToManagedInstanceFailoverGroupOutput added in v4.39.0

func (o ManagedInstanceFailoverGroupOutput) ToManagedInstanceFailoverGroupOutput() ManagedInstanceFailoverGroupOutput

func (ManagedInstanceFailoverGroupOutput) ToManagedInstanceFailoverGroupOutputWithContext added in v4.39.0

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

type ManagedInstanceFailoverGroupPartnerRegion added in v4.39.0

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

type ManagedInstanceFailoverGroupPartnerRegionArgs added in v4.39.0

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

func (ManagedInstanceFailoverGroupPartnerRegionArgs) ElementType added in v4.39.0

func (ManagedInstanceFailoverGroupPartnerRegionArgs) ToManagedInstanceFailoverGroupPartnerRegionOutput added in v4.39.0

func (i ManagedInstanceFailoverGroupPartnerRegionArgs) ToManagedInstanceFailoverGroupPartnerRegionOutput() ManagedInstanceFailoverGroupPartnerRegionOutput

func (ManagedInstanceFailoverGroupPartnerRegionArgs) ToManagedInstanceFailoverGroupPartnerRegionOutputWithContext added in v4.39.0

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

type ManagedInstanceFailoverGroupPartnerRegionArray added in v4.39.0

type ManagedInstanceFailoverGroupPartnerRegionArray []ManagedInstanceFailoverGroupPartnerRegionInput

func (ManagedInstanceFailoverGroupPartnerRegionArray) ElementType added in v4.39.0

func (ManagedInstanceFailoverGroupPartnerRegionArray) ToManagedInstanceFailoverGroupPartnerRegionArrayOutput added in v4.39.0

func (i ManagedInstanceFailoverGroupPartnerRegionArray) ToManagedInstanceFailoverGroupPartnerRegionArrayOutput() ManagedInstanceFailoverGroupPartnerRegionArrayOutput

func (ManagedInstanceFailoverGroupPartnerRegionArray) ToManagedInstanceFailoverGroupPartnerRegionArrayOutputWithContext added in v4.39.0

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

type ManagedInstanceFailoverGroupPartnerRegionArrayInput added in v4.39.0

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 added in v4.39.0

type ManagedInstanceFailoverGroupPartnerRegionArrayOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupPartnerRegionArrayOutput) ElementType added in v4.39.0

func (ManagedInstanceFailoverGroupPartnerRegionArrayOutput) Index added in v4.39.0

func (ManagedInstanceFailoverGroupPartnerRegionArrayOutput) ToManagedInstanceFailoverGroupPartnerRegionArrayOutput added in v4.39.0

func (ManagedInstanceFailoverGroupPartnerRegionArrayOutput) ToManagedInstanceFailoverGroupPartnerRegionArrayOutputWithContext added in v4.39.0

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

type ManagedInstanceFailoverGroupPartnerRegionInput added in v4.39.0

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 added in v4.39.0

type ManagedInstanceFailoverGroupPartnerRegionOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupPartnerRegionOutput) ElementType added in v4.39.0

func (ManagedInstanceFailoverGroupPartnerRegionOutput) Location added in v4.39.0

The Azure Region where the Managed Instance Failover Group should exist. Changing this forces a new resource to be created.

func (ManagedInstanceFailoverGroupPartnerRegionOutput) Role added in v4.39.0

The partner replication role of the Managed Instance Failover Group.

func (ManagedInstanceFailoverGroupPartnerRegionOutput) ToManagedInstanceFailoverGroupPartnerRegionOutput added in v4.39.0

func (o ManagedInstanceFailoverGroupPartnerRegionOutput) ToManagedInstanceFailoverGroupPartnerRegionOutput() ManagedInstanceFailoverGroupPartnerRegionOutput

func (ManagedInstanceFailoverGroupPartnerRegionOutput) ToManagedInstanceFailoverGroupPartnerRegionOutputWithContext added in v4.39.0

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

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicy added in v4.39.0

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 `Automatic` or `Manual`.
	Mode string `pulumi:"mode"`
}

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs added in v4.39.0

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 `Automatic` or `Manual`.
	Mode pulumi.StringInput `pulumi:"mode"`
}

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ElementType added in v4.39.0

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput added in v4.39.0

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext added in v4.39.0

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

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput added in v4.39.0

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext added in v4.39.0

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

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyInput added in v4.39.0

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 added in v4.39.0

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ElementType added in v4.39.0

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) GraceMinutes added in v4.39.0

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

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) Mode added in v4.39.0

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

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput added in v4.39.0

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext added in v4.39.0

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

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput added in v4.39.0

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext added in v4.39.0

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

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrInput added in v4.39.0

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 added in v4.39.0

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) Elem added in v4.39.0

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ElementType added in v4.39.0

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) GraceMinutes added in v4.39.0

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

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) Mode added in v4.39.0

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

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput added in v4.39.0

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext added in v4.39.0

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

type ManagedInstanceFailoverGroupState added in v4.39.0

type ManagedInstanceFailoverGroupState struct {
	// The Azure Region where the Managed Instance Failover Group should exist. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The ID of the Azure SQL Managed Instance which will be replicated using a Managed Instance Failover Group. Changing this forces a new resource to be created.
	ManagedInstanceId pulumi.StringPtrInput
	// The name which should be used for this Managed Instance Failover Group. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the Azure 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 `false`.
	ReadonlyEndpointFailoverPolicyEnabled pulumi.BoolPtrInput
	// The partner replication role of the Managed Instance Failover Group.
	Role pulumi.StringPtrInput
}

func (ManagedInstanceFailoverGroupState) ElementType added in v4.39.0

type ManagedInstanceIdentity added in v4.39.0

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"`
	// The identity type of the SQL Managed Instance. The only possible value is `SystemAssigned`.
	Type string `pulumi:"type"`
}

type ManagedInstanceIdentityArgs added in v4.39.0

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"`
	// The identity type of the SQL Managed Instance. The only possible value is `SystemAssigned`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (ManagedInstanceIdentityArgs) ElementType added in v4.39.0

func (ManagedInstanceIdentityArgs) ToManagedInstanceIdentityOutput added in v4.39.0

func (i ManagedInstanceIdentityArgs) ToManagedInstanceIdentityOutput() ManagedInstanceIdentityOutput

func (ManagedInstanceIdentityArgs) ToManagedInstanceIdentityOutputWithContext added in v4.39.0

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

func (ManagedInstanceIdentityArgs) ToManagedInstanceIdentityPtrOutput added in v4.39.0

func (i ManagedInstanceIdentityArgs) ToManagedInstanceIdentityPtrOutput() ManagedInstanceIdentityPtrOutput

func (ManagedInstanceIdentityArgs) ToManagedInstanceIdentityPtrOutputWithContext added in v4.39.0

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

type ManagedInstanceIdentityInput added in v4.39.0

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 added in v4.39.0

type ManagedInstanceIdentityOutput struct{ *pulumi.OutputState }

func (ManagedInstanceIdentityOutput) ElementType added in v4.39.0

func (ManagedInstanceIdentityOutput) PrincipalId added in v4.39.0

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

func (ManagedInstanceIdentityOutput) TenantId added in v4.39.0

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

func (ManagedInstanceIdentityOutput) ToManagedInstanceIdentityOutput added in v4.39.0

func (o ManagedInstanceIdentityOutput) ToManagedInstanceIdentityOutput() ManagedInstanceIdentityOutput

func (ManagedInstanceIdentityOutput) ToManagedInstanceIdentityOutputWithContext added in v4.39.0

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

func (ManagedInstanceIdentityOutput) ToManagedInstanceIdentityPtrOutput added in v4.39.0

func (o ManagedInstanceIdentityOutput) ToManagedInstanceIdentityPtrOutput() ManagedInstanceIdentityPtrOutput

func (ManagedInstanceIdentityOutput) ToManagedInstanceIdentityPtrOutputWithContext added in v4.39.0

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

func (ManagedInstanceIdentityOutput) Type added in v4.39.0

The identity type of the SQL Managed Instance. The only possible value is `SystemAssigned`.

type ManagedInstanceIdentityPtrInput added in v4.39.0

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

func ManagedInstanceIdentityPtr added in v4.39.0

func ManagedInstanceIdentityPtr(v *ManagedInstanceIdentityArgs) ManagedInstanceIdentityPtrInput

type ManagedInstanceIdentityPtrOutput added in v4.39.0

type ManagedInstanceIdentityPtrOutput struct{ *pulumi.OutputState }

func (ManagedInstanceIdentityPtrOutput) Elem added in v4.39.0

func (ManagedInstanceIdentityPtrOutput) ElementType added in v4.39.0

func (ManagedInstanceIdentityPtrOutput) PrincipalId added in v4.39.0

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

func (ManagedInstanceIdentityPtrOutput) TenantId added in v4.39.0

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

func (ManagedInstanceIdentityPtrOutput) ToManagedInstanceIdentityPtrOutput added in v4.39.0

func (o ManagedInstanceIdentityPtrOutput) ToManagedInstanceIdentityPtrOutput() ManagedInstanceIdentityPtrOutput

func (ManagedInstanceIdentityPtrOutput) ToManagedInstanceIdentityPtrOutputWithContext added in v4.39.0

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

func (ManagedInstanceIdentityPtrOutput) Type added in v4.39.0

The identity type of the SQL Managed Instance. The only possible value is `SystemAssigned`.

type ManagedInstanceInput added in v4.39.0

type ManagedInstanceInput interface {
	pulumi.Input

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

type ManagedInstanceMap added in v4.39.0

type ManagedInstanceMap map[string]ManagedInstanceInput

func (ManagedInstanceMap) ElementType added in v4.39.0

func (ManagedInstanceMap) ElementType() reflect.Type

func (ManagedInstanceMap) ToManagedInstanceMapOutput added in v4.39.0

func (i ManagedInstanceMap) ToManagedInstanceMapOutput() ManagedInstanceMapOutput

func (ManagedInstanceMap) ToManagedInstanceMapOutputWithContext added in v4.39.0

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

type ManagedInstanceMapInput added in v4.39.0

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 added in v4.39.0

type ManagedInstanceMapOutput struct{ *pulumi.OutputState }

func (ManagedInstanceMapOutput) ElementType added in v4.39.0

func (ManagedInstanceMapOutput) ElementType() reflect.Type

func (ManagedInstanceMapOutput) MapIndex added in v4.39.0

func (ManagedInstanceMapOutput) ToManagedInstanceMapOutput added in v4.39.0

func (o ManagedInstanceMapOutput) ToManagedInstanceMapOutput() ManagedInstanceMapOutput

func (ManagedInstanceMapOutput) ToManagedInstanceMapOutputWithContext added in v4.39.0

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

type ManagedInstanceOutput added in v4.39.0

type ManagedInstanceOutput struct{ *pulumi.OutputState }

func (ManagedInstanceOutput) ElementType added in v4.39.0

func (ManagedInstanceOutput) ElementType() reflect.Type

func (ManagedInstanceOutput) ToManagedInstanceOutput added in v4.39.0

func (o ManagedInstanceOutput) ToManagedInstanceOutput() ManagedInstanceOutput

func (ManagedInstanceOutput) ToManagedInstanceOutputWithContext added in v4.39.0

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

type ManagedInstanceState added in v4.39.0

type ManagedInstanceState struct {
	// The administrator login name for the new SQL Managed Instance. 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 SQL Managed Instance which will share the DNS zone. This is a prerequisite for creating an `azurermManagedInstanceFailoverGroup`. 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 `PriceIncluded` 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.
	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 Managed Instance.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the SKU Name for the SQL Managed Instance. Valid values include `GP_Gen4`, `GP_Gen5`, `GP_G8IM`, `GP_G8IH`, `BC_Gen4`, `BC_Gen5`, `BC_G8IM` or `BC_G8IH`.
	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`. The default value is `GRS`.
	StorageAccountType pulumi.StringPtrInput
	// Maximum storage space for the SQL Managed instance. This should be a multiple of 32 (GB).
	StorageSizeInGb pulumi.IntPtrInput
	// The subnet resource id that the SQL Managed Instance will be associated with.
	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 the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `8`, `16`, `24`, `32`, or `40` for Gen5 SKUs.
	Vcores pulumi.IntPtrInput
}

func (ManagedInstanceState) ElementType added in v4.39.0

func (ManagedInstanceState) ElementType() reflect.Type

type OutboundFirewallRule added in v4.39.0

type OutboundFirewallRule struct {
	pulumi.CustomResourceState

	// The name of the outbound firewall rule. This should be a FQDN.
	Name pulumi.StringOutput `pulumi:"name"`
	// The resource ID of the SQL Server on which to create the Outbound Firewall Rule.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
}

Allows you to manage an Azure SQL Outbound Firewall Rule.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "exampleServer", &mssql.ServerArgs{
			ResourceGroupName:                 exampleResourceGroup.Name,
			Location:                          pulumi.String("West US"),
			Version:                           pulumi.String("12.0"),
			AdministratorLogin:                pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword:        pulumi.String("4-v3ry-53cr37-p455w0rd"),
			OutboundNetworkRestrictionEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewOutboundFirewallRule(ctx, "exampleOutboundFirewallRule", &mssql.OutboundFirewallRuleArgs{
			ServerId: exampleServer.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import azure:mssql/outboundFirewallRule:OutboundFirewallRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver/outboundFirewallRules/fqdn1

```

func GetOutboundFirewallRule added in v4.39.0

func GetOutboundFirewallRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OutboundFirewallRuleState, opts ...pulumi.ResourceOption) (*OutboundFirewallRule, error)

GetOutboundFirewallRule gets an existing OutboundFirewallRule 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 NewOutboundFirewallRule added in v4.39.0

func NewOutboundFirewallRule(ctx *pulumi.Context,
	name string, args *OutboundFirewallRuleArgs, opts ...pulumi.ResourceOption) (*OutboundFirewallRule, error)

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

func (*OutboundFirewallRule) ElementType added in v4.39.0

func (*OutboundFirewallRule) ElementType() reflect.Type

func (*OutboundFirewallRule) ToOutboundFirewallRuleOutput added in v4.39.0

func (i *OutboundFirewallRule) ToOutboundFirewallRuleOutput() OutboundFirewallRuleOutput

func (*OutboundFirewallRule) ToOutboundFirewallRuleOutputWithContext added in v4.39.0

func (i *OutboundFirewallRule) ToOutboundFirewallRuleOutputWithContext(ctx context.Context) OutboundFirewallRuleOutput

type OutboundFirewallRuleArgs added in v4.39.0

type OutboundFirewallRuleArgs struct {
	// The name of the outbound firewall rule. This should be a FQDN.
	Name pulumi.StringPtrInput
	// The resource ID of the SQL Server on which to create the Outbound Firewall Rule.
	ServerId pulumi.StringInput
}

The set of arguments for constructing a OutboundFirewallRule resource.

func (OutboundFirewallRuleArgs) ElementType added in v4.39.0

func (OutboundFirewallRuleArgs) ElementType() reflect.Type

type OutboundFirewallRuleArray added in v4.39.0

type OutboundFirewallRuleArray []OutboundFirewallRuleInput

func (OutboundFirewallRuleArray) ElementType added in v4.39.0

func (OutboundFirewallRuleArray) ElementType() reflect.Type

func (OutboundFirewallRuleArray) ToOutboundFirewallRuleArrayOutput added in v4.39.0

func (i OutboundFirewallRuleArray) ToOutboundFirewallRuleArrayOutput() OutboundFirewallRuleArrayOutput

func (OutboundFirewallRuleArray) ToOutboundFirewallRuleArrayOutputWithContext added in v4.39.0

func (i OutboundFirewallRuleArray) ToOutboundFirewallRuleArrayOutputWithContext(ctx context.Context) OutboundFirewallRuleArrayOutput

type OutboundFirewallRuleArrayInput added in v4.39.0

type OutboundFirewallRuleArrayInput interface {
	pulumi.Input

	ToOutboundFirewallRuleArrayOutput() OutboundFirewallRuleArrayOutput
	ToOutboundFirewallRuleArrayOutputWithContext(context.Context) OutboundFirewallRuleArrayOutput
}

OutboundFirewallRuleArrayInput is an input type that accepts OutboundFirewallRuleArray and OutboundFirewallRuleArrayOutput values. You can construct a concrete instance of `OutboundFirewallRuleArrayInput` via:

OutboundFirewallRuleArray{ OutboundFirewallRuleArgs{...} }

type OutboundFirewallRuleArrayOutput added in v4.39.0

type OutboundFirewallRuleArrayOutput struct{ *pulumi.OutputState }

func (OutboundFirewallRuleArrayOutput) ElementType added in v4.39.0

func (OutboundFirewallRuleArrayOutput) Index added in v4.39.0

func (OutboundFirewallRuleArrayOutput) ToOutboundFirewallRuleArrayOutput added in v4.39.0

func (o OutboundFirewallRuleArrayOutput) ToOutboundFirewallRuleArrayOutput() OutboundFirewallRuleArrayOutput

func (OutboundFirewallRuleArrayOutput) ToOutboundFirewallRuleArrayOutputWithContext added in v4.39.0

func (o OutboundFirewallRuleArrayOutput) ToOutboundFirewallRuleArrayOutputWithContext(ctx context.Context) OutboundFirewallRuleArrayOutput

type OutboundFirewallRuleInput added in v4.39.0

type OutboundFirewallRuleInput interface {
	pulumi.Input

	ToOutboundFirewallRuleOutput() OutboundFirewallRuleOutput
	ToOutboundFirewallRuleOutputWithContext(ctx context.Context) OutboundFirewallRuleOutput
}

type OutboundFirewallRuleMap added in v4.39.0

type OutboundFirewallRuleMap map[string]OutboundFirewallRuleInput

func (OutboundFirewallRuleMap) ElementType added in v4.39.0

func (OutboundFirewallRuleMap) ElementType() reflect.Type

func (OutboundFirewallRuleMap) ToOutboundFirewallRuleMapOutput added in v4.39.0

func (i OutboundFirewallRuleMap) ToOutboundFirewallRuleMapOutput() OutboundFirewallRuleMapOutput

func (OutboundFirewallRuleMap) ToOutboundFirewallRuleMapOutputWithContext added in v4.39.0

func (i OutboundFirewallRuleMap) ToOutboundFirewallRuleMapOutputWithContext(ctx context.Context) OutboundFirewallRuleMapOutput

type OutboundFirewallRuleMapInput added in v4.39.0

type OutboundFirewallRuleMapInput interface {
	pulumi.Input

	ToOutboundFirewallRuleMapOutput() OutboundFirewallRuleMapOutput
	ToOutboundFirewallRuleMapOutputWithContext(context.Context) OutboundFirewallRuleMapOutput
}

OutboundFirewallRuleMapInput is an input type that accepts OutboundFirewallRuleMap and OutboundFirewallRuleMapOutput values. You can construct a concrete instance of `OutboundFirewallRuleMapInput` via:

OutboundFirewallRuleMap{ "key": OutboundFirewallRuleArgs{...} }

type OutboundFirewallRuleMapOutput added in v4.39.0

type OutboundFirewallRuleMapOutput struct{ *pulumi.OutputState }

func (OutboundFirewallRuleMapOutput) ElementType added in v4.39.0

func (OutboundFirewallRuleMapOutput) MapIndex added in v4.39.0

func (OutboundFirewallRuleMapOutput) ToOutboundFirewallRuleMapOutput added in v4.39.0

func (o OutboundFirewallRuleMapOutput) ToOutboundFirewallRuleMapOutput() OutboundFirewallRuleMapOutput

func (OutboundFirewallRuleMapOutput) ToOutboundFirewallRuleMapOutputWithContext added in v4.39.0

func (o OutboundFirewallRuleMapOutput) ToOutboundFirewallRuleMapOutputWithContext(ctx context.Context) OutboundFirewallRuleMapOutput

type OutboundFirewallRuleOutput added in v4.39.0

type OutboundFirewallRuleOutput struct{ *pulumi.OutputState }

func (OutboundFirewallRuleOutput) ElementType added in v4.39.0

func (OutboundFirewallRuleOutput) ElementType() reflect.Type

func (OutboundFirewallRuleOutput) ToOutboundFirewallRuleOutput added in v4.39.0

func (o OutboundFirewallRuleOutput) ToOutboundFirewallRuleOutput() OutboundFirewallRuleOutput

func (OutboundFirewallRuleOutput) ToOutboundFirewallRuleOutputWithContext added in v4.39.0

func (o OutboundFirewallRuleOutput) ToOutboundFirewallRuleOutputWithContext(ctx context.Context) OutboundFirewallRuleOutput

type OutboundFirewallRuleState added in v4.39.0

type OutboundFirewallRuleState struct {
	// The name of the outbound firewall rule. This should be a FQDN.
	Name pulumi.StringPtrInput
	// The resource ID of the SQL Server on which to create the Outbound Firewall Rule.
	ServerId pulumi.StringPtrInput
}

func (OutboundFirewallRuleState) ElementType added in v4.39.0

func (OutboundFirewallRuleState) ElementType() reflect.Type

type Server

type Server 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"`
	// An `azureadAdministrator` block as defined below.
	AzureadAdministrator ServerAzureadAdministratorPtrOutput `pulumi:"azureadAdministrator"`
	// The connection policy the server will use. Possible values are `Default`, `Proxy`, and `Redirect`. Defaults to `Default`.
	ConnectionPolicy pulumi.StringPtrOutput `pulumi:"connectionPolicy"`
	// Deprecated: the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider.
	ExtendedAuditingPolicy ServerExtendedAuditingPolicyTypeOutput `pulumi:"extendedAuditingPolicy"`
	Foo                    ServerFooPtrOutput                     `pulumi:"foo"`
	// 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 ServerIdentityPtrOutput `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 Minimum TLS Version for all SQL Database and SQL Data Warehouse databases associated with the server. Valid values are: `1.0`, `1.1` and `1.2`.
	MinimumTlsVersion pulumi.StringPtrOutput `pulumi:"minimumTlsVersion"`
	// The name of the Microsoft SQL Server. This needs to be globally unique within Azure.
	Name pulumi.StringOutput `pulumi:"name"`
	// Whether outbound network traffic is restricted for this server. Defaults to `false`.
	OutboundNetworkRestrictionEnabled pulumi.BoolPtrOutput `pulumi:"outboundNetworkRestrictionEnabled"`
	// Specifies the primary user managed identity id. Required if `type` is `UserAssigned` and should be combined with `userAssignedIdentityIds`.
	PrimaryUserAssignedIdentityId pulumi.StringOutput `pulumi:"primaryUserAssignedIdentityId"`
	// Whether public network access is allowed for this server. Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrOutput `pulumi:"publicNetworkAccessEnabled"`
	// The name of the resource group in which to create the Microsoft SQL Server.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A list of dropped restorable database IDs on the server.
	RestorableDroppedDatabaseIds pulumi.StringArrayOutput `pulumi:"restorableDroppedDatabaseIds"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The version for the new server. Valid values are: 2.0 (for v11 server) and 12.0 (for v12 server).
	Version pulumi.StringOutput `pulumi:"version"`
}

Manages a Microsoft SQL Azure Database Server.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
			ResourceGroupName:      exampleResourceGroup.Name,
			Location:               exampleResourceGroup.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewServer(ctx, "exampleServer", &mssql.ServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsKat11"),
			MinimumTlsVersion:          pulumi.String("1.2"),
			AzureadAdministrator: &mssql.ServerAzureadAdministratorArgs{
				LoginUsername: pulumi.String("AzureAD Admin"),
				ObjectId:      pulumi.String("00000000-0000-0000-0000-000000000000"),
			},
			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:mssql/server:Server example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/servers/myserver

```

func GetServer

func GetServer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerState, opts ...pulumi.ResourceOption) (*Server, error)

GetServer gets an existing Server 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 NewServer

func NewServer(ctx *pulumi.Context,
	name string, args *ServerArgs, opts ...pulumi.ResourceOption) (*Server, error)

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

func (*Server) ElementType

func (*Server) ElementType() reflect.Type

func (*Server) ToServerOutput

func (i *Server) ToServerOutput() ServerOutput

func (*Server) ToServerOutputWithContext

func (i *Server) ToServerOutputWithContext(ctx context.Context) ServerOutput

type ServerArgs

type ServerArgs 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
	// An `azureadAdministrator` block as defined below.
	AzureadAdministrator ServerAzureadAdministratorPtrInput
	// The connection policy the server will use. Possible values are `Default`, `Proxy`, and `Redirect`. Defaults to `Default`.
	ConnectionPolicy pulumi.StringPtrInput
	// Deprecated: the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider.
	ExtendedAuditingPolicy ServerExtendedAuditingPolicyTypePtrInput
	Foo                    ServerFooPtrInput
	// An `identity` block as defined below.
	Identity ServerIdentityPtrInput
	// 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 for all SQL Database and SQL Data Warehouse databases associated with the server. Valid values are: `1.0`, `1.1` and `1.2`.
	MinimumTlsVersion pulumi.StringPtrInput
	// The name of the Microsoft SQL Server. This needs to be globally unique within Azure.
	Name pulumi.StringPtrInput
	// Whether outbound network traffic is restricted for this server. Defaults to `false`.
	OutboundNetworkRestrictionEnabled pulumi.BoolPtrInput
	// Specifies the primary user managed identity id. Required if `type` is `UserAssigned` and should be combined with `userAssignedIdentityIds`.
	PrimaryUserAssignedIdentityId pulumi.StringPtrInput
	// Whether public network access is allowed for this server. Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// The name of the resource group in which to create the Microsoft SQL Server.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The version for the new server. Valid values are: 2.0 (for v11 server) and 12.0 (for v12 server).
	Version pulumi.StringInput
}

The set of arguments for constructing a Server resource.

func (ServerArgs) ElementType

func (ServerArgs) ElementType() reflect.Type

type ServerArray

type ServerArray []ServerInput

func (ServerArray) ElementType

func (ServerArray) ElementType() reflect.Type

func (ServerArray) ToServerArrayOutput

func (i ServerArray) ToServerArrayOutput() ServerArrayOutput

func (ServerArray) ToServerArrayOutputWithContext

func (i ServerArray) ToServerArrayOutputWithContext(ctx context.Context) ServerArrayOutput

type ServerArrayInput

type ServerArrayInput interface {
	pulumi.Input

	ToServerArrayOutput() ServerArrayOutput
	ToServerArrayOutputWithContext(context.Context) ServerArrayOutput
}

ServerArrayInput is an input type that accepts ServerArray and ServerArrayOutput values. You can construct a concrete instance of `ServerArrayInput` via:

ServerArray{ ServerArgs{...} }

type ServerArrayOutput

type ServerArrayOutput struct{ *pulumi.OutputState }

func (ServerArrayOutput) ElementType

func (ServerArrayOutput) ElementType() reflect.Type

func (ServerArrayOutput) Index

func (ServerArrayOutput) ToServerArrayOutput

func (o ServerArrayOutput) ToServerArrayOutput() ServerArrayOutput

func (ServerArrayOutput) ToServerArrayOutputWithContext

func (o ServerArrayOutput) ToServerArrayOutputWithContext(ctx context.Context) ServerArrayOutput

type ServerAzureadAdministrator

type ServerAzureadAdministrator struct {
	// Specifies whether only AD Users and administrators (like `azuread_administrator.0.login_username`) can be used to login or also local database users (like `administratorLogin`).
	AzureadAuthenticationOnly *bool `pulumi:"azureadAuthenticationOnly"`
	// The login username of the Azure AD Administrator of this SQL Server.
	LoginUsername string `pulumi:"loginUsername"`
	// The object id of the Azure AD Administrator of this SQL Server.
	ObjectId string `pulumi:"objectId"`
	// The tenant id of the Azure AD Administrator of this SQL Server.
	TenantId *string `pulumi:"tenantId"`
}

type ServerAzureadAdministratorArgs

type ServerAzureadAdministratorArgs struct {
	// Specifies whether only AD Users and administrators (like `azuread_administrator.0.login_username`) can be used to login or also local database users (like `administratorLogin`).
	AzureadAuthenticationOnly pulumi.BoolPtrInput `pulumi:"azureadAuthenticationOnly"`
	// The login username of the Azure AD Administrator of this SQL Server.
	LoginUsername pulumi.StringInput `pulumi:"loginUsername"`
	// The object id of the Azure AD Administrator of this SQL Server.
	ObjectId pulumi.StringInput `pulumi:"objectId"`
	// The tenant id of the Azure AD Administrator of this SQL Server.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
}

func (ServerAzureadAdministratorArgs) ElementType

func (ServerAzureadAdministratorArgs) ToServerAzureadAdministratorOutput

func (i ServerAzureadAdministratorArgs) ToServerAzureadAdministratorOutput() ServerAzureadAdministratorOutput

func (ServerAzureadAdministratorArgs) ToServerAzureadAdministratorOutputWithContext

func (i ServerAzureadAdministratorArgs) ToServerAzureadAdministratorOutputWithContext(ctx context.Context) ServerAzureadAdministratorOutput

func (ServerAzureadAdministratorArgs) ToServerAzureadAdministratorPtrOutput

func (i ServerAzureadAdministratorArgs) ToServerAzureadAdministratorPtrOutput() ServerAzureadAdministratorPtrOutput

func (ServerAzureadAdministratorArgs) ToServerAzureadAdministratorPtrOutputWithContext

func (i ServerAzureadAdministratorArgs) ToServerAzureadAdministratorPtrOutputWithContext(ctx context.Context) ServerAzureadAdministratorPtrOutput

type ServerAzureadAdministratorInput

type ServerAzureadAdministratorInput interface {
	pulumi.Input

	ToServerAzureadAdministratorOutput() ServerAzureadAdministratorOutput
	ToServerAzureadAdministratorOutputWithContext(context.Context) ServerAzureadAdministratorOutput
}

ServerAzureadAdministratorInput is an input type that accepts ServerAzureadAdministratorArgs and ServerAzureadAdministratorOutput values. You can construct a concrete instance of `ServerAzureadAdministratorInput` via:

ServerAzureadAdministratorArgs{...}

type ServerAzureadAdministratorOutput

type ServerAzureadAdministratorOutput struct{ *pulumi.OutputState }

func (ServerAzureadAdministratorOutput) AzureadAuthenticationOnly added in v4.24.0

func (o ServerAzureadAdministratorOutput) AzureadAuthenticationOnly() pulumi.BoolPtrOutput

Specifies whether only AD Users and administrators (like `azuread_administrator.0.login_username`) can be used to login or also local database users (like `administratorLogin`).

func (ServerAzureadAdministratorOutput) ElementType

func (ServerAzureadAdministratorOutput) LoginUsername

The login username of the Azure AD Administrator of this SQL Server.

func (ServerAzureadAdministratorOutput) ObjectId

The object id of the Azure AD Administrator of this SQL Server.

func (ServerAzureadAdministratorOutput) TenantId

The tenant id of the Azure AD Administrator of this SQL Server.

func (ServerAzureadAdministratorOutput) ToServerAzureadAdministratorOutput

func (o ServerAzureadAdministratorOutput) ToServerAzureadAdministratorOutput() ServerAzureadAdministratorOutput

func (ServerAzureadAdministratorOutput) ToServerAzureadAdministratorOutputWithContext

func (o ServerAzureadAdministratorOutput) ToServerAzureadAdministratorOutputWithContext(ctx context.Context) ServerAzureadAdministratorOutput

func (ServerAzureadAdministratorOutput) ToServerAzureadAdministratorPtrOutput

func (o ServerAzureadAdministratorOutput) ToServerAzureadAdministratorPtrOutput() ServerAzureadAdministratorPtrOutput

func (ServerAzureadAdministratorOutput) ToServerAzureadAdministratorPtrOutputWithContext

func (o ServerAzureadAdministratorOutput) ToServerAzureadAdministratorPtrOutputWithContext(ctx context.Context) ServerAzureadAdministratorPtrOutput

type ServerAzureadAdministratorPtrInput

type ServerAzureadAdministratorPtrInput interface {
	pulumi.Input

	ToServerAzureadAdministratorPtrOutput() ServerAzureadAdministratorPtrOutput
	ToServerAzureadAdministratorPtrOutputWithContext(context.Context) ServerAzureadAdministratorPtrOutput
}

ServerAzureadAdministratorPtrInput is an input type that accepts ServerAzureadAdministratorArgs, ServerAzureadAdministratorPtr and ServerAzureadAdministratorPtrOutput values. You can construct a concrete instance of `ServerAzureadAdministratorPtrInput` via:

        ServerAzureadAdministratorArgs{...}

or:

        nil

type ServerAzureadAdministratorPtrOutput

type ServerAzureadAdministratorPtrOutput struct{ *pulumi.OutputState }

func (ServerAzureadAdministratorPtrOutput) AzureadAuthenticationOnly added in v4.24.0

func (o ServerAzureadAdministratorPtrOutput) AzureadAuthenticationOnly() pulumi.BoolPtrOutput

Specifies whether only AD Users and administrators (like `azuread_administrator.0.login_username`) can be used to login or also local database users (like `administratorLogin`).

func (ServerAzureadAdministratorPtrOutput) Elem

func (ServerAzureadAdministratorPtrOutput) ElementType

func (ServerAzureadAdministratorPtrOutput) LoginUsername

The login username of the Azure AD Administrator of this SQL Server.

func (ServerAzureadAdministratorPtrOutput) ObjectId

The object id of the Azure AD Administrator of this SQL Server.

func (ServerAzureadAdministratorPtrOutput) TenantId

The tenant id of the Azure AD Administrator of this SQL Server.

func (ServerAzureadAdministratorPtrOutput) ToServerAzureadAdministratorPtrOutput

func (o ServerAzureadAdministratorPtrOutput) ToServerAzureadAdministratorPtrOutput() ServerAzureadAdministratorPtrOutput

func (ServerAzureadAdministratorPtrOutput) ToServerAzureadAdministratorPtrOutputWithContext

func (o ServerAzureadAdministratorPtrOutput) ToServerAzureadAdministratorPtrOutputWithContext(ctx context.Context) ServerAzureadAdministratorPtrOutput

type ServerExtendedAuditingPolicy

type ServerExtendedAuditingPolicy struct {
	pulumi.CustomResourceState

	// Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor.
	LogMonitoringEnabled pulumi.BoolPtrOutput `pulumi:"logMonitoringEnabled"`
	// The number of days to retain logs for in the storage account.
	RetentionInDays pulumi.IntPtrOutput `pulumi:"retentionInDays"`
	// The ID of the sql server to set the extended auditing policy. Changing this forces a new resource to be created.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
	// The access key to use for the auditing storage account.
	StorageAccountAccessKey pulumi.StringPtrOutput `pulumi:"storageAccountAccessKey"`
	// Is `storageAccountAccessKey` value the storage's secondary key?
	StorageAccountAccessKeyIsSecondary pulumi.BoolPtrOutput `pulumi:"storageAccountAccessKeyIsSecondary"`
	// The ID of the Subscription containing the Storage Account.
	StorageAccountSubscriptionId pulumi.StringPtrOutput `pulumi:"storageAccountSubscriptionId"`
	// The blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all extended auditing logs.
	StorageEndpoint pulumi.StringPtrOutput `pulumi:"storageEndpoint"`
}

Manages a Ms Sql Server Extended Auditing Policy.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "exampleServer", &mssql.ServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("AdminPassword123!"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
			ResourceGroupName:      exampleResourceGroup.Name,
			Location:               exampleResourceGroup.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewServerExtendedAuditingPolicy(ctx, "exampleServerExtendedAuditingPolicy", &mssql.ServerExtendedAuditingPolicyArgs{
			ServerId:                           exampleServer.ID(),
			StorageEndpoint:                    exampleAccount.PrimaryBlobEndpoint,
			StorageAccountAccessKey:            exampleAccount.PrimaryAccessKey,
			StorageAccountAccessKeyIsSecondary: pulumi.Bool(false),
			RetentionInDays:                    pulumi.Int(6),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### With Storage Account Behind VNet And Firewall ```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/sql"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := core.LookupSubscription(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &network.VirtualNetworkArgs{
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "exampleSubnet", &network.SubnetArgs{
			ResourceGroupName:  exampleResourceGroup.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.2.0/24"),
			},
			ServiceEndpoints: pulumi.StringArray{
				pulumi.String("Microsoft.Sql"),
				pulumi.String("Microsoft.Storage"),
			},
			EnforcePrivateLinkEndpointNetworkPolicies: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "exampleServer", &mssql.ServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("AdminPassword123!"),
			MinimumTlsVersion:          pulumi.String("1.2"),
			Identity: &mssql.ServerIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		exampleAssignment, err := authorization.NewAssignment(ctx, "exampleAssignment", &authorization.AssignmentArgs{
			Scope:              pulumi.String(primary.Id),
			RoleDefinitionName: pulumi.String("Storage Blob Data Contributor"),
			PrincipalId: exampleServer.Identity.ApplyT(func(identity mssql.ServerIdentity) (string, error) {
				return identity.PrincipalId, nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = sql.NewVirtualNetworkRule(ctx, "sqlvnetrule", &sql.VirtualNetworkRuleArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			ServerName:        exampleServer.Name,
			SubnetId:          exampleSubnet.ID(),
		})
		if err != nil {
			return err
		}
		_, err = sql.NewFirewallRule(ctx, "exampleFirewallRule", &sql.FirewallRuleArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			ServerName:        exampleServer.Name,
			StartIpAddress:    pulumi.String("0.0.0.0"),
			EndIpAddress:      pulumi.String("0.0.0.0"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
			ResourceGroupName:      exampleResourceGroup.Name,
			Location:               exampleResourceGroup.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
			AccountKind:            pulumi.String("StorageV2"),
			AllowBlobPublicAccess:  pulumi.Bool(false),
			NetworkRules: &storage.AccountNetworkRulesArgs{
				DefaultAction: pulumi.String("Deny"),
				IpRules: pulumi.StringArray{
					pulumi.String("127.0.0.1"),
				},
				VirtualNetworkSubnetIds: pulumi.StringArray{
					exampleSubnet.ID(),
				},
				Bypasses: pulumi.StringArray{
					pulumi.String("AzureServices"),
				},
			},
			Identity: &storage.AccountIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewServerExtendedAuditingPolicy(ctx, "exampleServerExtendedAuditingPolicy", &mssql.ServerExtendedAuditingPolicyArgs{
			StorageEndpoint:              exampleAccount.PrimaryBlobEndpoint,
			ServerId:                     exampleServer.ID(),
			RetentionInDays:              pulumi.Int(6),
			LogMonitoringEnabled:         pulumi.Bool(false),
			StorageAccountSubscriptionId: pulumi.Any(azurerm_subscription.Primary.Subscription_id),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleAssignment,
			exampleAccount,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Ms Sql Server Extended Auditing Policys can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:mssql/serverExtendedAuditingPolicy:ServerExtendedAuditingPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlServer1/extendedAuditingSettings/default

```

func GetServerExtendedAuditingPolicy

func GetServerExtendedAuditingPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerExtendedAuditingPolicyState, opts ...pulumi.ResourceOption) (*ServerExtendedAuditingPolicy, error)

GetServerExtendedAuditingPolicy gets an existing ServerExtendedAuditingPolicy 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 NewServerExtendedAuditingPolicy

func NewServerExtendedAuditingPolicy(ctx *pulumi.Context,
	name string, args *ServerExtendedAuditingPolicyArgs, opts ...pulumi.ResourceOption) (*ServerExtendedAuditingPolicy, error)

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

func (*ServerExtendedAuditingPolicy) ElementType

func (*ServerExtendedAuditingPolicy) ElementType() reflect.Type

func (*ServerExtendedAuditingPolicy) ToServerExtendedAuditingPolicyOutput

func (i *ServerExtendedAuditingPolicy) ToServerExtendedAuditingPolicyOutput() ServerExtendedAuditingPolicyOutput

func (*ServerExtendedAuditingPolicy) ToServerExtendedAuditingPolicyOutputWithContext

func (i *ServerExtendedAuditingPolicy) ToServerExtendedAuditingPolicyOutputWithContext(ctx context.Context) ServerExtendedAuditingPolicyOutput

type ServerExtendedAuditingPolicyArgs

type ServerExtendedAuditingPolicyArgs struct {
	// Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor.
	LogMonitoringEnabled pulumi.BoolPtrInput
	// The number of days to retain logs for in the storage account.
	RetentionInDays pulumi.IntPtrInput
	// The ID of the sql server to set the extended auditing policy. Changing this forces a new resource to be created.
	ServerId pulumi.StringInput
	// The access key to use for the auditing storage account.
	StorageAccountAccessKey pulumi.StringPtrInput
	// Is `storageAccountAccessKey` value the storage's secondary key?
	StorageAccountAccessKeyIsSecondary pulumi.BoolPtrInput
	// The ID of the Subscription containing the Storage Account.
	StorageAccountSubscriptionId pulumi.StringPtrInput
	// The blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all extended auditing logs.
	StorageEndpoint pulumi.StringPtrInput
}

The set of arguments for constructing a ServerExtendedAuditingPolicy resource.

func (ServerExtendedAuditingPolicyArgs) ElementType

type ServerExtendedAuditingPolicyArray

type ServerExtendedAuditingPolicyArray []ServerExtendedAuditingPolicyInput

func (ServerExtendedAuditingPolicyArray) ElementType

func (ServerExtendedAuditingPolicyArray) ToServerExtendedAuditingPolicyArrayOutput

func (i ServerExtendedAuditingPolicyArray) ToServerExtendedAuditingPolicyArrayOutput() ServerExtendedAuditingPolicyArrayOutput

func (ServerExtendedAuditingPolicyArray) ToServerExtendedAuditingPolicyArrayOutputWithContext

func (i ServerExtendedAuditingPolicyArray) ToServerExtendedAuditingPolicyArrayOutputWithContext(ctx context.Context) ServerExtendedAuditingPolicyArrayOutput

type ServerExtendedAuditingPolicyArrayInput

type ServerExtendedAuditingPolicyArrayInput interface {
	pulumi.Input

	ToServerExtendedAuditingPolicyArrayOutput() ServerExtendedAuditingPolicyArrayOutput
	ToServerExtendedAuditingPolicyArrayOutputWithContext(context.Context) ServerExtendedAuditingPolicyArrayOutput
}

ServerExtendedAuditingPolicyArrayInput is an input type that accepts ServerExtendedAuditingPolicyArray and ServerExtendedAuditingPolicyArrayOutput values. You can construct a concrete instance of `ServerExtendedAuditingPolicyArrayInput` via:

ServerExtendedAuditingPolicyArray{ ServerExtendedAuditingPolicyArgs{...} }

type ServerExtendedAuditingPolicyArrayOutput

type ServerExtendedAuditingPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServerExtendedAuditingPolicyArrayOutput) ElementType

func (ServerExtendedAuditingPolicyArrayOutput) Index

func (ServerExtendedAuditingPolicyArrayOutput) ToServerExtendedAuditingPolicyArrayOutput

func (o ServerExtendedAuditingPolicyArrayOutput) ToServerExtendedAuditingPolicyArrayOutput() ServerExtendedAuditingPolicyArrayOutput

func (ServerExtendedAuditingPolicyArrayOutput) ToServerExtendedAuditingPolicyArrayOutputWithContext

func (o ServerExtendedAuditingPolicyArrayOutput) ToServerExtendedAuditingPolicyArrayOutputWithContext(ctx context.Context) ServerExtendedAuditingPolicyArrayOutput

type ServerExtendedAuditingPolicyInput

type ServerExtendedAuditingPolicyInput interface {
	pulumi.Input

	ToServerExtendedAuditingPolicyOutput() ServerExtendedAuditingPolicyOutput
	ToServerExtendedAuditingPolicyOutputWithContext(ctx context.Context) ServerExtendedAuditingPolicyOutput
}

type ServerExtendedAuditingPolicyMap

type ServerExtendedAuditingPolicyMap map[string]ServerExtendedAuditingPolicyInput

func (ServerExtendedAuditingPolicyMap) ElementType

func (ServerExtendedAuditingPolicyMap) ToServerExtendedAuditingPolicyMapOutput

func (i ServerExtendedAuditingPolicyMap) ToServerExtendedAuditingPolicyMapOutput() ServerExtendedAuditingPolicyMapOutput

func (ServerExtendedAuditingPolicyMap) ToServerExtendedAuditingPolicyMapOutputWithContext

func (i ServerExtendedAuditingPolicyMap) ToServerExtendedAuditingPolicyMapOutputWithContext(ctx context.Context) ServerExtendedAuditingPolicyMapOutput

type ServerExtendedAuditingPolicyMapInput

type ServerExtendedAuditingPolicyMapInput interface {
	pulumi.Input

	ToServerExtendedAuditingPolicyMapOutput() ServerExtendedAuditingPolicyMapOutput
	ToServerExtendedAuditingPolicyMapOutputWithContext(context.Context) ServerExtendedAuditingPolicyMapOutput
}

ServerExtendedAuditingPolicyMapInput is an input type that accepts ServerExtendedAuditingPolicyMap and ServerExtendedAuditingPolicyMapOutput values. You can construct a concrete instance of `ServerExtendedAuditingPolicyMapInput` via:

ServerExtendedAuditingPolicyMap{ "key": ServerExtendedAuditingPolicyArgs{...} }

type ServerExtendedAuditingPolicyMapOutput

type ServerExtendedAuditingPolicyMapOutput struct{ *pulumi.OutputState }

func (ServerExtendedAuditingPolicyMapOutput) ElementType

func (ServerExtendedAuditingPolicyMapOutput) MapIndex

func (ServerExtendedAuditingPolicyMapOutput) ToServerExtendedAuditingPolicyMapOutput

func (o ServerExtendedAuditingPolicyMapOutput) ToServerExtendedAuditingPolicyMapOutput() ServerExtendedAuditingPolicyMapOutput

func (ServerExtendedAuditingPolicyMapOutput) ToServerExtendedAuditingPolicyMapOutputWithContext

func (o ServerExtendedAuditingPolicyMapOutput) ToServerExtendedAuditingPolicyMapOutputWithContext(ctx context.Context) ServerExtendedAuditingPolicyMapOutput

type ServerExtendedAuditingPolicyOutput

type ServerExtendedAuditingPolicyOutput struct{ *pulumi.OutputState }

func (ServerExtendedAuditingPolicyOutput) ElementType

func (ServerExtendedAuditingPolicyOutput) ToServerExtendedAuditingPolicyOutput

func (o ServerExtendedAuditingPolicyOutput) ToServerExtendedAuditingPolicyOutput() ServerExtendedAuditingPolicyOutput

func (ServerExtendedAuditingPolicyOutput) ToServerExtendedAuditingPolicyOutputWithContext

func (o ServerExtendedAuditingPolicyOutput) ToServerExtendedAuditingPolicyOutputWithContext(ctx context.Context) ServerExtendedAuditingPolicyOutput

type ServerExtendedAuditingPolicyState

type ServerExtendedAuditingPolicyState struct {
	// Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor.
	LogMonitoringEnabled pulumi.BoolPtrInput
	// The number of days to retain logs for in the storage account.
	RetentionInDays pulumi.IntPtrInput
	// The ID of the sql server to set the extended auditing policy. Changing this forces a new resource to be created.
	ServerId pulumi.StringPtrInput
	// The access key to use for the auditing storage account.
	StorageAccountAccessKey pulumi.StringPtrInput
	// Is `storageAccountAccessKey` value the storage's secondary key?
	StorageAccountAccessKeyIsSecondary pulumi.BoolPtrInput
	// The ID of the Subscription containing the Storage Account.
	StorageAccountSubscriptionId pulumi.StringPtrInput
	// The blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all extended auditing logs.
	StorageEndpoint pulumi.StringPtrInput
}

func (ServerExtendedAuditingPolicyState) ElementType

type ServerExtendedAuditingPolicyType

type ServerExtendedAuditingPolicyType struct {
	LogMonitoringEnabled               *bool   `pulumi:"logMonitoringEnabled"`
	RetentionInDays                    *int    `pulumi:"retentionInDays"`
	StorageAccountAccessKey            *string `pulumi:"storageAccountAccessKey"`
	StorageAccountAccessKeyIsSecondary *bool   `pulumi:"storageAccountAccessKeyIsSecondary"`
	StorageAccountSubscriptionId       *string `pulumi:"storageAccountSubscriptionId"`
	StorageEndpoint                    *string `pulumi:"storageEndpoint"`
}

type ServerExtendedAuditingPolicyTypeArgs

type ServerExtendedAuditingPolicyTypeArgs struct {
	LogMonitoringEnabled               pulumi.BoolPtrInput   `pulumi:"logMonitoringEnabled"`
	RetentionInDays                    pulumi.IntPtrInput    `pulumi:"retentionInDays"`
	StorageAccountAccessKey            pulumi.StringPtrInput `pulumi:"storageAccountAccessKey"`
	StorageAccountAccessKeyIsSecondary pulumi.BoolPtrInput   `pulumi:"storageAccountAccessKeyIsSecondary"`
	StorageAccountSubscriptionId       pulumi.StringPtrInput `pulumi:"storageAccountSubscriptionId"`
	StorageEndpoint                    pulumi.StringPtrInput `pulumi:"storageEndpoint"`
}

func (ServerExtendedAuditingPolicyTypeArgs) ElementType

func (ServerExtendedAuditingPolicyTypeArgs) ToServerExtendedAuditingPolicyTypeOutput

func (i ServerExtendedAuditingPolicyTypeArgs) ToServerExtendedAuditingPolicyTypeOutput() ServerExtendedAuditingPolicyTypeOutput

func (ServerExtendedAuditingPolicyTypeArgs) ToServerExtendedAuditingPolicyTypeOutputWithContext

func (i ServerExtendedAuditingPolicyTypeArgs) ToServerExtendedAuditingPolicyTypeOutputWithContext(ctx context.Context) ServerExtendedAuditingPolicyTypeOutput

func (ServerExtendedAuditingPolicyTypeArgs) ToServerExtendedAuditingPolicyTypePtrOutput

func (i ServerExtendedAuditingPolicyTypeArgs) ToServerExtendedAuditingPolicyTypePtrOutput() ServerExtendedAuditingPolicyTypePtrOutput

func (ServerExtendedAuditingPolicyTypeArgs) ToServerExtendedAuditingPolicyTypePtrOutputWithContext

func (i ServerExtendedAuditingPolicyTypeArgs) ToServerExtendedAuditingPolicyTypePtrOutputWithContext(ctx context.Context) ServerExtendedAuditingPolicyTypePtrOutput

type ServerExtendedAuditingPolicyTypeInput

type ServerExtendedAuditingPolicyTypeInput interface {
	pulumi.Input

	ToServerExtendedAuditingPolicyTypeOutput() ServerExtendedAuditingPolicyTypeOutput
	ToServerExtendedAuditingPolicyTypeOutputWithContext(context.Context) ServerExtendedAuditingPolicyTypeOutput
}

ServerExtendedAuditingPolicyTypeInput is an input type that accepts ServerExtendedAuditingPolicyTypeArgs and ServerExtendedAuditingPolicyTypeOutput values. You can construct a concrete instance of `ServerExtendedAuditingPolicyTypeInput` via:

ServerExtendedAuditingPolicyTypeArgs{...}

type ServerExtendedAuditingPolicyTypeOutput

type ServerExtendedAuditingPolicyTypeOutput struct{ *pulumi.OutputState }

func (ServerExtendedAuditingPolicyTypeOutput) ElementType

func (ServerExtendedAuditingPolicyTypeOutput) LogMonitoringEnabled

func (ServerExtendedAuditingPolicyTypeOutput) RetentionInDays

func (ServerExtendedAuditingPolicyTypeOutput) StorageAccountAccessKey

func (ServerExtendedAuditingPolicyTypeOutput) StorageAccountAccessKeyIsSecondary

func (o ServerExtendedAuditingPolicyTypeOutput) StorageAccountAccessKeyIsSecondary() pulumi.BoolPtrOutput

func (ServerExtendedAuditingPolicyTypeOutput) StorageAccountSubscriptionId added in v4.34.0

func (o ServerExtendedAuditingPolicyTypeOutput) StorageAccountSubscriptionId() pulumi.StringPtrOutput

func (ServerExtendedAuditingPolicyTypeOutput) StorageEndpoint

func (ServerExtendedAuditingPolicyTypeOutput) ToServerExtendedAuditingPolicyTypeOutput

func (o ServerExtendedAuditingPolicyTypeOutput) ToServerExtendedAuditingPolicyTypeOutput() ServerExtendedAuditingPolicyTypeOutput

func (ServerExtendedAuditingPolicyTypeOutput) ToServerExtendedAuditingPolicyTypeOutputWithContext

func (o ServerExtendedAuditingPolicyTypeOutput) ToServerExtendedAuditingPolicyTypeOutputWithContext(ctx context.Context) ServerExtendedAuditingPolicyTypeOutput

func (ServerExtendedAuditingPolicyTypeOutput) ToServerExtendedAuditingPolicyTypePtrOutput

func (o ServerExtendedAuditingPolicyTypeOutput) ToServerExtendedAuditingPolicyTypePtrOutput() ServerExtendedAuditingPolicyTypePtrOutput

func (ServerExtendedAuditingPolicyTypeOutput) ToServerExtendedAuditingPolicyTypePtrOutputWithContext

func (o ServerExtendedAuditingPolicyTypeOutput) ToServerExtendedAuditingPolicyTypePtrOutputWithContext(ctx context.Context) ServerExtendedAuditingPolicyTypePtrOutput

type ServerExtendedAuditingPolicyTypePtrInput

type ServerExtendedAuditingPolicyTypePtrInput interface {
	pulumi.Input

	ToServerExtendedAuditingPolicyTypePtrOutput() ServerExtendedAuditingPolicyTypePtrOutput
	ToServerExtendedAuditingPolicyTypePtrOutputWithContext(context.Context) ServerExtendedAuditingPolicyTypePtrOutput
}

ServerExtendedAuditingPolicyTypePtrInput is an input type that accepts ServerExtendedAuditingPolicyTypeArgs, ServerExtendedAuditingPolicyTypePtr and ServerExtendedAuditingPolicyTypePtrOutput values. You can construct a concrete instance of `ServerExtendedAuditingPolicyTypePtrInput` via:

        ServerExtendedAuditingPolicyTypeArgs{...}

or:

        nil

type ServerExtendedAuditingPolicyTypePtrOutput

type ServerExtendedAuditingPolicyTypePtrOutput struct{ *pulumi.OutputState }

func (ServerExtendedAuditingPolicyTypePtrOutput) Elem

func (ServerExtendedAuditingPolicyTypePtrOutput) ElementType

func (ServerExtendedAuditingPolicyTypePtrOutput) LogMonitoringEnabled

func (ServerExtendedAuditingPolicyTypePtrOutput) RetentionInDays

func (ServerExtendedAuditingPolicyTypePtrOutput) StorageAccountAccessKey

func (ServerExtendedAuditingPolicyTypePtrOutput) StorageAccountAccessKeyIsSecondary

func (o ServerExtendedAuditingPolicyTypePtrOutput) StorageAccountAccessKeyIsSecondary() pulumi.BoolPtrOutput

func (ServerExtendedAuditingPolicyTypePtrOutput) StorageAccountSubscriptionId added in v4.34.0

func (o ServerExtendedAuditingPolicyTypePtrOutput) StorageAccountSubscriptionId() pulumi.StringPtrOutput

func (ServerExtendedAuditingPolicyTypePtrOutput) StorageEndpoint

func (ServerExtendedAuditingPolicyTypePtrOutput) ToServerExtendedAuditingPolicyTypePtrOutput

func (o ServerExtendedAuditingPolicyTypePtrOutput) ToServerExtendedAuditingPolicyTypePtrOutput() ServerExtendedAuditingPolicyTypePtrOutput

func (ServerExtendedAuditingPolicyTypePtrOutput) ToServerExtendedAuditingPolicyTypePtrOutputWithContext

func (o ServerExtendedAuditingPolicyTypePtrOutput) ToServerExtendedAuditingPolicyTypePtrOutputWithContext(ctx context.Context) ServerExtendedAuditingPolicyTypePtrOutput

type ServerFoo added in v4.38.0

type ServerFoo struct {
	IdentityIds []string `pulumi:"identityIds"`
	// The Principal ID for the Service Principal associated with the Identity of this SQL Server.
	PrincipalId *string `pulumi:"principalId"`
	// The tenant id of the Azure AD Administrator of this SQL Server.
	TenantId *string `pulumi:"tenantId"`
	// Specifies the identity type of the Microsoft SQL Server. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you) and `UserAssigned` where you can specify the Service Principal IDs in the `userAssignedIdentityIds` field.
	Type string `pulumi:"type"`
}

type ServerFooArgs added in v4.38.0

type ServerFooArgs struct {
	IdentityIds pulumi.StringArrayInput `pulumi:"identityIds"`
	// The Principal ID for the Service Principal associated with the Identity of this SQL Server.
	PrincipalId pulumi.StringPtrInput `pulumi:"principalId"`
	// The tenant id of the Azure AD Administrator of this SQL Server.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
	// Specifies the identity type of the Microsoft SQL Server. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you) and `UserAssigned` where you can specify the Service Principal IDs in the `userAssignedIdentityIds` field.
	Type pulumi.StringInput `pulumi:"type"`
}

func (ServerFooArgs) ElementType added in v4.38.0

func (ServerFooArgs) ElementType() reflect.Type

func (ServerFooArgs) ToServerFooOutput added in v4.38.0

func (i ServerFooArgs) ToServerFooOutput() ServerFooOutput

func (ServerFooArgs) ToServerFooOutputWithContext added in v4.38.0

func (i ServerFooArgs) ToServerFooOutputWithContext(ctx context.Context) ServerFooOutput

func (ServerFooArgs) ToServerFooPtrOutput added in v4.38.0

func (i ServerFooArgs) ToServerFooPtrOutput() ServerFooPtrOutput

func (ServerFooArgs) ToServerFooPtrOutputWithContext added in v4.38.0

func (i ServerFooArgs) ToServerFooPtrOutputWithContext(ctx context.Context) ServerFooPtrOutput

type ServerFooInput added in v4.38.0

type ServerFooInput interface {
	pulumi.Input

	ToServerFooOutput() ServerFooOutput
	ToServerFooOutputWithContext(context.Context) ServerFooOutput
}

ServerFooInput is an input type that accepts ServerFooArgs and ServerFooOutput values. You can construct a concrete instance of `ServerFooInput` via:

ServerFooArgs{...}

type ServerFooOutput added in v4.38.0

type ServerFooOutput struct{ *pulumi.OutputState }

func (ServerFooOutput) ElementType added in v4.38.0

func (ServerFooOutput) ElementType() reflect.Type

func (ServerFooOutput) IdentityIds added in v4.38.0

func (o ServerFooOutput) IdentityIds() pulumi.StringArrayOutput

func (ServerFooOutput) PrincipalId added in v4.38.0

func (o ServerFooOutput) PrincipalId() pulumi.StringPtrOutput

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

func (ServerFooOutput) TenantId added in v4.38.0

func (o ServerFooOutput) TenantId() pulumi.StringPtrOutput

The tenant id of the Azure AD Administrator of this SQL Server.

func (ServerFooOutput) ToServerFooOutput added in v4.38.0

func (o ServerFooOutput) ToServerFooOutput() ServerFooOutput

func (ServerFooOutput) ToServerFooOutputWithContext added in v4.38.0

func (o ServerFooOutput) ToServerFooOutputWithContext(ctx context.Context) ServerFooOutput

func (ServerFooOutput) ToServerFooPtrOutput added in v4.38.0

func (o ServerFooOutput) ToServerFooPtrOutput() ServerFooPtrOutput

func (ServerFooOutput) ToServerFooPtrOutputWithContext added in v4.38.0

func (o ServerFooOutput) ToServerFooPtrOutputWithContext(ctx context.Context) ServerFooPtrOutput

func (ServerFooOutput) Type added in v4.38.0

Specifies the identity type of the Microsoft SQL Server. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you) and `UserAssigned` where you can specify the Service Principal IDs in the `userAssignedIdentityIds` field.

type ServerFooPtrInput added in v4.38.0

type ServerFooPtrInput interface {
	pulumi.Input

	ToServerFooPtrOutput() ServerFooPtrOutput
	ToServerFooPtrOutputWithContext(context.Context) ServerFooPtrOutput
}

ServerFooPtrInput is an input type that accepts ServerFooArgs, ServerFooPtr and ServerFooPtrOutput values. You can construct a concrete instance of `ServerFooPtrInput` via:

        ServerFooArgs{...}

or:

        nil

func ServerFooPtr added in v4.38.0

func ServerFooPtr(v *ServerFooArgs) ServerFooPtrInput

type ServerFooPtrOutput added in v4.38.0

type ServerFooPtrOutput struct{ *pulumi.OutputState }

func (ServerFooPtrOutput) Elem added in v4.38.0

func (ServerFooPtrOutput) ElementType added in v4.38.0

func (ServerFooPtrOutput) ElementType() reflect.Type

func (ServerFooPtrOutput) IdentityIds added in v4.38.0

func (ServerFooPtrOutput) PrincipalId added in v4.38.0

func (o ServerFooPtrOutput) PrincipalId() pulumi.StringPtrOutput

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

func (ServerFooPtrOutput) TenantId added in v4.38.0

The tenant id of the Azure AD Administrator of this SQL Server.

func (ServerFooPtrOutput) ToServerFooPtrOutput added in v4.38.0

func (o ServerFooPtrOutput) ToServerFooPtrOutput() ServerFooPtrOutput

func (ServerFooPtrOutput) ToServerFooPtrOutputWithContext added in v4.38.0

func (o ServerFooPtrOutput) ToServerFooPtrOutputWithContext(ctx context.Context) ServerFooPtrOutput

func (ServerFooPtrOutput) Type added in v4.38.0

Specifies the identity type of the Microsoft SQL Server. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you) and `UserAssigned` where you can specify the Service Principal IDs in the `userAssignedIdentityIds` field.

type ServerIdentity

type ServerIdentity struct {
	// The Principal ID for the Service Principal associated with the Identity of this SQL Server.
	PrincipalId *string `pulumi:"principalId"`
	// The tenant id of the Azure AD Administrator of this SQL Server.
	TenantId *string `pulumi:"tenantId"`
	// Specifies the identity type of the Microsoft SQL Server. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you) and `UserAssigned` where you can specify the Service Principal IDs in the `userAssignedIdentityIds` field.
	Type string `pulumi:"type"`
	// Specifies a list of User Assigned Identity IDs to be assigned. Required if `type` is `UserAssigned` and should be combined with `primaryUserAssignedIdentityId`.
	UserAssignedIdentityIds []string `pulumi:"userAssignedIdentityIds"`
}

type ServerIdentityArgs

type ServerIdentityArgs struct {
	// The Principal ID for the Service Principal associated with the Identity of this SQL Server.
	PrincipalId pulumi.StringPtrInput `pulumi:"principalId"`
	// The tenant id of the Azure AD Administrator of this SQL Server.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
	// Specifies the identity type of the Microsoft SQL Server. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you) and `UserAssigned` where you can specify the Service Principal IDs in the `userAssignedIdentityIds` field.
	Type pulumi.StringInput `pulumi:"type"`
	// Specifies a list of User Assigned Identity IDs to be assigned. Required if `type` is `UserAssigned` and should be combined with `primaryUserAssignedIdentityId`.
	UserAssignedIdentityIds pulumi.StringArrayInput `pulumi:"userAssignedIdentityIds"`
}

func (ServerIdentityArgs) ElementType

func (ServerIdentityArgs) ElementType() reflect.Type

func (ServerIdentityArgs) ToServerIdentityOutput

func (i ServerIdentityArgs) ToServerIdentityOutput() ServerIdentityOutput

func (ServerIdentityArgs) ToServerIdentityOutputWithContext

func (i ServerIdentityArgs) ToServerIdentityOutputWithContext(ctx context.Context) ServerIdentityOutput

func (ServerIdentityArgs) ToServerIdentityPtrOutput

func (i ServerIdentityArgs) ToServerIdentityPtrOutput() ServerIdentityPtrOutput

func (ServerIdentityArgs) ToServerIdentityPtrOutputWithContext

func (i ServerIdentityArgs) ToServerIdentityPtrOutputWithContext(ctx context.Context) ServerIdentityPtrOutput

type ServerIdentityInput

type ServerIdentityInput interface {
	pulumi.Input

	ToServerIdentityOutput() ServerIdentityOutput
	ToServerIdentityOutputWithContext(context.Context) ServerIdentityOutput
}

ServerIdentityInput is an input type that accepts ServerIdentityArgs and ServerIdentityOutput values. You can construct a concrete instance of `ServerIdentityInput` via:

ServerIdentityArgs{...}

type ServerIdentityOutput

type ServerIdentityOutput struct{ *pulumi.OutputState }

func (ServerIdentityOutput) ElementType

func (ServerIdentityOutput) ElementType() reflect.Type

func (ServerIdentityOutput) PrincipalId

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

func (ServerIdentityOutput) TenantId

The tenant id of the Azure AD Administrator of this SQL Server.

func (ServerIdentityOutput) ToServerIdentityOutput

func (o ServerIdentityOutput) ToServerIdentityOutput() ServerIdentityOutput

func (ServerIdentityOutput) ToServerIdentityOutputWithContext

func (o ServerIdentityOutput) ToServerIdentityOutputWithContext(ctx context.Context) ServerIdentityOutput

func (ServerIdentityOutput) ToServerIdentityPtrOutput

func (o ServerIdentityOutput) ToServerIdentityPtrOutput() ServerIdentityPtrOutput

func (ServerIdentityOutput) ToServerIdentityPtrOutputWithContext

func (o ServerIdentityOutput) ToServerIdentityPtrOutputWithContext(ctx context.Context) ServerIdentityPtrOutput

func (ServerIdentityOutput) Type

Specifies the identity type of the Microsoft SQL Server. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you) and `UserAssigned` where you can specify the Service Principal IDs in the `userAssignedIdentityIds` field.

func (ServerIdentityOutput) UserAssignedIdentityIds added in v4.23.0

func (o ServerIdentityOutput) UserAssignedIdentityIds() pulumi.StringArrayOutput

Specifies a list of User Assigned Identity IDs to be assigned. Required if `type` is `UserAssigned` and should be combined with `primaryUserAssignedIdentityId`.

type ServerIdentityPtrInput

type ServerIdentityPtrInput interface {
	pulumi.Input

	ToServerIdentityPtrOutput() ServerIdentityPtrOutput
	ToServerIdentityPtrOutputWithContext(context.Context) ServerIdentityPtrOutput
}

ServerIdentityPtrInput is an input type that accepts ServerIdentityArgs, ServerIdentityPtr and ServerIdentityPtrOutput values. You can construct a concrete instance of `ServerIdentityPtrInput` via:

        ServerIdentityArgs{...}

or:

        nil

type ServerIdentityPtrOutput

type ServerIdentityPtrOutput struct{ *pulumi.OutputState }

func (ServerIdentityPtrOutput) Elem

func (ServerIdentityPtrOutput) ElementType

func (ServerIdentityPtrOutput) ElementType() reflect.Type

func (ServerIdentityPtrOutput) PrincipalId

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

func (ServerIdentityPtrOutput) TenantId

The tenant id of the Azure AD Administrator of this SQL Server.

func (ServerIdentityPtrOutput) ToServerIdentityPtrOutput

func (o ServerIdentityPtrOutput) ToServerIdentityPtrOutput() ServerIdentityPtrOutput

func (ServerIdentityPtrOutput) ToServerIdentityPtrOutputWithContext

func (o ServerIdentityPtrOutput) ToServerIdentityPtrOutputWithContext(ctx context.Context) ServerIdentityPtrOutput

func (ServerIdentityPtrOutput) Type

Specifies the identity type of the Microsoft SQL Server. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you) and `UserAssigned` where you can specify the Service Principal IDs in the `userAssignedIdentityIds` field.

func (ServerIdentityPtrOutput) UserAssignedIdentityIds added in v4.23.0

func (o ServerIdentityPtrOutput) UserAssignedIdentityIds() pulumi.StringArrayOutput

Specifies a list of User Assigned Identity IDs to be assigned. Required if `type` is `UserAssigned` and should be combined with `primaryUserAssignedIdentityId`.

type ServerInput

type ServerInput interface {
	pulumi.Input

	ToServerOutput() ServerOutput
	ToServerOutputWithContext(ctx context.Context) ServerOutput
}

type ServerMap

type ServerMap map[string]ServerInput

func (ServerMap) ElementType

func (ServerMap) ElementType() reflect.Type

func (ServerMap) ToServerMapOutput

func (i ServerMap) ToServerMapOutput() ServerMapOutput

func (ServerMap) ToServerMapOutputWithContext

func (i ServerMap) ToServerMapOutputWithContext(ctx context.Context) ServerMapOutput

type ServerMapInput

type ServerMapInput interface {
	pulumi.Input

	ToServerMapOutput() ServerMapOutput
	ToServerMapOutputWithContext(context.Context) ServerMapOutput
}

ServerMapInput is an input type that accepts ServerMap and ServerMapOutput values. You can construct a concrete instance of `ServerMapInput` via:

ServerMap{ "key": ServerArgs{...} }

type ServerMapOutput

type ServerMapOutput struct{ *pulumi.OutputState }

func (ServerMapOutput) ElementType

func (ServerMapOutput) ElementType() reflect.Type

func (ServerMapOutput) MapIndex

func (ServerMapOutput) ToServerMapOutput

func (o ServerMapOutput) ToServerMapOutput() ServerMapOutput

func (ServerMapOutput) ToServerMapOutputWithContext

func (o ServerMapOutput) ToServerMapOutputWithContext(ctx context.Context) ServerMapOutput

type ServerOutput

type ServerOutput struct{ *pulumi.OutputState }

func (ServerOutput) ElementType

func (ServerOutput) ElementType() reflect.Type

func (ServerOutput) ToServerOutput

func (o ServerOutput) ToServerOutput() ServerOutput

func (ServerOutput) ToServerOutputWithContext

func (o ServerOutput) ToServerOutputWithContext(ctx context.Context) ServerOutput

type ServerSecurityAlertPolicy

type ServerSecurityAlertPolicy struct {
	pulumi.CustomResourceState

	// Specifies an array of alerts that are disabled. Allowed values are: `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action`.
	DisabledAlerts pulumi.StringArrayOutput `pulumi:"disabledAlerts"`
	// Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to `false`.
	EmailAccountAdmins pulumi.BoolPtrOutput `pulumi:"emailAccountAdmins"`
	// Specifies an array of e-mail addresses to which the alert is sent.
	EmailAddresses pulumi.StringArrayOutput `pulumi:"emailAddresses"`
	// The name of the resource group that contains the MS SQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the number of days to keep in the Threat Detection audit logs. Defaults to `0`.
	RetentionDays pulumi.IntPtrOutput `pulumi:"retentionDays"`
	// Specifies the name of the MS SQL Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database server. Allowed values are: `Disabled`, `Enabled`.
	State pulumi.StringOutput `pulumi:"state"`
	// Specifies the identifier key of the Threat Detection audit storage account.
	StorageAccountAccessKey pulumi.StringPtrOutput `pulumi:"storageAccountAccessKey"`
	// Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.
	StorageEndpoint pulumi.StringPtrOutput `pulumi:"storageEndpoint"`
}

Manages a Security Alert Policy for a MSSQL Server.

> **NOTE** Security Alert Policy is currently only available for MS SQL databases.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleSqlServer, err := sql.NewSqlServer(ctx, "exampleSqlServer", &sql.SqlServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
			ResourceGroupName:      exampleResourceGroup.Name,
			Location:               exampleResourceGroup.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("GRS"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewServerSecurityAlertPolicy(ctx, "exampleServerSecurityAlertPolicy", &mssql.ServerSecurityAlertPolicyArgs{
			ResourceGroupName:       exampleResourceGroup.Name,
			ServerName:              exampleSqlServer.Name,
			State:                   pulumi.String("Enabled"),
			StorageEndpoint:         exampleAccount.PrimaryBlobEndpoint,
			StorageAccountAccessKey: exampleAccount.PrimaryAccessKey,
			DisabledAlerts: pulumi.StringArray{
				pulumi.String("Sql_Injection"),
				pulumi.String("Data_Exfiltration"),
			},
			RetentionDays: pulumi.Int(20),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

MS SQL Server Security Alert Policy can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:mssql/serverSecurityAlertPolicy:ServerSecurityAlertPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acceptanceTestResourceGroup1/providers/Microsoft.Sql/servers/mssqlserver/securityAlertPolicies/Default

```

func GetServerSecurityAlertPolicy

func GetServerSecurityAlertPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerSecurityAlertPolicyState, opts ...pulumi.ResourceOption) (*ServerSecurityAlertPolicy, error)

GetServerSecurityAlertPolicy gets an existing ServerSecurityAlertPolicy 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 NewServerSecurityAlertPolicy

func NewServerSecurityAlertPolicy(ctx *pulumi.Context,
	name string, args *ServerSecurityAlertPolicyArgs, opts ...pulumi.ResourceOption) (*ServerSecurityAlertPolicy, error)

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

func (*ServerSecurityAlertPolicy) ElementType

func (*ServerSecurityAlertPolicy) ElementType() reflect.Type

func (*ServerSecurityAlertPolicy) ToServerSecurityAlertPolicyOutput

func (i *ServerSecurityAlertPolicy) ToServerSecurityAlertPolicyOutput() ServerSecurityAlertPolicyOutput

func (*ServerSecurityAlertPolicy) ToServerSecurityAlertPolicyOutputWithContext

func (i *ServerSecurityAlertPolicy) ToServerSecurityAlertPolicyOutputWithContext(ctx context.Context) ServerSecurityAlertPolicyOutput

type ServerSecurityAlertPolicyArgs

type ServerSecurityAlertPolicyArgs struct {
	// Specifies an array of alerts that are disabled. Allowed values are: `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action`.
	DisabledAlerts pulumi.StringArrayInput
	// Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to `false`.
	EmailAccountAdmins pulumi.BoolPtrInput
	// Specifies an array of e-mail addresses to which the alert is sent.
	EmailAddresses pulumi.StringArrayInput
	// The name of the resource group that contains the MS SQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Specifies the number of days to keep in the Threat Detection audit logs. Defaults to `0`.
	RetentionDays pulumi.IntPtrInput
	// Specifies the name of the MS SQL Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
	// Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database server. Allowed values are: `Disabled`, `Enabled`.
	State pulumi.StringInput
	// Specifies the identifier key of the Threat Detection audit storage account.
	StorageAccountAccessKey pulumi.StringPtrInput
	// Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.
	StorageEndpoint pulumi.StringPtrInput
}

The set of arguments for constructing a ServerSecurityAlertPolicy resource.

func (ServerSecurityAlertPolicyArgs) ElementType

type ServerSecurityAlertPolicyArray

type ServerSecurityAlertPolicyArray []ServerSecurityAlertPolicyInput

func (ServerSecurityAlertPolicyArray) ElementType

func (ServerSecurityAlertPolicyArray) ToServerSecurityAlertPolicyArrayOutput

func (i ServerSecurityAlertPolicyArray) ToServerSecurityAlertPolicyArrayOutput() ServerSecurityAlertPolicyArrayOutput

func (ServerSecurityAlertPolicyArray) ToServerSecurityAlertPolicyArrayOutputWithContext

func (i ServerSecurityAlertPolicyArray) ToServerSecurityAlertPolicyArrayOutputWithContext(ctx context.Context) ServerSecurityAlertPolicyArrayOutput

type ServerSecurityAlertPolicyArrayInput

type ServerSecurityAlertPolicyArrayInput interface {
	pulumi.Input

	ToServerSecurityAlertPolicyArrayOutput() ServerSecurityAlertPolicyArrayOutput
	ToServerSecurityAlertPolicyArrayOutputWithContext(context.Context) ServerSecurityAlertPolicyArrayOutput
}

ServerSecurityAlertPolicyArrayInput is an input type that accepts ServerSecurityAlertPolicyArray and ServerSecurityAlertPolicyArrayOutput values. You can construct a concrete instance of `ServerSecurityAlertPolicyArrayInput` via:

ServerSecurityAlertPolicyArray{ ServerSecurityAlertPolicyArgs{...} }

type ServerSecurityAlertPolicyArrayOutput

type ServerSecurityAlertPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServerSecurityAlertPolicyArrayOutput) ElementType

func (ServerSecurityAlertPolicyArrayOutput) Index

func (ServerSecurityAlertPolicyArrayOutput) ToServerSecurityAlertPolicyArrayOutput

func (o ServerSecurityAlertPolicyArrayOutput) ToServerSecurityAlertPolicyArrayOutput() ServerSecurityAlertPolicyArrayOutput

func (ServerSecurityAlertPolicyArrayOutput) ToServerSecurityAlertPolicyArrayOutputWithContext

func (o ServerSecurityAlertPolicyArrayOutput) ToServerSecurityAlertPolicyArrayOutputWithContext(ctx context.Context) ServerSecurityAlertPolicyArrayOutput

type ServerSecurityAlertPolicyInput

type ServerSecurityAlertPolicyInput interface {
	pulumi.Input

	ToServerSecurityAlertPolicyOutput() ServerSecurityAlertPolicyOutput
	ToServerSecurityAlertPolicyOutputWithContext(ctx context.Context) ServerSecurityAlertPolicyOutput
}

type ServerSecurityAlertPolicyMap

type ServerSecurityAlertPolicyMap map[string]ServerSecurityAlertPolicyInput

func (ServerSecurityAlertPolicyMap) ElementType

func (ServerSecurityAlertPolicyMap) ToServerSecurityAlertPolicyMapOutput

func (i ServerSecurityAlertPolicyMap) ToServerSecurityAlertPolicyMapOutput() ServerSecurityAlertPolicyMapOutput

func (ServerSecurityAlertPolicyMap) ToServerSecurityAlertPolicyMapOutputWithContext

func (i ServerSecurityAlertPolicyMap) ToServerSecurityAlertPolicyMapOutputWithContext(ctx context.Context) ServerSecurityAlertPolicyMapOutput

type ServerSecurityAlertPolicyMapInput

type ServerSecurityAlertPolicyMapInput interface {
	pulumi.Input

	ToServerSecurityAlertPolicyMapOutput() ServerSecurityAlertPolicyMapOutput
	ToServerSecurityAlertPolicyMapOutputWithContext(context.Context) ServerSecurityAlertPolicyMapOutput
}

ServerSecurityAlertPolicyMapInput is an input type that accepts ServerSecurityAlertPolicyMap and ServerSecurityAlertPolicyMapOutput values. You can construct a concrete instance of `ServerSecurityAlertPolicyMapInput` via:

ServerSecurityAlertPolicyMap{ "key": ServerSecurityAlertPolicyArgs{...} }

type ServerSecurityAlertPolicyMapOutput

type ServerSecurityAlertPolicyMapOutput struct{ *pulumi.OutputState }

func (ServerSecurityAlertPolicyMapOutput) ElementType

func (ServerSecurityAlertPolicyMapOutput) MapIndex

func (ServerSecurityAlertPolicyMapOutput) ToServerSecurityAlertPolicyMapOutput

func (o ServerSecurityAlertPolicyMapOutput) ToServerSecurityAlertPolicyMapOutput() ServerSecurityAlertPolicyMapOutput

func (ServerSecurityAlertPolicyMapOutput) ToServerSecurityAlertPolicyMapOutputWithContext

func (o ServerSecurityAlertPolicyMapOutput) ToServerSecurityAlertPolicyMapOutputWithContext(ctx context.Context) ServerSecurityAlertPolicyMapOutput

type ServerSecurityAlertPolicyOutput

type ServerSecurityAlertPolicyOutput struct{ *pulumi.OutputState }

func (ServerSecurityAlertPolicyOutput) ElementType

func (ServerSecurityAlertPolicyOutput) ToServerSecurityAlertPolicyOutput

func (o ServerSecurityAlertPolicyOutput) ToServerSecurityAlertPolicyOutput() ServerSecurityAlertPolicyOutput

func (ServerSecurityAlertPolicyOutput) ToServerSecurityAlertPolicyOutputWithContext

func (o ServerSecurityAlertPolicyOutput) ToServerSecurityAlertPolicyOutputWithContext(ctx context.Context) ServerSecurityAlertPolicyOutput

type ServerSecurityAlertPolicyState

type ServerSecurityAlertPolicyState struct {
	// Specifies an array of alerts that are disabled. Allowed values are: `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action`.
	DisabledAlerts pulumi.StringArrayInput
	// Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to `false`.
	EmailAccountAdmins pulumi.BoolPtrInput
	// Specifies an array of e-mail addresses to which the alert is sent.
	EmailAddresses pulumi.StringArrayInput
	// The name of the resource group that contains the MS SQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the number of days to keep in the Threat Detection audit logs. Defaults to `0`.
	RetentionDays pulumi.IntPtrInput
	// Specifies the name of the MS SQL Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
	// Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database server. Allowed values are: `Disabled`, `Enabled`.
	State pulumi.StringPtrInput
	// Specifies the identifier key of the Threat Detection audit storage account.
	StorageAccountAccessKey pulumi.StringPtrInput
	// Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.
	StorageEndpoint pulumi.StringPtrInput
}

func (ServerSecurityAlertPolicyState) ElementType

type ServerState

type ServerState 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
	// An `azureadAdministrator` block as defined below.
	AzureadAdministrator ServerAzureadAdministratorPtrInput
	// The connection policy the server will use. Possible values are `Default`, `Proxy`, and `Redirect`. Defaults to `Default`.
	ConnectionPolicy pulumi.StringPtrInput
	// Deprecated: the `extended_auditing_policy` block has been moved to `azurerm_mssql_server_extended_auditing_policy` and `azurerm_mssql_database_extended_auditing_policy`. This block will be removed in version 3.0 of the provider.
	ExtendedAuditingPolicy ServerExtendedAuditingPolicyTypePtrInput
	Foo                    ServerFooPtrInput
	// 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 ServerIdentityPtrInput
	// 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 for all SQL Database and SQL Data Warehouse databases associated with the server. Valid values are: `1.0`, `1.1` and `1.2`.
	MinimumTlsVersion pulumi.StringPtrInput
	// The name of the Microsoft SQL Server. This needs to be globally unique within Azure.
	Name pulumi.StringPtrInput
	// Whether outbound network traffic is restricted for this server. Defaults to `false`.
	OutboundNetworkRestrictionEnabled pulumi.BoolPtrInput
	// Specifies the primary user managed identity id. Required if `type` is `UserAssigned` and should be combined with `userAssignedIdentityIds`.
	PrimaryUserAssignedIdentityId pulumi.StringPtrInput
	// Whether public network access is allowed for this server. Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// The name of the resource group in which to create the Microsoft SQL Server.
	ResourceGroupName pulumi.StringPtrInput
	// A list of dropped restorable database IDs on the server.
	RestorableDroppedDatabaseIds pulumi.StringArrayInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The version for the new server. Valid values are: 2.0 (for v11 server) and 12.0 (for v12 server).
	Version pulumi.StringPtrInput
}

func (ServerState) ElementType

func (ServerState) ElementType() reflect.Type

type ServerTransparentDataEncryption added in v4.1.0

type ServerTransparentDataEncryption struct {
	pulumi.CustomResourceState

	// To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.
	KeyVaultKeyId pulumi.StringPtrOutput `pulumi:"keyVaultKeyId"`
	// Specifies the name of the MS SQL Server.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
}

Manages the transparent data encryption configuration for a MSSQL Server

> **NOTE:** Once transparent data encryption is enabled on a MS SQL instance, it is not possible to remove TDE. You will be able to switch between 'ServiceManaged' and 'CustomerManaged' keys, but will not be able to remove encryption. For safety when this resource is deleted, the TDE mode will automatically be set to 'ServiceManaged'. See `keyVaultUri` for more information on how to specify the key types. As SQL Server only supports a single configuration for encryption settings, this resource will replace the current encryption settings on the server.

> **Note:** See [documentation](https://docs.microsoft.com/en-us/azure/azure-sql/database/transparent-data-encryption-byok-overview) for important information on how handle lifecycle management of the keys to prevent data lockout.

## Example Usage ### With Service Managed Key

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("EastUs"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "exampleServer", &mssql.ServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsKat11"),
			MinimumTlsVersion:          pulumi.String("1.2"),
			AzureadAdministrator: &mssql.ServerAzureadAdministratorArgs{
				LoginUsername: pulumi.String("AzureAD Admin"),
				ObjectId:      pulumi.String("00000000-0000-0000-0000-000000000000"),
			},
			ExtendedAuditingPolicy: &mssql.ServerExtendedAuditingPolicyArgs{
				StorageEndpoint:                    pulumi.Any(azurerm_storage_account.Example.Primary_blob_endpoint),
				StorageAccountAccessKey:            pulumi.Any(azurerm_storage_account.Example.Primary_access_key),
				StorageAccountAccessKeyIsSecondary: pulumi.Bool(true),
				RetentionInDays:                    pulumi.Int(6),
			},
			Tags: pulumi.StringMap{
				"environment": pulumi.String("production"),
			},
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewServerTransparentDataEncryption(ctx, "exampleServerTransparentDataEncryption", &mssql.ServerTransparentDataEncryptionArgs{
			ServerId: exampleServer.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### With Customer Managed Key

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/keyvault"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"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
		}
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("EastUs"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "exampleServer", &mssql.ServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsKat11"),
			MinimumTlsVersion:          pulumi.String("1.2"),
			AzureadAdministrator: &mssql.ServerAzureadAdministratorArgs{
				LoginUsername: pulumi.String("AzureAD Admin"),
				ObjectId:      pulumi.String("00000000-0000-0000-0000-000000000000"),
			},
			ExtendedAuditingPolicy: &mssql.ServerExtendedAuditingPolicyArgs{
				StorageEndpoint:                    pulumi.Any(azurerm_storage_account.Example.Primary_blob_endpoint),
				StorageAccountAccessKey:            pulumi.Any(azurerm_storage_account.Example.Primary_access_key),
				StorageAccountAccessKeyIsSecondary: pulumi.Bool(true),
				RetentionInDays:                    pulumi.Int(6),
			},
			Tags: pulumi.StringMap{
				"environment": pulumi.String("production"),
			},
			Identity: &mssql.ServerIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		exampleKeyVault, err := keyvault.NewKeyVault(ctx, "exampleKeyVault", &keyvault.KeyVaultArgs{
			Location:                 exampleResourceGroup.Location,
			ResourceGroupName:        exampleResourceGroup.Name,
			EnabledForDiskEncryption: pulumi.Bool(true),
			TenantId:                 pulumi.String(current.TenantId),
			SoftDeleteRetentionDays:  pulumi.Int(7),
			PurgeProtectionEnabled:   pulumi.Bool(false),
			SkuName:                  pulumi.String("standard"),
			AccessPolicies: keyvault.KeyVaultAccessPolicyArray{
				&keyvault.KeyVaultAccessPolicyArgs{
					TenantId: pulumi.String(current.TenantId),
					ObjectId: pulumi.String(current.ObjectId),
					KeyPermissions: pulumi.StringArray{
						pulumi.String("Get"),
						pulumi.String("List"),
						pulumi.String("Create"),
						pulumi.String("Delete"),
						pulumi.String("Update"),
						pulumi.String("Recover"),
						pulumi.String("Purge"),
					},
				},
				&keyvault.KeyVaultAccessPolicyArgs{
					TenantId: exampleServer.Identity.ApplyT(func(identity mssql.ServerIdentity) (string, error) {
						return identity.TenantId, nil
					}).(pulumi.StringOutput),
					ObjectId: exampleServer.Identity.ApplyT(func(identity mssql.ServerIdentity) (string, error) {
						return identity.PrincipalId, nil
					}).(pulumi.StringOutput),
					KeyPermissions: pulumi.StringArray{
						pulumi.String("Get"),
						pulumi.String("WrapKey"),
						pulumi.String("UnwrapKey"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		exampleKey, err := keyvault.NewKey(ctx, "exampleKey", &keyvault.KeyArgs{
			KeyVaultId: exampleKeyVault.ID(),
			KeyType:    pulumi.String("RSA"),
			KeySize:    pulumi.Int(2048),
			KeyOpts: pulumi.StringArray{
				pulumi.String("unwrapKey"),
				pulumi.String("wrapKey"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleKeyVault,
		}))
		if err != nil {
			return err
		}
		_, err = mssql.NewServerTransparentDataEncryption(ctx, "exampleServerTransparentDataEncryption", &mssql.ServerTransparentDataEncryptionArgs{
			ServerId:      exampleServer.ID(),
			KeyVaultKeyId: exampleKey.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SQL Server Transparent Data Encryption can be imported using the resource id, e.g.

```sh

$ pulumi import azure:mssql/serverTransparentDataEncryption:ServerTransparentDataEncryption example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/encryptionProtector/current

```

func GetServerTransparentDataEncryption added in v4.1.0

func GetServerTransparentDataEncryption(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerTransparentDataEncryptionState, opts ...pulumi.ResourceOption) (*ServerTransparentDataEncryption, error)

GetServerTransparentDataEncryption gets an existing ServerTransparentDataEncryption 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 NewServerTransparentDataEncryption added in v4.1.0

func NewServerTransparentDataEncryption(ctx *pulumi.Context,
	name string, args *ServerTransparentDataEncryptionArgs, opts ...pulumi.ResourceOption) (*ServerTransparentDataEncryption, error)

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

func (*ServerTransparentDataEncryption) ElementType added in v4.1.0

func (*ServerTransparentDataEncryption) ToServerTransparentDataEncryptionOutput added in v4.1.0

func (i *ServerTransparentDataEncryption) ToServerTransparentDataEncryptionOutput() ServerTransparentDataEncryptionOutput

func (*ServerTransparentDataEncryption) ToServerTransparentDataEncryptionOutputWithContext added in v4.1.0

func (i *ServerTransparentDataEncryption) ToServerTransparentDataEncryptionOutputWithContext(ctx context.Context) ServerTransparentDataEncryptionOutput

type ServerTransparentDataEncryptionArgs added in v4.1.0

type ServerTransparentDataEncryptionArgs struct {
	// To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.
	KeyVaultKeyId pulumi.StringPtrInput
	// Specifies the name of the MS SQL Server.
	ServerId pulumi.StringInput
}

The set of arguments for constructing a ServerTransparentDataEncryption resource.

func (ServerTransparentDataEncryptionArgs) ElementType added in v4.1.0

type ServerTransparentDataEncryptionArray added in v4.1.0

type ServerTransparentDataEncryptionArray []ServerTransparentDataEncryptionInput

func (ServerTransparentDataEncryptionArray) ElementType added in v4.1.0

func (ServerTransparentDataEncryptionArray) ToServerTransparentDataEncryptionArrayOutput added in v4.1.0

func (i ServerTransparentDataEncryptionArray) ToServerTransparentDataEncryptionArrayOutput() ServerTransparentDataEncryptionArrayOutput

func (ServerTransparentDataEncryptionArray) ToServerTransparentDataEncryptionArrayOutputWithContext added in v4.1.0

func (i ServerTransparentDataEncryptionArray) ToServerTransparentDataEncryptionArrayOutputWithContext(ctx context.Context) ServerTransparentDataEncryptionArrayOutput

type ServerTransparentDataEncryptionArrayInput added in v4.1.0

type ServerTransparentDataEncryptionArrayInput interface {
	pulumi.Input

	ToServerTransparentDataEncryptionArrayOutput() ServerTransparentDataEncryptionArrayOutput
	ToServerTransparentDataEncryptionArrayOutputWithContext(context.Context) ServerTransparentDataEncryptionArrayOutput
}

ServerTransparentDataEncryptionArrayInput is an input type that accepts ServerTransparentDataEncryptionArray and ServerTransparentDataEncryptionArrayOutput values. You can construct a concrete instance of `ServerTransparentDataEncryptionArrayInput` via:

ServerTransparentDataEncryptionArray{ ServerTransparentDataEncryptionArgs{...} }

type ServerTransparentDataEncryptionArrayOutput added in v4.1.0

type ServerTransparentDataEncryptionArrayOutput struct{ *pulumi.OutputState }

func (ServerTransparentDataEncryptionArrayOutput) ElementType added in v4.1.0

func (ServerTransparentDataEncryptionArrayOutput) Index added in v4.1.0

func (ServerTransparentDataEncryptionArrayOutput) ToServerTransparentDataEncryptionArrayOutput added in v4.1.0

func (o ServerTransparentDataEncryptionArrayOutput) ToServerTransparentDataEncryptionArrayOutput() ServerTransparentDataEncryptionArrayOutput

func (ServerTransparentDataEncryptionArrayOutput) ToServerTransparentDataEncryptionArrayOutputWithContext added in v4.1.0

func (o ServerTransparentDataEncryptionArrayOutput) ToServerTransparentDataEncryptionArrayOutputWithContext(ctx context.Context) ServerTransparentDataEncryptionArrayOutput

type ServerTransparentDataEncryptionInput added in v4.1.0

type ServerTransparentDataEncryptionInput interface {
	pulumi.Input

	ToServerTransparentDataEncryptionOutput() ServerTransparentDataEncryptionOutput
	ToServerTransparentDataEncryptionOutputWithContext(ctx context.Context) ServerTransparentDataEncryptionOutput
}

type ServerTransparentDataEncryptionMap added in v4.1.0

type ServerTransparentDataEncryptionMap map[string]ServerTransparentDataEncryptionInput

func (ServerTransparentDataEncryptionMap) ElementType added in v4.1.0

func (ServerTransparentDataEncryptionMap) ToServerTransparentDataEncryptionMapOutput added in v4.1.0

func (i ServerTransparentDataEncryptionMap) ToServerTransparentDataEncryptionMapOutput() ServerTransparentDataEncryptionMapOutput

func (ServerTransparentDataEncryptionMap) ToServerTransparentDataEncryptionMapOutputWithContext added in v4.1.0

func (i ServerTransparentDataEncryptionMap) ToServerTransparentDataEncryptionMapOutputWithContext(ctx context.Context) ServerTransparentDataEncryptionMapOutput

type ServerTransparentDataEncryptionMapInput added in v4.1.0

type ServerTransparentDataEncryptionMapInput interface {
	pulumi.Input

	ToServerTransparentDataEncryptionMapOutput() ServerTransparentDataEncryptionMapOutput
	ToServerTransparentDataEncryptionMapOutputWithContext(context.Context) ServerTransparentDataEncryptionMapOutput
}

ServerTransparentDataEncryptionMapInput is an input type that accepts ServerTransparentDataEncryptionMap and ServerTransparentDataEncryptionMapOutput values. You can construct a concrete instance of `ServerTransparentDataEncryptionMapInput` via:

ServerTransparentDataEncryptionMap{ "key": ServerTransparentDataEncryptionArgs{...} }

type ServerTransparentDataEncryptionMapOutput added in v4.1.0

type ServerTransparentDataEncryptionMapOutput struct{ *pulumi.OutputState }

func (ServerTransparentDataEncryptionMapOutput) ElementType added in v4.1.0

func (ServerTransparentDataEncryptionMapOutput) MapIndex added in v4.1.0

func (ServerTransparentDataEncryptionMapOutput) ToServerTransparentDataEncryptionMapOutput added in v4.1.0

func (o ServerTransparentDataEncryptionMapOutput) ToServerTransparentDataEncryptionMapOutput() ServerTransparentDataEncryptionMapOutput

func (ServerTransparentDataEncryptionMapOutput) ToServerTransparentDataEncryptionMapOutputWithContext added in v4.1.0

func (o ServerTransparentDataEncryptionMapOutput) ToServerTransparentDataEncryptionMapOutputWithContext(ctx context.Context) ServerTransparentDataEncryptionMapOutput

type ServerTransparentDataEncryptionOutput added in v4.1.0

type ServerTransparentDataEncryptionOutput struct{ *pulumi.OutputState }

func (ServerTransparentDataEncryptionOutput) ElementType added in v4.1.0

func (ServerTransparentDataEncryptionOutput) ToServerTransparentDataEncryptionOutput added in v4.1.0

func (o ServerTransparentDataEncryptionOutput) ToServerTransparentDataEncryptionOutput() ServerTransparentDataEncryptionOutput

func (ServerTransparentDataEncryptionOutput) ToServerTransparentDataEncryptionOutputWithContext added in v4.1.0

func (o ServerTransparentDataEncryptionOutput) ToServerTransparentDataEncryptionOutputWithContext(ctx context.Context) ServerTransparentDataEncryptionOutput

type ServerTransparentDataEncryptionState added in v4.1.0

type ServerTransparentDataEncryptionState struct {
	// To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.
	KeyVaultKeyId pulumi.StringPtrInput
	// Specifies the name of the MS SQL Server.
	ServerId pulumi.StringPtrInput
}

func (ServerTransparentDataEncryptionState) ElementType added in v4.1.0

type ServerVulnerabilityAssessment

type ServerVulnerabilityAssessment struct {
	pulumi.CustomResourceState

	// The recurring scans settings. The `recurringScans` block supports fields documented below.
	RecurringScans ServerVulnerabilityAssessmentRecurringScansOutput `pulumi:"recurringScans"`
	// The id of the security alert policy of the MS SQL Server. Changing this forces a new resource to be created.
	ServerSecurityAlertPolicyId pulumi.StringOutput `pulumi:"serverSecurityAlertPolicyId"`
	// Specifies the identifier key of the storage account for vulnerability assessment scan results. If `storageContainerSasKey` isn't specified, `storageAccountAccessKey` is required.
	StorageAccountAccessKey pulumi.StringPtrOutput `pulumi:"storageAccountAccessKey"`
	// A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/).
	StorageContainerPath pulumi.StringOutput `pulumi:"storageContainerPath"`
	// A shared access signature (SAS Key) that has write access to the blob container specified in `storageContainerPath` parameter. If `storageAccountAccessKey` isn't specified, `storageContainerSasKey` is required.
	StorageContainerSasKey pulumi.StringPtrOutput `pulumi:"storageContainerSasKey"`
}

Manages the Vulnerability Assessment for a MS SQL Server.

> **NOTE** Vulnerability Assessment is currently only available for MS SQL databases.

## Example Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleSqlServer, err := sql.NewSqlServer(ctx, "exampleSqlServer", &sql.SqlServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
			ResourceGroupName:      exampleResourceGroup.Name,
			Location:               exampleResourceGroup.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("GRS"),
		})
		if err != nil {
			return err
		}
		exampleContainer, err := storage.NewContainer(ctx, "exampleContainer", &storage.ContainerArgs{
			StorageAccountName:  exampleAccount.Name,
			ContainerAccessType: pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		exampleServerSecurityAlertPolicy, err := mssql.NewServerSecurityAlertPolicy(ctx, "exampleServerSecurityAlertPolicy", &mssql.ServerSecurityAlertPolicyArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			ServerName:        exampleSqlServer.Name,
			State:             pulumi.String("Enabled"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewServerVulnerabilityAssessment(ctx, "exampleServerVulnerabilityAssessment", &mssql.ServerVulnerabilityAssessmentArgs{
			ServerSecurityAlertPolicyId: exampleServerSecurityAlertPolicy.ID(),
			StorageContainerPath: pulumi.All(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).ApplyT(func(_args []interface{}) (string, error) {
				primaryBlobEndpoint := _args[0].(string)
				name := _args[1].(string)
				return fmt.Sprintf("%v%v%v", primaryBlobEndpoint, name, "/"), nil
			}).(pulumi.StringOutput),
			StorageAccountAccessKey: exampleAccount.PrimaryAccessKey,
			RecurringScans: &mssql.ServerVulnerabilityAssessmentRecurringScansArgs{
				Enabled:                 pulumi.Bool(true),
				EmailSubscriptionAdmins: pulumi.Bool(true),
				Emails: pulumi.StringArray{
					pulumi.String("email@example1.com"),
					pulumi.String("email@example2.com"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

MS SQL Server Vulnerability Assessment can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:mssql/serverVulnerabilityAssessment:ServerVulnerabilityAssessment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acceptanceTestResourceGroup1/providers/Microsoft.Sql/servers/mssqlserver/vulnerabilityAssessments/Default

```

func GetServerVulnerabilityAssessment

func GetServerVulnerabilityAssessment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerVulnerabilityAssessmentState, opts ...pulumi.ResourceOption) (*ServerVulnerabilityAssessment, error)

GetServerVulnerabilityAssessment gets an existing ServerVulnerabilityAssessment 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 NewServerVulnerabilityAssessment

func NewServerVulnerabilityAssessment(ctx *pulumi.Context,
	name string, args *ServerVulnerabilityAssessmentArgs, opts ...pulumi.ResourceOption) (*ServerVulnerabilityAssessment, error)

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

func (*ServerVulnerabilityAssessment) ElementType

func (*ServerVulnerabilityAssessment) ToServerVulnerabilityAssessmentOutput

func (i *ServerVulnerabilityAssessment) ToServerVulnerabilityAssessmentOutput() ServerVulnerabilityAssessmentOutput

func (*ServerVulnerabilityAssessment) ToServerVulnerabilityAssessmentOutputWithContext

func (i *ServerVulnerabilityAssessment) ToServerVulnerabilityAssessmentOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentOutput

type ServerVulnerabilityAssessmentArgs

type ServerVulnerabilityAssessmentArgs struct {
	// The recurring scans settings. The `recurringScans` block supports fields documented below.
	RecurringScans ServerVulnerabilityAssessmentRecurringScansPtrInput
	// The id of the security alert policy of the MS SQL Server. Changing this forces a new resource to be created.
	ServerSecurityAlertPolicyId pulumi.StringInput
	// Specifies the identifier key of the storage account for vulnerability assessment scan results. If `storageContainerSasKey` isn't specified, `storageAccountAccessKey` is required.
	StorageAccountAccessKey pulumi.StringPtrInput
	// A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/).
	StorageContainerPath pulumi.StringInput
	// A shared access signature (SAS Key) that has write access to the blob container specified in `storageContainerPath` parameter. If `storageAccountAccessKey` isn't specified, `storageContainerSasKey` is required.
	StorageContainerSasKey pulumi.StringPtrInput
}

The set of arguments for constructing a ServerVulnerabilityAssessment resource.

func (ServerVulnerabilityAssessmentArgs) ElementType

type ServerVulnerabilityAssessmentArray

type ServerVulnerabilityAssessmentArray []ServerVulnerabilityAssessmentInput

func (ServerVulnerabilityAssessmentArray) ElementType

func (ServerVulnerabilityAssessmentArray) ToServerVulnerabilityAssessmentArrayOutput

func (i ServerVulnerabilityAssessmentArray) ToServerVulnerabilityAssessmentArrayOutput() ServerVulnerabilityAssessmentArrayOutput

func (ServerVulnerabilityAssessmentArray) ToServerVulnerabilityAssessmentArrayOutputWithContext

func (i ServerVulnerabilityAssessmentArray) ToServerVulnerabilityAssessmentArrayOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentArrayOutput

type ServerVulnerabilityAssessmentArrayInput

type ServerVulnerabilityAssessmentArrayInput interface {
	pulumi.Input

	ToServerVulnerabilityAssessmentArrayOutput() ServerVulnerabilityAssessmentArrayOutput
	ToServerVulnerabilityAssessmentArrayOutputWithContext(context.Context) ServerVulnerabilityAssessmentArrayOutput
}

ServerVulnerabilityAssessmentArrayInput is an input type that accepts ServerVulnerabilityAssessmentArray and ServerVulnerabilityAssessmentArrayOutput values. You can construct a concrete instance of `ServerVulnerabilityAssessmentArrayInput` via:

ServerVulnerabilityAssessmentArray{ ServerVulnerabilityAssessmentArgs{...} }

type ServerVulnerabilityAssessmentArrayOutput

type ServerVulnerabilityAssessmentArrayOutput struct{ *pulumi.OutputState }

func (ServerVulnerabilityAssessmentArrayOutput) ElementType

func (ServerVulnerabilityAssessmentArrayOutput) Index

func (ServerVulnerabilityAssessmentArrayOutput) ToServerVulnerabilityAssessmentArrayOutput

func (o ServerVulnerabilityAssessmentArrayOutput) ToServerVulnerabilityAssessmentArrayOutput() ServerVulnerabilityAssessmentArrayOutput

func (ServerVulnerabilityAssessmentArrayOutput) ToServerVulnerabilityAssessmentArrayOutputWithContext

func (o ServerVulnerabilityAssessmentArrayOutput) ToServerVulnerabilityAssessmentArrayOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentArrayOutput

type ServerVulnerabilityAssessmentInput

type ServerVulnerabilityAssessmentInput interface {
	pulumi.Input

	ToServerVulnerabilityAssessmentOutput() ServerVulnerabilityAssessmentOutput
	ToServerVulnerabilityAssessmentOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentOutput
}

type ServerVulnerabilityAssessmentMap

type ServerVulnerabilityAssessmentMap map[string]ServerVulnerabilityAssessmentInput

func (ServerVulnerabilityAssessmentMap) ElementType

func (ServerVulnerabilityAssessmentMap) ToServerVulnerabilityAssessmentMapOutput

func (i ServerVulnerabilityAssessmentMap) ToServerVulnerabilityAssessmentMapOutput() ServerVulnerabilityAssessmentMapOutput

func (ServerVulnerabilityAssessmentMap) ToServerVulnerabilityAssessmentMapOutputWithContext

func (i ServerVulnerabilityAssessmentMap) ToServerVulnerabilityAssessmentMapOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentMapOutput

type ServerVulnerabilityAssessmentMapInput

type ServerVulnerabilityAssessmentMapInput interface {
	pulumi.Input

	ToServerVulnerabilityAssessmentMapOutput() ServerVulnerabilityAssessmentMapOutput
	ToServerVulnerabilityAssessmentMapOutputWithContext(context.Context) ServerVulnerabilityAssessmentMapOutput
}

ServerVulnerabilityAssessmentMapInput is an input type that accepts ServerVulnerabilityAssessmentMap and ServerVulnerabilityAssessmentMapOutput values. You can construct a concrete instance of `ServerVulnerabilityAssessmentMapInput` via:

ServerVulnerabilityAssessmentMap{ "key": ServerVulnerabilityAssessmentArgs{...} }

type ServerVulnerabilityAssessmentMapOutput

type ServerVulnerabilityAssessmentMapOutput struct{ *pulumi.OutputState }

func (ServerVulnerabilityAssessmentMapOutput) ElementType

func (ServerVulnerabilityAssessmentMapOutput) MapIndex

func (ServerVulnerabilityAssessmentMapOutput) ToServerVulnerabilityAssessmentMapOutput

func (o ServerVulnerabilityAssessmentMapOutput) ToServerVulnerabilityAssessmentMapOutput() ServerVulnerabilityAssessmentMapOutput

func (ServerVulnerabilityAssessmentMapOutput) ToServerVulnerabilityAssessmentMapOutputWithContext

func (o ServerVulnerabilityAssessmentMapOutput) ToServerVulnerabilityAssessmentMapOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentMapOutput

type ServerVulnerabilityAssessmentOutput

type ServerVulnerabilityAssessmentOutput struct{ *pulumi.OutputState }

func (ServerVulnerabilityAssessmentOutput) ElementType

func (ServerVulnerabilityAssessmentOutput) ToServerVulnerabilityAssessmentOutput

func (o ServerVulnerabilityAssessmentOutput) ToServerVulnerabilityAssessmentOutput() ServerVulnerabilityAssessmentOutput

func (ServerVulnerabilityAssessmentOutput) ToServerVulnerabilityAssessmentOutputWithContext

func (o ServerVulnerabilityAssessmentOutput) ToServerVulnerabilityAssessmentOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentOutput

type ServerVulnerabilityAssessmentRecurringScans

type ServerVulnerabilityAssessmentRecurringScans struct {
	// Boolean flag which specifies if the schedule scan notification will be sent to the subscription administrators. Defaults to `false`.
	EmailSubscriptionAdmins *bool `pulumi:"emailSubscriptionAdmins"`
	// Specifies an array of e-mail addresses to which the scan notification is sent.
	Emails []string `pulumi:"emails"`
	// Boolean flag which specifies if recurring scans is enabled or disabled. Defaults to `false`.
	Enabled *bool `pulumi:"enabled"`
}

type ServerVulnerabilityAssessmentRecurringScansArgs

type ServerVulnerabilityAssessmentRecurringScansArgs struct {
	// Boolean flag which specifies if the schedule scan notification will be sent to the subscription administrators. Defaults to `false`.
	EmailSubscriptionAdmins pulumi.BoolPtrInput `pulumi:"emailSubscriptionAdmins"`
	// Specifies an array of e-mail addresses to which the scan notification is sent.
	Emails pulumi.StringArrayInput `pulumi:"emails"`
	// Boolean flag which specifies if recurring scans is enabled or disabled. Defaults to `false`.
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
}

func (ServerVulnerabilityAssessmentRecurringScansArgs) ElementType

func (ServerVulnerabilityAssessmentRecurringScansArgs) ToServerVulnerabilityAssessmentRecurringScansOutput

func (i ServerVulnerabilityAssessmentRecurringScansArgs) ToServerVulnerabilityAssessmentRecurringScansOutput() ServerVulnerabilityAssessmentRecurringScansOutput

func (ServerVulnerabilityAssessmentRecurringScansArgs) ToServerVulnerabilityAssessmentRecurringScansOutputWithContext

func (i ServerVulnerabilityAssessmentRecurringScansArgs) ToServerVulnerabilityAssessmentRecurringScansOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentRecurringScansOutput

func (ServerVulnerabilityAssessmentRecurringScansArgs) ToServerVulnerabilityAssessmentRecurringScansPtrOutput

func (i ServerVulnerabilityAssessmentRecurringScansArgs) ToServerVulnerabilityAssessmentRecurringScansPtrOutput() ServerVulnerabilityAssessmentRecurringScansPtrOutput

func (ServerVulnerabilityAssessmentRecurringScansArgs) ToServerVulnerabilityAssessmentRecurringScansPtrOutputWithContext

func (i ServerVulnerabilityAssessmentRecurringScansArgs) ToServerVulnerabilityAssessmentRecurringScansPtrOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentRecurringScansPtrOutput

type ServerVulnerabilityAssessmentRecurringScansInput

type ServerVulnerabilityAssessmentRecurringScansInput interface {
	pulumi.Input

	ToServerVulnerabilityAssessmentRecurringScansOutput() ServerVulnerabilityAssessmentRecurringScansOutput
	ToServerVulnerabilityAssessmentRecurringScansOutputWithContext(context.Context) ServerVulnerabilityAssessmentRecurringScansOutput
}

ServerVulnerabilityAssessmentRecurringScansInput is an input type that accepts ServerVulnerabilityAssessmentRecurringScansArgs and ServerVulnerabilityAssessmentRecurringScansOutput values. You can construct a concrete instance of `ServerVulnerabilityAssessmentRecurringScansInput` via:

ServerVulnerabilityAssessmentRecurringScansArgs{...}

type ServerVulnerabilityAssessmentRecurringScansOutput

type ServerVulnerabilityAssessmentRecurringScansOutput struct{ *pulumi.OutputState }

func (ServerVulnerabilityAssessmentRecurringScansOutput) ElementType

func (ServerVulnerabilityAssessmentRecurringScansOutput) EmailSubscriptionAdmins

Boolean flag which specifies if the schedule scan notification will be sent to the subscription administrators. Defaults to `false`.

func (ServerVulnerabilityAssessmentRecurringScansOutput) Emails

Specifies an array of e-mail addresses to which the scan notification is sent.

func (ServerVulnerabilityAssessmentRecurringScansOutput) Enabled

Boolean flag which specifies if recurring scans is enabled or disabled. Defaults to `false`.

func (ServerVulnerabilityAssessmentRecurringScansOutput) ToServerVulnerabilityAssessmentRecurringScansOutput

func (o ServerVulnerabilityAssessmentRecurringScansOutput) ToServerVulnerabilityAssessmentRecurringScansOutput() ServerVulnerabilityAssessmentRecurringScansOutput

func (ServerVulnerabilityAssessmentRecurringScansOutput) ToServerVulnerabilityAssessmentRecurringScansOutputWithContext

func (o ServerVulnerabilityAssessmentRecurringScansOutput) ToServerVulnerabilityAssessmentRecurringScansOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentRecurringScansOutput

func (ServerVulnerabilityAssessmentRecurringScansOutput) ToServerVulnerabilityAssessmentRecurringScansPtrOutput

func (o ServerVulnerabilityAssessmentRecurringScansOutput) ToServerVulnerabilityAssessmentRecurringScansPtrOutput() ServerVulnerabilityAssessmentRecurringScansPtrOutput

func (ServerVulnerabilityAssessmentRecurringScansOutput) ToServerVulnerabilityAssessmentRecurringScansPtrOutputWithContext

func (o ServerVulnerabilityAssessmentRecurringScansOutput) ToServerVulnerabilityAssessmentRecurringScansPtrOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentRecurringScansPtrOutput

type ServerVulnerabilityAssessmentRecurringScansPtrInput

type ServerVulnerabilityAssessmentRecurringScansPtrInput interface {
	pulumi.Input

	ToServerVulnerabilityAssessmentRecurringScansPtrOutput() ServerVulnerabilityAssessmentRecurringScansPtrOutput
	ToServerVulnerabilityAssessmentRecurringScansPtrOutputWithContext(context.Context) ServerVulnerabilityAssessmentRecurringScansPtrOutput
}

ServerVulnerabilityAssessmentRecurringScansPtrInput is an input type that accepts ServerVulnerabilityAssessmentRecurringScansArgs, ServerVulnerabilityAssessmentRecurringScansPtr and ServerVulnerabilityAssessmentRecurringScansPtrOutput values. You can construct a concrete instance of `ServerVulnerabilityAssessmentRecurringScansPtrInput` via:

        ServerVulnerabilityAssessmentRecurringScansArgs{...}

or:

        nil

type ServerVulnerabilityAssessmentRecurringScansPtrOutput

type ServerVulnerabilityAssessmentRecurringScansPtrOutput struct{ *pulumi.OutputState }

func (ServerVulnerabilityAssessmentRecurringScansPtrOutput) Elem

func (ServerVulnerabilityAssessmentRecurringScansPtrOutput) ElementType

func (ServerVulnerabilityAssessmentRecurringScansPtrOutput) EmailSubscriptionAdmins

Boolean flag which specifies if the schedule scan notification will be sent to the subscription administrators. Defaults to `false`.

func (ServerVulnerabilityAssessmentRecurringScansPtrOutput) Emails

Specifies an array of e-mail addresses to which the scan notification is sent.

func (ServerVulnerabilityAssessmentRecurringScansPtrOutput) Enabled

Boolean flag which specifies if recurring scans is enabled or disabled. Defaults to `false`.

func (ServerVulnerabilityAssessmentRecurringScansPtrOutput) ToServerVulnerabilityAssessmentRecurringScansPtrOutput

func (ServerVulnerabilityAssessmentRecurringScansPtrOutput) ToServerVulnerabilityAssessmentRecurringScansPtrOutputWithContext

func (o ServerVulnerabilityAssessmentRecurringScansPtrOutput) ToServerVulnerabilityAssessmentRecurringScansPtrOutputWithContext(ctx context.Context) ServerVulnerabilityAssessmentRecurringScansPtrOutput

type ServerVulnerabilityAssessmentState

type ServerVulnerabilityAssessmentState struct {
	// The recurring scans settings. The `recurringScans` block supports fields documented below.
	RecurringScans ServerVulnerabilityAssessmentRecurringScansPtrInput
	// The id of the security alert policy of the MS SQL Server. Changing this forces a new resource to be created.
	ServerSecurityAlertPolicyId pulumi.StringPtrInput
	// Specifies the identifier key of the storage account for vulnerability assessment scan results. If `storageContainerSasKey` isn't specified, `storageAccountAccessKey` is required.
	StorageAccountAccessKey pulumi.StringPtrInput
	// A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/).
	StorageContainerPath pulumi.StringPtrInput
	// A shared access signature (SAS Key) that has write access to the blob container specified in `storageContainerPath` parameter. If `storageAccountAccessKey` isn't specified, `storageContainerSasKey` is required.
	StorageContainerSasKey pulumi.StringPtrInput
}

func (ServerVulnerabilityAssessmentState) ElementType

type VirtualMachine

type VirtualMachine struct {
	pulumi.CustomResourceState

	// An `autoBackup` block as defined below. This block can be added to an existing resource, but removing this block forces a new resource to be created.
	AutoBackup VirtualMachineAutoBackupPtrOutput `pulumi:"autoBackup"`
	// An `autoPatching` block as defined below.
	AutoPatching VirtualMachineAutoPatchingPtrOutput `pulumi:"autoPatching"`
	// (Optional) An `keyVaultCredential` block as defined below.
	KeyVaultCredential VirtualMachineKeyVaultCredentialPtrOutput `pulumi:"keyVaultCredential"`
	// Should R Services be enabled?
	RServicesEnabled pulumi.BoolPtrOutput `pulumi:"rServicesEnabled"`
	// The SQL Server port. Defaults to `1433`.
	SqlConnectivityPort pulumi.IntPtrOutput `pulumi:"sqlConnectivityPort"`
	// The connectivity type used for this SQL Server. Defaults to `PRIVATE`.
	SqlConnectivityType pulumi.StringPtrOutput `pulumi:"sqlConnectivityType"`
	// The SQL Server sysadmin login password.
	SqlConnectivityUpdatePassword pulumi.StringPtrOutput `pulumi:"sqlConnectivityUpdatePassword"`
	// The SQL Server sysadmin login to create.
	SqlConnectivityUpdateUsername pulumi.StringPtrOutput `pulumi:"sqlConnectivityUpdateUsername"`
	// The SQL Server license type. Possible values are `AHUB` (Azure Hybrid Benefit), `DR` (Disaster Recovery), and `PAYG` (Pay-As-You-Go). Changing this forces a new resource to be created.
	SqlLicenseType pulumi.StringOutput `pulumi:"sqlLicenseType"`
	// An `storageConfiguration` block as defined below.
	StorageConfiguration VirtualMachineStorageConfigurationPtrOutput `pulumi:"storageConfiguration"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The ID of the Virtual Machine. Changing this forces a new resource to be created.
	VirtualMachineId pulumi.StringOutput `pulumi:"virtualMachineId"`
}

Manages a Microsoft SQL Virtual Machine

## Example Usage

This example provisions a brief Managed MsSql Virtual Machine.

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleVirtualMachine, err := compute.LookupVirtualMachine(ctx, &compute.LookupVirtualMachineArgs{
			Name:              "example-vm",
			ResourceGroupName: "example-resources",
		}, nil)
		if err != nil {
			return err
		}
		_, err = mssql.NewVirtualMachine(ctx, "exampleMssql/virtualMachineVirtualMachine", &mssql.VirtualMachineArgs{
			VirtualMachineId:              pulumi.String(exampleVirtualMachine.Id),
			SqlLicenseType:                pulumi.String("PAYG"),
			RServicesEnabled:              pulumi.Bool(true),
			SqlConnectivityPort:           pulumi.Int(1433),
			SqlConnectivityType:           pulumi.String("PRIVATE"),
			SqlConnectivityUpdatePassword: pulumi.String("Password1234!"),
			SqlConnectivityUpdateUsername: pulumi.String("sqllogin"),
			AutoPatching: &mssql.VirtualMachineAutoPatchingArgs{
				DayOfWeek:                          pulumi.String("Sunday"),
				MaintenanceWindowDurationInMinutes: pulumi.Int(60),
				MaintenanceWindowStartingHour:      pulumi.Int(2),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Sql Virtual Machines can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:mssql/virtualMachine:VirtualMachine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/example1

```

func GetVirtualMachine

func GetVirtualMachine(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VirtualMachineState, opts ...pulumi.ResourceOption) (*VirtualMachine, error)

GetVirtualMachine gets an existing VirtualMachine 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 NewVirtualMachine

func NewVirtualMachine(ctx *pulumi.Context,
	name string, args *VirtualMachineArgs, opts ...pulumi.ResourceOption) (*VirtualMachine, error)

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

func (*VirtualMachine) ElementType

func (*VirtualMachine) ElementType() reflect.Type

func (*VirtualMachine) ToVirtualMachineOutput

func (i *VirtualMachine) ToVirtualMachineOutput() VirtualMachineOutput

func (*VirtualMachine) ToVirtualMachineOutputWithContext

func (i *VirtualMachine) ToVirtualMachineOutputWithContext(ctx context.Context) VirtualMachineOutput

type VirtualMachineArgs

type VirtualMachineArgs struct {
	// An `autoBackup` block as defined below. This block can be added to an existing resource, but removing this block forces a new resource to be created.
	AutoBackup VirtualMachineAutoBackupPtrInput
	// An `autoPatching` block as defined below.
	AutoPatching VirtualMachineAutoPatchingPtrInput
	// (Optional) An `keyVaultCredential` block as defined below.
	KeyVaultCredential VirtualMachineKeyVaultCredentialPtrInput
	// Should R Services be enabled?
	RServicesEnabled pulumi.BoolPtrInput
	// The SQL Server port. Defaults to `1433`.
	SqlConnectivityPort pulumi.IntPtrInput
	// The connectivity type used for this SQL Server. Defaults to `PRIVATE`.
	SqlConnectivityType pulumi.StringPtrInput
	// The SQL Server sysadmin login password.
	SqlConnectivityUpdatePassword pulumi.StringPtrInput
	// The SQL Server sysadmin login to create.
	SqlConnectivityUpdateUsername pulumi.StringPtrInput
	// The SQL Server license type. Possible values are `AHUB` (Azure Hybrid Benefit), `DR` (Disaster Recovery), and `PAYG` (Pay-As-You-Go). Changing this forces a new resource to be created.
	SqlLicenseType pulumi.StringInput
	// An `storageConfiguration` block as defined below.
	StorageConfiguration VirtualMachineStorageConfigurationPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The ID of the Virtual Machine. Changing this forces a new resource to be created.
	VirtualMachineId pulumi.StringInput
}

The set of arguments for constructing a VirtualMachine resource.

func (VirtualMachineArgs) ElementType

func (VirtualMachineArgs) ElementType() reflect.Type

type VirtualMachineArray

type VirtualMachineArray []VirtualMachineInput

func (VirtualMachineArray) ElementType

func (VirtualMachineArray) ElementType() reflect.Type

func (VirtualMachineArray) ToVirtualMachineArrayOutput

func (i VirtualMachineArray) ToVirtualMachineArrayOutput() VirtualMachineArrayOutput

func (VirtualMachineArray) ToVirtualMachineArrayOutputWithContext

func (i VirtualMachineArray) ToVirtualMachineArrayOutputWithContext(ctx context.Context) VirtualMachineArrayOutput

type VirtualMachineArrayInput

type VirtualMachineArrayInput interface {
	pulumi.Input

	ToVirtualMachineArrayOutput() VirtualMachineArrayOutput
	ToVirtualMachineArrayOutputWithContext(context.Context) VirtualMachineArrayOutput
}

VirtualMachineArrayInput is an input type that accepts VirtualMachineArray and VirtualMachineArrayOutput values. You can construct a concrete instance of `VirtualMachineArrayInput` via:

VirtualMachineArray{ VirtualMachineArgs{...} }

type VirtualMachineArrayOutput

type VirtualMachineArrayOutput struct{ *pulumi.OutputState }

func (VirtualMachineArrayOutput) ElementType

func (VirtualMachineArrayOutput) ElementType() reflect.Type

func (VirtualMachineArrayOutput) Index

func (VirtualMachineArrayOutput) ToVirtualMachineArrayOutput

func (o VirtualMachineArrayOutput) ToVirtualMachineArrayOutput() VirtualMachineArrayOutput

func (VirtualMachineArrayOutput) ToVirtualMachineArrayOutputWithContext

func (o VirtualMachineArrayOutput) ToVirtualMachineArrayOutputWithContext(ctx context.Context) VirtualMachineArrayOutput

type VirtualMachineAutoBackup

type VirtualMachineAutoBackup struct {
	// Enable or disable encryption for backups. Defaults to `false`.
	EncryptionEnabled *bool `pulumi:"encryptionEnabled"`
	// Encryption password to use. Must be specified when encryption is enabled.
	EncryptionPassword *string `pulumi:"encryptionPassword"`
	// A `manualSchedule` block as documented below. When this block is present, the schedule type is set to `Manual`. Without this block, the schedule type is set to `Automated`.
	ManualSchedule *VirtualMachineAutoBackupManualSchedule `pulumi:"manualSchedule"`
	// Retention period of backups, in days. Valid values are from `1` to `30`.
	RetentionPeriodInDays int `pulumi:"retentionPeriodInDays"`
	// Access key for the storage account where backups will be kept.
	StorageAccountAccessKey string `pulumi:"storageAccountAccessKey"`
	// Blob endpoint for the storage account where backups will be kept.
	StorageBlobEndpoint string `pulumi:"storageBlobEndpoint"`
	// Include or exclude system databases from auto backup. Defaults to `false`.
	SystemDatabasesBackupEnabled *bool `pulumi:"systemDatabasesBackupEnabled"`
}

type VirtualMachineAutoBackupArgs

type VirtualMachineAutoBackupArgs struct {
	// Enable or disable encryption for backups. Defaults to `false`.
	EncryptionEnabled pulumi.BoolPtrInput `pulumi:"encryptionEnabled"`
	// Encryption password to use. Must be specified when encryption is enabled.
	EncryptionPassword pulumi.StringPtrInput `pulumi:"encryptionPassword"`
	// A `manualSchedule` block as documented below. When this block is present, the schedule type is set to `Manual`. Without this block, the schedule type is set to `Automated`.
	ManualSchedule VirtualMachineAutoBackupManualSchedulePtrInput `pulumi:"manualSchedule"`
	// Retention period of backups, in days. Valid values are from `1` to `30`.
	RetentionPeriodInDays pulumi.IntInput `pulumi:"retentionPeriodInDays"`
	// Access key for the storage account where backups will be kept.
	StorageAccountAccessKey pulumi.StringInput `pulumi:"storageAccountAccessKey"`
	// Blob endpoint for the storage account where backups will be kept.
	StorageBlobEndpoint pulumi.StringInput `pulumi:"storageBlobEndpoint"`
	// Include or exclude system databases from auto backup. Defaults to `false`.
	SystemDatabasesBackupEnabled pulumi.BoolPtrInput `pulumi:"systemDatabasesBackupEnabled"`
}

func (VirtualMachineAutoBackupArgs) ElementType

func (VirtualMachineAutoBackupArgs) ToVirtualMachineAutoBackupOutput

func (i VirtualMachineAutoBackupArgs) ToVirtualMachineAutoBackupOutput() VirtualMachineAutoBackupOutput

func (VirtualMachineAutoBackupArgs) ToVirtualMachineAutoBackupOutputWithContext

func (i VirtualMachineAutoBackupArgs) ToVirtualMachineAutoBackupOutputWithContext(ctx context.Context) VirtualMachineAutoBackupOutput

func (VirtualMachineAutoBackupArgs) ToVirtualMachineAutoBackupPtrOutput

func (i VirtualMachineAutoBackupArgs) ToVirtualMachineAutoBackupPtrOutput() VirtualMachineAutoBackupPtrOutput

func (VirtualMachineAutoBackupArgs) ToVirtualMachineAutoBackupPtrOutputWithContext

func (i VirtualMachineAutoBackupArgs) ToVirtualMachineAutoBackupPtrOutputWithContext(ctx context.Context) VirtualMachineAutoBackupPtrOutput

type VirtualMachineAutoBackupInput

type VirtualMachineAutoBackupInput interface {
	pulumi.Input

	ToVirtualMachineAutoBackupOutput() VirtualMachineAutoBackupOutput
	ToVirtualMachineAutoBackupOutputWithContext(context.Context) VirtualMachineAutoBackupOutput
}

VirtualMachineAutoBackupInput is an input type that accepts VirtualMachineAutoBackupArgs and VirtualMachineAutoBackupOutput values. You can construct a concrete instance of `VirtualMachineAutoBackupInput` via:

VirtualMachineAutoBackupArgs{...}

type VirtualMachineAutoBackupManualSchedule

type VirtualMachineAutoBackupManualSchedule struct {
	// Frequency of full backups. Valid values include `Daily` or `Weekly`. Required when `backupScheduleAutomated` is false.
	FullBackupFrequency string `pulumi:"fullBackupFrequency"`
	// Start hour of a given day during which full backups can take place. Valid values are from `0` to `23`. Required when `backupScheduleAutomated` is false.
	FullBackupStartHour int `pulumi:"fullBackupStartHour"`
	// Duration of the time window of a given day during which full backups can take place, in hours. Valid values are between `1` and `23`. Required when `backupScheduleAutomated` is false.
	FullBackupWindowInHours int `pulumi:"fullBackupWindowInHours"`
	// Frequency of log backups, in minutes. Valid values are from `5` to `60`. Required when `backupScheduleAutomated` is false.
	LogBackupFrequencyInMinutes int `pulumi:"logBackupFrequencyInMinutes"`
}

type VirtualMachineAutoBackupManualScheduleArgs

type VirtualMachineAutoBackupManualScheduleArgs struct {
	// Frequency of full backups. Valid values include `Daily` or `Weekly`. Required when `backupScheduleAutomated` is false.
	FullBackupFrequency pulumi.StringInput `pulumi:"fullBackupFrequency"`
	// Start hour of a given day during which full backups can take place. Valid values are from `0` to `23`. Required when `backupScheduleAutomated` is false.
	FullBackupStartHour pulumi.IntInput `pulumi:"fullBackupStartHour"`
	// Duration of the time window of a given day during which full backups can take place, in hours. Valid values are between `1` and `23`. Required when `backupScheduleAutomated` is false.
	FullBackupWindowInHours pulumi.IntInput `pulumi:"fullBackupWindowInHours"`
	// Frequency of log backups, in minutes. Valid values are from `5` to `60`. Required when `backupScheduleAutomated` is false.
	LogBackupFrequencyInMinutes pulumi.IntInput `pulumi:"logBackupFrequencyInMinutes"`
}

func (VirtualMachineAutoBackupManualScheduleArgs) ElementType

func (VirtualMachineAutoBackupManualScheduleArgs) ToVirtualMachineAutoBackupManualScheduleOutput

func (i VirtualMachineAutoBackupManualScheduleArgs) ToVirtualMachineAutoBackupManualScheduleOutput() VirtualMachineAutoBackupManualScheduleOutput

func (VirtualMachineAutoBackupManualScheduleArgs) ToVirtualMachineAutoBackupManualScheduleOutputWithContext

func (i VirtualMachineAutoBackupManualScheduleArgs) ToVirtualMachineAutoBackupManualScheduleOutputWithContext(ctx context.Context) VirtualMachineAutoBackupManualScheduleOutput

func (VirtualMachineAutoBackupManualScheduleArgs) ToVirtualMachineAutoBackupManualSchedulePtrOutput

func (i VirtualMachineAutoBackupManualScheduleArgs) ToVirtualMachineAutoBackupManualSchedulePtrOutput() VirtualMachineAutoBackupManualSchedulePtrOutput

func (VirtualMachineAutoBackupManualScheduleArgs) ToVirtualMachineAutoBackupManualSchedulePtrOutputWithContext

func (i VirtualMachineAutoBackupManualScheduleArgs) ToVirtualMachineAutoBackupManualSchedulePtrOutputWithContext(ctx context.Context) VirtualMachineAutoBackupManualSchedulePtrOutput

type VirtualMachineAutoBackupManualScheduleInput

type VirtualMachineAutoBackupManualScheduleInput interface {
	pulumi.Input

	ToVirtualMachineAutoBackupManualScheduleOutput() VirtualMachineAutoBackupManualScheduleOutput
	ToVirtualMachineAutoBackupManualScheduleOutputWithContext(context.Context) VirtualMachineAutoBackupManualScheduleOutput
}

VirtualMachineAutoBackupManualScheduleInput is an input type that accepts VirtualMachineAutoBackupManualScheduleArgs and VirtualMachineAutoBackupManualScheduleOutput values. You can construct a concrete instance of `VirtualMachineAutoBackupManualScheduleInput` via:

VirtualMachineAutoBackupManualScheduleArgs{...}

type VirtualMachineAutoBackupManualScheduleOutput

type VirtualMachineAutoBackupManualScheduleOutput struct{ *pulumi.OutputState }

func (VirtualMachineAutoBackupManualScheduleOutput) ElementType

func (VirtualMachineAutoBackupManualScheduleOutput) FullBackupFrequency

Frequency of full backups. Valid values include `Daily` or `Weekly`. Required when `backupScheduleAutomated` is false.

func (VirtualMachineAutoBackupManualScheduleOutput) FullBackupStartHour

Start hour of a given day during which full backups can take place. Valid values are from `0` to `23`. Required when `backupScheduleAutomated` is false.

func (VirtualMachineAutoBackupManualScheduleOutput) FullBackupWindowInHours

Duration of the time window of a given day during which full backups can take place, in hours. Valid values are between `1` and `23`. Required when `backupScheduleAutomated` is false.

func (VirtualMachineAutoBackupManualScheduleOutput) LogBackupFrequencyInMinutes

func (o VirtualMachineAutoBackupManualScheduleOutput) LogBackupFrequencyInMinutes() pulumi.IntOutput

Frequency of log backups, in minutes. Valid values are from `5` to `60`. Required when `backupScheduleAutomated` is false.

func (VirtualMachineAutoBackupManualScheduleOutput) ToVirtualMachineAutoBackupManualScheduleOutput

func (o VirtualMachineAutoBackupManualScheduleOutput) ToVirtualMachineAutoBackupManualScheduleOutput() VirtualMachineAutoBackupManualScheduleOutput

func (VirtualMachineAutoBackupManualScheduleOutput) ToVirtualMachineAutoBackupManualScheduleOutputWithContext

func (o VirtualMachineAutoBackupManualScheduleOutput) ToVirtualMachineAutoBackupManualScheduleOutputWithContext(ctx context.Context) VirtualMachineAutoBackupManualScheduleOutput

func (VirtualMachineAutoBackupManualScheduleOutput) ToVirtualMachineAutoBackupManualSchedulePtrOutput

func (o VirtualMachineAutoBackupManualScheduleOutput) ToVirtualMachineAutoBackupManualSchedulePtrOutput() VirtualMachineAutoBackupManualSchedulePtrOutput

func (VirtualMachineAutoBackupManualScheduleOutput) ToVirtualMachineAutoBackupManualSchedulePtrOutputWithContext

func (o VirtualMachineAutoBackupManualScheduleOutput) ToVirtualMachineAutoBackupManualSchedulePtrOutputWithContext(ctx context.Context) VirtualMachineAutoBackupManualSchedulePtrOutput

type VirtualMachineAutoBackupManualSchedulePtrInput

type VirtualMachineAutoBackupManualSchedulePtrInput interface {
	pulumi.Input

	ToVirtualMachineAutoBackupManualSchedulePtrOutput() VirtualMachineAutoBackupManualSchedulePtrOutput
	ToVirtualMachineAutoBackupManualSchedulePtrOutputWithContext(context.Context) VirtualMachineAutoBackupManualSchedulePtrOutput
}

VirtualMachineAutoBackupManualSchedulePtrInput is an input type that accepts VirtualMachineAutoBackupManualScheduleArgs, VirtualMachineAutoBackupManualSchedulePtr and VirtualMachineAutoBackupManualSchedulePtrOutput values. You can construct a concrete instance of `VirtualMachineAutoBackupManualSchedulePtrInput` via:

        VirtualMachineAutoBackupManualScheduleArgs{...}

or:

        nil

type VirtualMachineAutoBackupManualSchedulePtrOutput

type VirtualMachineAutoBackupManualSchedulePtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineAutoBackupManualSchedulePtrOutput) Elem

func (VirtualMachineAutoBackupManualSchedulePtrOutput) ElementType

func (VirtualMachineAutoBackupManualSchedulePtrOutput) FullBackupFrequency

Frequency of full backups. Valid values include `Daily` or `Weekly`. Required when `backupScheduleAutomated` is false.

func (VirtualMachineAutoBackupManualSchedulePtrOutput) FullBackupStartHour

Start hour of a given day during which full backups can take place. Valid values are from `0` to `23`. Required when `backupScheduleAutomated` is false.

func (VirtualMachineAutoBackupManualSchedulePtrOutput) FullBackupWindowInHours

Duration of the time window of a given day during which full backups can take place, in hours. Valid values are between `1` and `23`. Required when `backupScheduleAutomated` is false.

func (VirtualMachineAutoBackupManualSchedulePtrOutput) LogBackupFrequencyInMinutes

Frequency of log backups, in minutes. Valid values are from `5` to `60`. Required when `backupScheduleAutomated` is false.

func (VirtualMachineAutoBackupManualSchedulePtrOutput) ToVirtualMachineAutoBackupManualSchedulePtrOutput

func (o VirtualMachineAutoBackupManualSchedulePtrOutput) ToVirtualMachineAutoBackupManualSchedulePtrOutput() VirtualMachineAutoBackupManualSchedulePtrOutput

func (VirtualMachineAutoBackupManualSchedulePtrOutput) ToVirtualMachineAutoBackupManualSchedulePtrOutputWithContext

func (o VirtualMachineAutoBackupManualSchedulePtrOutput) ToVirtualMachineAutoBackupManualSchedulePtrOutputWithContext(ctx context.Context) VirtualMachineAutoBackupManualSchedulePtrOutput

type VirtualMachineAutoBackupOutput

type VirtualMachineAutoBackupOutput struct{ *pulumi.OutputState }

func (VirtualMachineAutoBackupOutput) ElementType

func (VirtualMachineAutoBackupOutput) EncryptionEnabled

func (o VirtualMachineAutoBackupOutput) EncryptionEnabled() pulumi.BoolPtrOutput

Enable or disable encryption for backups. Defaults to `false`.

func (VirtualMachineAutoBackupOutput) EncryptionPassword

func (o VirtualMachineAutoBackupOutput) EncryptionPassword() pulumi.StringPtrOutput

Encryption password to use. Must be specified when encryption is enabled.

func (VirtualMachineAutoBackupOutput) ManualSchedule

A `manualSchedule` block as documented below. When this block is present, the schedule type is set to `Manual`. Without this block, the schedule type is set to `Automated`.

func (VirtualMachineAutoBackupOutput) RetentionPeriodInDays

func (o VirtualMachineAutoBackupOutput) RetentionPeriodInDays() pulumi.IntOutput

Retention period of backups, in days. Valid values are from `1` to `30`.

func (VirtualMachineAutoBackupOutput) StorageAccountAccessKey

func (o VirtualMachineAutoBackupOutput) StorageAccountAccessKey() pulumi.StringOutput

Access key for the storage account where backups will be kept.

func (VirtualMachineAutoBackupOutput) StorageBlobEndpoint

func (o VirtualMachineAutoBackupOutput) StorageBlobEndpoint() pulumi.StringOutput

Blob endpoint for the storage account where backups will be kept.

func (VirtualMachineAutoBackupOutput) SystemDatabasesBackupEnabled

func (o VirtualMachineAutoBackupOutput) SystemDatabasesBackupEnabled() pulumi.BoolPtrOutput

Include or exclude system databases from auto backup. Defaults to `false`.

func (VirtualMachineAutoBackupOutput) ToVirtualMachineAutoBackupOutput

func (o VirtualMachineAutoBackupOutput) ToVirtualMachineAutoBackupOutput() VirtualMachineAutoBackupOutput

func (VirtualMachineAutoBackupOutput) ToVirtualMachineAutoBackupOutputWithContext

func (o VirtualMachineAutoBackupOutput) ToVirtualMachineAutoBackupOutputWithContext(ctx context.Context) VirtualMachineAutoBackupOutput

func (VirtualMachineAutoBackupOutput) ToVirtualMachineAutoBackupPtrOutput

func (o VirtualMachineAutoBackupOutput) ToVirtualMachineAutoBackupPtrOutput() VirtualMachineAutoBackupPtrOutput

func (VirtualMachineAutoBackupOutput) ToVirtualMachineAutoBackupPtrOutputWithContext

func (o VirtualMachineAutoBackupOutput) ToVirtualMachineAutoBackupPtrOutputWithContext(ctx context.Context) VirtualMachineAutoBackupPtrOutput

type VirtualMachineAutoBackupPtrInput

type VirtualMachineAutoBackupPtrInput interface {
	pulumi.Input

	ToVirtualMachineAutoBackupPtrOutput() VirtualMachineAutoBackupPtrOutput
	ToVirtualMachineAutoBackupPtrOutputWithContext(context.Context) VirtualMachineAutoBackupPtrOutput
}

VirtualMachineAutoBackupPtrInput is an input type that accepts VirtualMachineAutoBackupArgs, VirtualMachineAutoBackupPtr and VirtualMachineAutoBackupPtrOutput values. You can construct a concrete instance of `VirtualMachineAutoBackupPtrInput` via:

        VirtualMachineAutoBackupArgs{...}

or:

        nil

type VirtualMachineAutoBackupPtrOutput

type VirtualMachineAutoBackupPtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineAutoBackupPtrOutput) Elem

func (VirtualMachineAutoBackupPtrOutput) ElementType

func (VirtualMachineAutoBackupPtrOutput) EncryptionEnabled

Enable or disable encryption for backups. Defaults to `false`.

func (VirtualMachineAutoBackupPtrOutput) EncryptionPassword

Encryption password to use. Must be specified when encryption is enabled.

func (VirtualMachineAutoBackupPtrOutput) ManualSchedule

A `manualSchedule` block as documented below. When this block is present, the schedule type is set to `Manual`. Without this block, the schedule type is set to `Automated`.

func (VirtualMachineAutoBackupPtrOutput) RetentionPeriodInDays

func (o VirtualMachineAutoBackupPtrOutput) RetentionPeriodInDays() pulumi.IntPtrOutput

Retention period of backups, in days. Valid values are from `1` to `30`.

func (VirtualMachineAutoBackupPtrOutput) StorageAccountAccessKey

func (o VirtualMachineAutoBackupPtrOutput) StorageAccountAccessKey() pulumi.StringPtrOutput

Access key for the storage account where backups will be kept.

func (VirtualMachineAutoBackupPtrOutput) StorageBlobEndpoint

Blob endpoint for the storage account where backups will be kept.

func (VirtualMachineAutoBackupPtrOutput) SystemDatabasesBackupEnabled

func (o VirtualMachineAutoBackupPtrOutput) SystemDatabasesBackupEnabled() pulumi.BoolPtrOutput

Include or exclude system databases from auto backup. Defaults to `false`.

func (VirtualMachineAutoBackupPtrOutput) ToVirtualMachineAutoBackupPtrOutput

func (o VirtualMachineAutoBackupPtrOutput) ToVirtualMachineAutoBackupPtrOutput() VirtualMachineAutoBackupPtrOutput

func (VirtualMachineAutoBackupPtrOutput) ToVirtualMachineAutoBackupPtrOutputWithContext

func (o VirtualMachineAutoBackupPtrOutput) ToVirtualMachineAutoBackupPtrOutputWithContext(ctx context.Context) VirtualMachineAutoBackupPtrOutput

type VirtualMachineAutoPatching

type VirtualMachineAutoPatching struct {
	// The day of week to apply the patch on.
	DayOfWeek string `pulumi:"dayOfWeek"`
	// The size of the Maintenance Window in minutes.
	MaintenanceWindowDurationInMinutes int `pulumi:"maintenanceWindowDurationInMinutes"`
	// The Hour, in the Virtual Machine Time-Zone when the patching maintenance window should begin.
	MaintenanceWindowStartingHour int `pulumi:"maintenanceWindowStartingHour"`
}

type VirtualMachineAutoPatchingArgs

type VirtualMachineAutoPatchingArgs struct {
	// The day of week to apply the patch on.
	DayOfWeek pulumi.StringInput `pulumi:"dayOfWeek"`
	// The size of the Maintenance Window in minutes.
	MaintenanceWindowDurationInMinutes pulumi.IntInput `pulumi:"maintenanceWindowDurationInMinutes"`
	// The Hour, in the Virtual Machine Time-Zone when the patching maintenance window should begin.
	MaintenanceWindowStartingHour pulumi.IntInput `pulumi:"maintenanceWindowStartingHour"`
}

func (VirtualMachineAutoPatchingArgs) ElementType

func (VirtualMachineAutoPatchingArgs) ToVirtualMachineAutoPatchingOutput

func (i VirtualMachineAutoPatchingArgs) ToVirtualMachineAutoPatchingOutput() VirtualMachineAutoPatchingOutput

func (VirtualMachineAutoPatchingArgs) ToVirtualMachineAutoPatchingOutputWithContext

func (i VirtualMachineAutoPatchingArgs) ToVirtualMachineAutoPatchingOutputWithContext(ctx context.Context) VirtualMachineAutoPatchingOutput

func (VirtualMachineAutoPatchingArgs) ToVirtualMachineAutoPatchingPtrOutput

func (i VirtualMachineAutoPatchingArgs) ToVirtualMachineAutoPatchingPtrOutput() VirtualMachineAutoPatchingPtrOutput

func (VirtualMachineAutoPatchingArgs) ToVirtualMachineAutoPatchingPtrOutputWithContext

func (i VirtualMachineAutoPatchingArgs) ToVirtualMachineAutoPatchingPtrOutputWithContext(ctx context.Context) VirtualMachineAutoPatchingPtrOutput

type VirtualMachineAutoPatchingInput

type VirtualMachineAutoPatchingInput interface {
	pulumi.Input

	ToVirtualMachineAutoPatchingOutput() VirtualMachineAutoPatchingOutput
	ToVirtualMachineAutoPatchingOutputWithContext(context.Context) VirtualMachineAutoPatchingOutput
}

VirtualMachineAutoPatchingInput is an input type that accepts VirtualMachineAutoPatchingArgs and VirtualMachineAutoPatchingOutput values. You can construct a concrete instance of `VirtualMachineAutoPatchingInput` via:

VirtualMachineAutoPatchingArgs{...}

type VirtualMachineAutoPatchingOutput

type VirtualMachineAutoPatchingOutput struct{ *pulumi.OutputState }

func (VirtualMachineAutoPatchingOutput) DayOfWeek

The day of week to apply the patch on.

func (VirtualMachineAutoPatchingOutput) ElementType

func (VirtualMachineAutoPatchingOutput) MaintenanceWindowDurationInMinutes

func (o VirtualMachineAutoPatchingOutput) MaintenanceWindowDurationInMinutes() pulumi.IntOutput

The size of the Maintenance Window in minutes.

func (VirtualMachineAutoPatchingOutput) MaintenanceWindowStartingHour

func (o VirtualMachineAutoPatchingOutput) MaintenanceWindowStartingHour() pulumi.IntOutput

The Hour, in the Virtual Machine Time-Zone when the patching maintenance window should begin.

func (VirtualMachineAutoPatchingOutput) ToVirtualMachineAutoPatchingOutput

func (o VirtualMachineAutoPatchingOutput) ToVirtualMachineAutoPatchingOutput() VirtualMachineAutoPatchingOutput

func (VirtualMachineAutoPatchingOutput) ToVirtualMachineAutoPatchingOutputWithContext

func (o VirtualMachineAutoPatchingOutput) ToVirtualMachineAutoPatchingOutputWithContext(ctx context.Context) VirtualMachineAutoPatchingOutput

func (VirtualMachineAutoPatchingOutput) ToVirtualMachineAutoPatchingPtrOutput

func (o VirtualMachineAutoPatchingOutput) ToVirtualMachineAutoPatchingPtrOutput() VirtualMachineAutoPatchingPtrOutput

func (VirtualMachineAutoPatchingOutput) ToVirtualMachineAutoPatchingPtrOutputWithContext

func (o VirtualMachineAutoPatchingOutput) ToVirtualMachineAutoPatchingPtrOutputWithContext(ctx context.Context) VirtualMachineAutoPatchingPtrOutput

type VirtualMachineAutoPatchingPtrInput

type VirtualMachineAutoPatchingPtrInput interface {
	pulumi.Input

	ToVirtualMachineAutoPatchingPtrOutput() VirtualMachineAutoPatchingPtrOutput
	ToVirtualMachineAutoPatchingPtrOutputWithContext(context.Context) VirtualMachineAutoPatchingPtrOutput
}

VirtualMachineAutoPatchingPtrInput is an input type that accepts VirtualMachineAutoPatchingArgs, VirtualMachineAutoPatchingPtr and VirtualMachineAutoPatchingPtrOutput values. You can construct a concrete instance of `VirtualMachineAutoPatchingPtrInput` via:

        VirtualMachineAutoPatchingArgs{...}

or:

        nil

type VirtualMachineAutoPatchingPtrOutput

type VirtualMachineAutoPatchingPtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineAutoPatchingPtrOutput) DayOfWeek

The day of week to apply the patch on.

func (VirtualMachineAutoPatchingPtrOutput) Elem

func (VirtualMachineAutoPatchingPtrOutput) ElementType

func (VirtualMachineAutoPatchingPtrOutput) MaintenanceWindowDurationInMinutes

func (o VirtualMachineAutoPatchingPtrOutput) MaintenanceWindowDurationInMinutes() pulumi.IntPtrOutput

The size of the Maintenance Window in minutes.

func (VirtualMachineAutoPatchingPtrOutput) MaintenanceWindowStartingHour

func (o VirtualMachineAutoPatchingPtrOutput) MaintenanceWindowStartingHour() pulumi.IntPtrOutput

The Hour, in the Virtual Machine Time-Zone when the patching maintenance window should begin.

func (VirtualMachineAutoPatchingPtrOutput) ToVirtualMachineAutoPatchingPtrOutput

func (o VirtualMachineAutoPatchingPtrOutput) ToVirtualMachineAutoPatchingPtrOutput() VirtualMachineAutoPatchingPtrOutput

func (VirtualMachineAutoPatchingPtrOutput) ToVirtualMachineAutoPatchingPtrOutputWithContext

func (o VirtualMachineAutoPatchingPtrOutput) ToVirtualMachineAutoPatchingPtrOutputWithContext(ctx context.Context) VirtualMachineAutoPatchingPtrOutput

type VirtualMachineInput

type VirtualMachineInput interface {
	pulumi.Input

	ToVirtualMachineOutput() VirtualMachineOutput
	ToVirtualMachineOutputWithContext(ctx context.Context) VirtualMachineOutput
}

type VirtualMachineKeyVaultCredential

type VirtualMachineKeyVaultCredential struct {
	// The azure Key Vault url. Changing this forces a new resource to be created.
	KeyVaultUrl string `pulumi:"keyVaultUrl"`
	// The credential name.
	Name string `pulumi:"name"`
	// The service principal name to access key vault. Changing this forces a new resource to be created.
	ServicePrincipalName string `pulumi:"servicePrincipalName"`
	// The service principal name secret to access key vault. Changing this forces a new resource to be created.
	ServicePrincipalSecret string `pulumi:"servicePrincipalSecret"`
}

type VirtualMachineKeyVaultCredentialArgs

type VirtualMachineKeyVaultCredentialArgs struct {
	// The azure Key Vault url. Changing this forces a new resource to be created.
	KeyVaultUrl pulumi.StringInput `pulumi:"keyVaultUrl"`
	// The credential name.
	Name pulumi.StringInput `pulumi:"name"`
	// The service principal name to access key vault. Changing this forces a new resource to be created.
	ServicePrincipalName pulumi.StringInput `pulumi:"servicePrincipalName"`
	// The service principal name secret to access key vault. Changing this forces a new resource to be created.
	ServicePrincipalSecret pulumi.StringInput `pulumi:"servicePrincipalSecret"`
}

func (VirtualMachineKeyVaultCredentialArgs) ElementType

func (VirtualMachineKeyVaultCredentialArgs) ToVirtualMachineKeyVaultCredentialOutput

func (i VirtualMachineKeyVaultCredentialArgs) ToVirtualMachineKeyVaultCredentialOutput() VirtualMachineKeyVaultCredentialOutput

func (VirtualMachineKeyVaultCredentialArgs) ToVirtualMachineKeyVaultCredentialOutputWithContext

func (i VirtualMachineKeyVaultCredentialArgs) ToVirtualMachineKeyVaultCredentialOutputWithContext(ctx context.Context) VirtualMachineKeyVaultCredentialOutput

func (VirtualMachineKeyVaultCredentialArgs) ToVirtualMachineKeyVaultCredentialPtrOutput

func (i VirtualMachineKeyVaultCredentialArgs) ToVirtualMachineKeyVaultCredentialPtrOutput() VirtualMachineKeyVaultCredentialPtrOutput

func (VirtualMachineKeyVaultCredentialArgs) ToVirtualMachineKeyVaultCredentialPtrOutputWithContext

func (i VirtualMachineKeyVaultCredentialArgs) ToVirtualMachineKeyVaultCredentialPtrOutputWithContext(ctx context.Context) VirtualMachineKeyVaultCredentialPtrOutput

type VirtualMachineKeyVaultCredentialInput

type VirtualMachineKeyVaultCredentialInput interface {
	pulumi.Input

	ToVirtualMachineKeyVaultCredentialOutput() VirtualMachineKeyVaultCredentialOutput
	ToVirtualMachineKeyVaultCredentialOutputWithContext(context.Context) VirtualMachineKeyVaultCredentialOutput
}

VirtualMachineKeyVaultCredentialInput is an input type that accepts VirtualMachineKeyVaultCredentialArgs and VirtualMachineKeyVaultCredentialOutput values. You can construct a concrete instance of `VirtualMachineKeyVaultCredentialInput` via:

VirtualMachineKeyVaultCredentialArgs{...}

type VirtualMachineKeyVaultCredentialOutput

type VirtualMachineKeyVaultCredentialOutput struct{ *pulumi.OutputState }

func (VirtualMachineKeyVaultCredentialOutput) ElementType

func (VirtualMachineKeyVaultCredentialOutput) KeyVaultUrl

The azure Key Vault url. Changing this forces a new resource to be created.

func (VirtualMachineKeyVaultCredentialOutput) Name

The credential name.

func (VirtualMachineKeyVaultCredentialOutput) ServicePrincipalName

The service principal name to access key vault. Changing this forces a new resource to be created.

func (VirtualMachineKeyVaultCredentialOutput) ServicePrincipalSecret

func (o VirtualMachineKeyVaultCredentialOutput) ServicePrincipalSecret() pulumi.StringOutput

The service principal name secret to access key vault. Changing this forces a new resource to be created.

func (VirtualMachineKeyVaultCredentialOutput) ToVirtualMachineKeyVaultCredentialOutput

func (o VirtualMachineKeyVaultCredentialOutput) ToVirtualMachineKeyVaultCredentialOutput() VirtualMachineKeyVaultCredentialOutput

func (VirtualMachineKeyVaultCredentialOutput) ToVirtualMachineKeyVaultCredentialOutputWithContext

func (o VirtualMachineKeyVaultCredentialOutput) ToVirtualMachineKeyVaultCredentialOutputWithContext(ctx context.Context) VirtualMachineKeyVaultCredentialOutput

func (VirtualMachineKeyVaultCredentialOutput) ToVirtualMachineKeyVaultCredentialPtrOutput

func (o VirtualMachineKeyVaultCredentialOutput) ToVirtualMachineKeyVaultCredentialPtrOutput() VirtualMachineKeyVaultCredentialPtrOutput

func (VirtualMachineKeyVaultCredentialOutput) ToVirtualMachineKeyVaultCredentialPtrOutputWithContext

func (o VirtualMachineKeyVaultCredentialOutput) ToVirtualMachineKeyVaultCredentialPtrOutputWithContext(ctx context.Context) VirtualMachineKeyVaultCredentialPtrOutput

type VirtualMachineKeyVaultCredentialPtrInput

type VirtualMachineKeyVaultCredentialPtrInput interface {
	pulumi.Input

	ToVirtualMachineKeyVaultCredentialPtrOutput() VirtualMachineKeyVaultCredentialPtrOutput
	ToVirtualMachineKeyVaultCredentialPtrOutputWithContext(context.Context) VirtualMachineKeyVaultCredentialPtrOutput
}

VirtualMachineKeyVaultCredentialPtrInput is an input type that accepts VirtualMachineKeyVaultCredentialArgs, VirtualMachineKeyVaultCredentialPtr and VirtualMachineKeyVaultCredentialPtrOutput values. You can construct a concrete instance of `VirtualMachineKeyVaultCredentialPtrInput` via:

        VirtualMachineKeyVaultCredentialArgs{...}

or:

        nil

type VirtualMachineKeyVaultCredentialPtrOutput

type VirtualMachineKeyVaultCredentialPtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineKeyVaultCredentialPtrOutput) Elem

func (VirtualMachineKeyVaultCredentialPtrOutput) ElementType

func (VirtualMachineKeyVaultCredentialPtrOutput) KeyVaultUrl

The azure Key Vault url. Changing this forces a new resource to be created.

func (VirtualMachineKeyVaultCredentialPtrOutput) Name

The credential name.

func (VirtualMachineKeyVaultCredentialPtrOutput) ServicePrincipalName

The service principal name to access key vault. Changing this forces a new resource to be created.

func (VirtualMachineKeyVaultCredentialPtrOutput) ServicePrincipalSecret

The service principal name secret to access key vault. Changing this forces a new resource to be created.

func (VirtualMachineKeyVaultCredentialPtrOutput) ToVirtualMachineKeyVaultCredentialPtrOutput

func (o VirtualMachineKeyVaultCredentialPtrOutput) ToVirtualMachineKeyVaultCredentialPtrOutput() VirtualMachineKeyVaultCredentialPtrOutput

func (VirtualMachineKeyVaultCredentialPtrOutput) ToVirtualMachineKeyVaultCredentialPtrOutputWithContext

func (o VirtualMachineKeyVaultCredentialPtrOutput) ToVirtualMachineKeyVaultCredentialPtrOutputWithContext(ctx context.Context) VirtualMachineKeyVaultCredentialPtrOutput

type VirtualMachineMap

type VirtualMachineMap map[string]VirtualMachineInput

func (VirtualMachineMap) ElementType

func (VirtualMachineMap) ElementType() reflect.Type

func (VirtualMachineMap) ToVirtualMachineMapOutput

func (i VirtualMachineMap) ToVirtualMachineMapOutput() VirtualMachineMapOutput

func (VirtualMachineMap) ToVirtualMachineMapOutputWithContext

func (i VirtualMachineMap) ToVirtualMachineMapOutputWithContext(ctx context.Context) VirtualMachineMapOutput

type VirtualMachineMapInput

type VirtualMachineMapInput interface {
	pulumi.Input

	ToVirtualMachineMapOutput() VirtualMachineMapOutput
	ToVirtualMachineMapOutputWithContext(context.Context) VirtualMachineMapOutput
}

VirtualMachineMapInput is an input type that accepts VirtualMachineMap and VirtualMachineMapOutput values. You can construct a concrete instance of `VirtualMachineMapInput` via:

VirtualMachineMap{ "key": VirtualMachineArgs{...} }

type VirtualMachineMapOutput

type VirtualMachineMapOutput struct{ *pulumi.OutputState }

func (VirtualMachineMapOutput) ElementType

func (VirtualMachineMapOutput) ElementType() reflect.Type

func (VirtualMachineMapOutput) MapIndex

func (VirtualMachineMapOutput) ToVirtualMachineMapOutput

func (o VirtualMachineMapOutput) ToVirtualMachineMapOutput() VirtualMachineMapOutput

func (VirtualMachineMapOutput) ToVirtualMachineMapOutputWithContext

func (o VirtualMachineMapOutput) ToVirtualMachineMapOutputWithContext(ctx context.Context) VirtualMachineMapOutput

type VirtualMachineOutput

type VirtualMachineOutput struct{ *pulumi.OutputState }

func (VirtualMachineOutput) ElementType

func (VirtualMachineOutput) ElementType() reflect.Type

func (VirtualMachineOutput) ToVirtualMachineOutput

func (o VirtualMachineOutput) ToVirtualMachineOutput() VirtualMachineOutput

func (VirtualMachineOutput) ToVirtualMachineOutputWithContext

func (o VirtualMachineOutput) ToVirtualMachineOutputWithContext(ctx context.Context) VirtualMachineOutput

type VirtualMachineState

type VirtualMachineState struct {
	// An `autoBackup` block as defined below. This block can be added to an existing resource, but removing this block forces a new resource to be created.
	AutoBackup VirtualMachineAutoBackupPtrInput
	// An `autoPatching` block as defined below.
	AutoPatching VirtualMachineAutoPatchingPtrInput
	// (Optional) An `keyVaultCredential` block as defined below.
	KeyVaultCredential VirtualMachineKeyVaultCredentialPtrInput
	// Should R Services be enabled?
	RServicesEnabled pulumi.BoolPtrInput
	// The SQL Server port. Defaults to `1433`.
	SqlConnectivityPort pulumi.IntPtrInput
	// The connectivity type used for this SQL Server. Defaults to `PRIVATE`.
	SqlConnectivityType pulumi.StringPtrInput
	// The SQL Server sysadmin login password.
	SqlConnectivityUpdatePassword pulumi.StringPtrInput
	// The SQL Server sysadmin login to create.
	SqlConnectivityUpdateUsername pulumi.StringPtrInput
	// The SQL Server license type. Possible values are `AHUB` (Azure Hybrid Benefit), `DR` (Disaster Recovery), and `PAYG` (Pay-As-You-Go). Changing this forces a new resource to be created.
	SqlLicenseType pulumi.StringPtrInput
	// An `storageConfiguration` block as defined below.
	StorageConfiguration VirtualMachineStorageConfigurationPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The ID of the Virtual Machine. Changing this forces a new resource to be created.
	VirtualMachineId pulumi.StringPtrInput
}

func (VirtualMachineState) ElementType

func (VirtualMachineState) ElementType() reflect.Type

type VirtualMachineStorageConfiguration

type VirtualMachineStorageConfiguration struct {
	// An `storageSettings` as defined below.
	DataSettings *VirtualMachineStorageConfigurationDataSettings `pulumi:"dataSettings"`
	// The type of disk configuration to apply to the SQL Server. Valid values include `NEW`, `EXTEND`, or `ADD`.
	DiskType string `pulumi:"diskType"`
	// An `storageSettings` as defined below.
	LogSettings *VirtualMachineStorageConfigurationLogSettings `pulumi:"logSettings"`
	// The type of storage workload. Valid values include `GENERAL`, `OLTP`, or `DW`.
	StorageWorkloadType string `pulumi:"storageWorkloadType"`
	// An `storageSettings` as defined below.
	TempDbSettings *VirtualMachineStorageConfigurationTempDbSettings `pulumi:"tempDbSettings"`
}

type VirtualMachineStorageConfigurationArgs

type VirtualMachineStorageConfigurationArgs struct {
	// An `storageSettings` as defined below.
	DataSettings VirtualMachineStorageConfigurationDataSettingsPtrInput `pulumi:"dataSettings"`
	// The type of disk configuration to apply to the SQL Server. Valid values include `NEW`, `EXTEND`, or `ADD`.
	DiskType pulumi.StringInput `pulumi:"diskType"`
	// An `storageSettings` as defined below.
	LogSettings VirtualMachineStorageConfigurationLogSettingsPtrInput `pulumi:"logSettings"`
	// The type of storage workload. Valid values include `GENERAL`, `OLTP`, or `DW`.
	StorageWorkloadType pulumi.StringInput `pulumi:"storageWorkloadType"`
	// An `storageSettings` as defined below.
	TempDbSettings VirtualMachineStorageConfigurationTempDbSettingsPtrInput `pulumi:"tempDbSettings"`
}

func (VirtualMachineStorageConfigurationArgs) ElementType

func (VirtualMachineStorageConfigurationArgs) ToVirtualMachineStorageConfigurationOutput

func (i VirtualMachineStorageConfigurationArgs) ToVirtualMachineStorageConfigurationOutput() VirtualMachineStorageConfigurationOutput

func (VirtualMachineStorageConfigurationArgs) ToVirtualMachineStorageConfigurationOutputWithContext

func (i VirtualMachineStorageConfigurationArgs) ToVirtualMachineStorageConfigurationOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationOutput

func (VirtualMachineStorageConfigurationArgs) ToVirtualMachineStorageConfigurationPtrOutput

func (i VirtualMachineStorageConfigurationArgs) ToVirtualMachineStorageConfigurationPtrOutput() VirtualMachineStorageConfigurationPtrOutput

func (VirtualMachineStorageConfigurationArgs) ToVirtualMachineStorageConfigurationPtrOutputWithContext

func (i VirtualMachineStorageConfigurationArgs) ToVirtualMachineStorageConfigurationPtrOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationPtrOutput

type VirtualMachineStorageConfigurationDataSettings

type VirtualMachineStorageConfigurationDataSettings struct {
	// The SQL Server default path
	DefaultFilePath string `pulumi:"defaultFilePath"`
	// A list of Logical Unit Numbers for the disks.
	Luns []int `pulumi:"luns"`
}

type VirtualMachineStorageConfigurationDataSettingsArgs

type VirtualMachineStorageConfigurationDataSettingsArgs struct {
	// The SQL Server default path
	DefaultFilePath pulumi.StringInput `pulumi:"defaultFilePath"`
	// A list of Logical Unit Numbers for the disks.
	Luns pulumi.IntArrayInput `pulumi:"luns"`
}

func (VirtualMachineStorageConfigurationDataSettingsArgs) ElementType

func (VirtualMachineStorageConfigurationDataSettingsArgs) ToVirtualMachineStorageConfigurationDataSettingsOutput

func (i VirtualMachineStorageConfigurationDataSettingsArgs) ToVirtualMachineStorageConfigurationDataSettingsOutput() VirtualMachineStorageConfigurationDataSettingsOutput

func (VirtualMachineStorageConfigurationDataSettingsArgs) ToVirtualMachineStorageConfigurationDataSettingsOutputWithContext

func (i VirtualMachineStorageConfigurationDataSettingsArgs) ToVirtualMachineStorageConfigurationDataSettingsOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationDataSettingsOutput

func (VirtualMachineStorageConfigurationDataSettingsArgs) ToVirtualMachineStorageConfigurationDataSettingsPtrOutput

func (i VirtualMachineStorageConfigurationDataSettingsArgs) ToVirtualMachineStorageConfigurationDataSettingsPtrOutput() VirtualMachineStorageConfigurationDataSettingsPtrOutput

func (VirtualMachineStorageConfigurationDataSettingsArgs) ToVirtualMachineStorageConfigurationDataSettingsPtrOutputWithContext

func (i VirtualMachineStorageConfigurationDataSettingsArgs) ToVirtualMachineStorageConfigurationDataSettingsPtrOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationDataSettingsPtrOutput

type VirtualMachineStorageConfigurationDataSettingsInput

type VirtualMachineStorageConfigurationDataSettingsInput interface {
	pulumi.Input

	ToVirtualMachineStorageConfigurationDataSettingsOutput() VirtualMachineStorageConfigurationDataSettingsOutput
	ToVirtualMachineStorageConfigurationDataSettingsOutputWithContext(context.Context) VirtualMachineStorageConfigurationDataSettingsOutput
}

VirtualMachineStorageConfigurationDataSettingsInput is an input type that accepts VirtualMachineStorageConfigurationDataSettingsArgs and VirtualMachineStorageConfigurationDataSettingsOutput values. You can construct a concrete instance of `VirtualMachineStorageConfigurationDataSettingsInput` via:

VirtualMachineStorageConfigurationDataSettingsArgs{...}

type VirtualMachineStorageConfigurationDataSettingsOutput

type VirtualMachineStorageConfigurationDataSettingsOutput struct{ *pulumi.OutputState }

func (VirtualMachineStorageConfigurationDataSettingsOutput) DefaultFilePath

The SQL Server default path

func (VirtualMachineStorageConfigurationDataSettingsOutput) ElementType

func (VirtualMachineStorageConfigurationDataSettingsOutput) Luns

A list of Logical Unit Numbers for the disks.

func (VirtualMachineStorageConfigurationDataSettingsOutput) ToVirtualMachineStorageConfigurationDataSettingsOutput

func (VirtualMachineStorageConfigurationDataSettingsOutput) ToVirtualMachineStorageConfigurationDataSettingsOutputWithContext

func (o VirtualMachineStorageConfigurationDataSettingsOutput) ToVirtualMachineStorageConfigurationDataSettingsOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationDataSettingsOutput

func (VirtualMachineStorageConfigurationDataSettingsOutput) ToVirtualMachineStorageConfigurationDataSettingsPtrOutput

func (o VirtualMachineStorageConfigurationDataSettingsOutput) ToVirtualMachineStorageConfigurationDataSettingsPtrOutput() VirtualMachineStorageConfigurationDataSettingsPtrOutput

func (VirtualMachineStorageConfigurationDataSettingsOutput) ToVirtualMachineStorageConfigurationDataSettingsPtrOutputWithContext

func (o VirtualMachineStorageConfigurationDataSettingsOutput) ToVirtualMachineStorageConfigurationDataSettingsPtrOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationDataSettingsPtrOutput

type VirtualMachineStorageConfigurationDataSettingsPtrInput

type VirtualMachineStorageConfigurationDataSettingsPtrInput interface {
	pulumi.Input

	ToVirtualMachineStorageConfigurationDataSettingsPtrOutput() VirtualMachineStorageConfigurationDataSettingsPtrOutput
	ToVirtualMachineStorageConfigurationDataSettingsPtrOutputWithContext(context.Context) VirtualMachineStorageConfigurationDataSettingsPtrOutput
}

VirtualMachineStorageConfigurationDataSettingsPtrInput is an input type that accepts VirtualMachineStorageConfigurationDataSettingsArgs, VirtualMachineStorageConfigurationDataSettingsPtr and VirtualMachineStorageConfigurationDataSettingsPtrOutput values. You can construct a concrete instance of `VirtualMachineStorageConfigurationDataSettingsPtrInput` via:

        VirtualMachineStorageConfigurationDataSettingsArgs{...}

or:

        nil

type VirtualMachineStorageConfigurationDataSettingsPtrOutput

type VirtualMachineStorageConfigurationDataSettingsPtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineStorageConfigurationDataSettingsPtrOutput) DefaultFilePath

The SQL Server default path

func (VirtualMachineStorageConfigurationDataSettingsPtrOutput) Elem

func (VirtualMachineStorageConfigurationDataSettingsPtrOutput) ElementType

func (VirtualMachineStorageConfigurationDataSettingsPtrOutput) Luns

A list of Logical Unit Numbers for the disks.

func (VirtualMachineStorageConfigurationDataSettingsPtrOutput) ToVirtualMachineStorageConfigurationDataSettingsPtrOutput

func (VirtualMachineStorageConfigurationDataSettingsPtrOutput) ToVirtualMachineStorageConfigurationDataSettingsPtrOutputWithContext

func (o VirtualMachineStorageConfigurationDataSettingsPtrOutput) ToVirtualMachineStorageConfigurationDataSettingsPtrOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationDataSettingsPtrOutput

type VirtualMachineStorageConfigurationInput

type VirtualMachineStorageConfigurationInput interface {
	pulumi.Input

	ToVirtualMachineStorageConfigurationOutput() VirtualMachineStorageConfigurationOutput
	ToVirtualMachineStorageConfigurationOutputWithContext(context.Context) VirtualMachineStorageConfigurationOutput
}

VirtualMachineStorageConfigurationInput is an input type that accepts VirtualMachineStorageConfigurationArgs and VirtualMachineStorageConfigurationOutput values. You can construct a concrete instance of `VirtualMachineStorageConfigurationInput` via:

VirtualMachineStorageConfigurationArgs{...}

type VirtualMachineStorageConfigurationLogSettings

type VirtualMachineStorageConfigurationLogSettings struct {
	// The SQL Server default path
	DefaultFilePath string `pulumi:"defaultFilePath"`
	// A list of Logical Unit Numbers for the disks.
	Luns []int `pulumi:"luns"`
}

type VirtualMachineStorageConfigurationLogSettingsArgs

type VirtualMachineStorageConfigurationLogSettingsArgs struct {
	// The SQL Server default path
	DefaultFilePath pulumi.StringInput `pulumi:"defaultFilePath"`
	// A list of Logical Unit Numbers for the disks.
	Luns pulumi.IntArrayInput `pulumi:"luns"`
}

func (VirtualMachineStorageConfigurationLogSettingsArgs) ElementType

func (VirtualMachineStorageConfigurationLogSettingsArgs) ToVirtualMachineStorageConfigurationLogSettingsOutput

func (i VirtualMachineStorageConfigurationLogSettingsArgs) ToVirtualMachineStorageConfigurationLogSettingsOutput() VirtualMachineStorageConfigurationLogSettingsOutput

func (VirtualMachineStorageConfigurationLogSettingsArgs) ToVirtualMachineStorageConfigurationLogSettingsOutputWithContext

func (i VirtualMachineStorageConfigurationLogSettingsArgs) ToVirtualMachineStorageConfigurationLogSettingsOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationLogSettingsOutput

func (VirtualMachineStorageConfigurationLogSettingsArgs) ToVirtualMachineStorageConfigurationLogSettingsPtrOutput

func (i VirtualMachineStorageConfigurationLogSettingsArgs) ToVirtualMachineStorageConfigurationLogSettingsPtrOutput() VirtualMachineStorageConfigurationLogSettingsPtrOutput

func (VirtualMachineStorageConfigurationLogSettingsArgs) ToVirtualMachineStorageConfigurationLogSettingsPtrOutputWithContext

func (i VirtualMachineStorageConfigurationLogSettingsArgs) ToVirtualMachineStorageConfigurationLogSettingsPtrOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationLogSettingsPtrOutput

type VirtualMachineStorageConfigurationLogSettingsInput

type VirtualMachineStorageConfigurationLogSettingsInput interface {
	pulumi.Input

	ToVirtualMachineStorageConfigurationLogSettingsOutput() VirtualMachineStorageConfigurationLogSettingsOutput
	ToVirtualMachineStorageConfigurationLogSettingsOutputWithContext(context.Context) VirtualMachineStorageConfigurationLogSettingsOutput
}

VirtualMachineStorageConfigurationLogSettingsInput is an input type that accepts VirtualMachineStorageConfigurationLogSettingsArgs and VirtualMachineStorageConfigurationLogSettingsOutput values. You can construct a concrete instance of `VirtualMachineStorageConfigurationLogSettingsInput` via:

VirtualMachineStorageConfigurationLogSettingsArgs{...}

type VirtualMachineStorageConfigurationLogSettingsOutput

type VirtualMachineStorageConfigurationLogSettingsOutput struct{ *pulumi.OutputState }

func (VirtualMachineStorageConfigurationLogSettingsOutput) DefaultFilePath

The SQL Server default path

func (VirtualMachineStorageConfigurationLogSettingsOutput) ElementType

func (VirtualMachineStorageConfigurationLogSettingsOutput) Luns

A list of Logical Unit Numbers for the disks.

func (VirtualMachineStorageConfigurationLogSettingsOutput) ToVirtualMachineStorageConfigurationLogSettingsOutput

func (o VirtualMachineStorageConfigurationLogSettingsOutput) ToVirtualMachineStorageConfigurationLogSettingsOutput() VirtualMachineStorageConfigurationLogSettingsOutput

func (VirtualMachineStorageConfigurationLogSettingsOutput) ToVirtualMachineStorageConfigurationLogSettingsOutputWithContext

func (o VirtualMachineStorageConfigurationLogSettingsOutput) ToVirtualMachineStorageConfigurationLogSettingsOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationLogSettingsOutput

func (VirtualMachineStorageConfigurationLogSettingsOutput) ToVirtualMachineStorageConfigurationLogSettingsPtrOutput

func (o VirtualMachineStorageConfigurationLogSettingsOutput) ToVirtualMachineStorageConfigurationLogSettingsPtrOutput() VirtualMachineStorageConfigurationLogSettingsPtrOutput

func (VirtualMachineStorageConfigurationLogSettingsOutput) ToVirtualMachineStorageConfigurationLogSettingsPtrOutputWithContext

func (o VirtualMachineStorageConfigurationLogSettingsOutput) ToVirtualMachineStorageConfigurationLogSettingsPtrOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationLogSettingsPtrOutput

type VirtualMachineStorageConfigurationLogSettingsPtrInput

type VirtualMachineStorageConfigurationLogSettingsPtrInput interface {
	pulumi.Input

	ToVirtualMachineStorageConfigurationLogSettingsPtrOutput() VirtualMachineStorageConfigurationLogSettingsPtrOutput
	ToVirtualMachineStorageConfigurationLogSettingsPtrOutputWithContext(context.Context) VirtualMachineStorageConfigurationLogSettingsPtrOutput
}

VirtualMachineStorageConfigurationLogSettingsPtrInput is an input type that accepts VirtualMachineStorageConfigurationLogSettingsArgs, VirtualMachineStorageConfigurationLogSettingsPtr and VirtualMachineStorageConfigurationLogSettingsPtrOutput values. You can construct a concrete instance of `VirtualMachineStorageConfigurationLogSettingsPtrInput` via:

        VirtualMachineStorageConfigurationLogSettingsArgs{...}

or:

        nil

type VirtualMachineStorageConfigurationLogSettingsPtrOutput

type VirtualMachineStorageConfigurationLogSettingsPtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineStorageConfigurationLogSettingsPtrOutput) DefaultFilePath

The SQL Server default path

func (VirtualMachineStorageConfigurationLogSettingsPtrOutput) Elem

func (VirtualMachineStorageConfigurationLogSettingsPtrOutput) ElementType

func (VirtualMachineStorageConfigurationLogSettingsPtrOutput) Luns

A list of Logical Unit Numbers for the disks.

func (VirtualMachineStorageConfigurationLogSettingsPtrOutput) ToVirtualMachineStorageConfigurationLogSettingsPtrOutput

func (VirtualMachineStorageConfigurationLogSettingsPtrOutput) ToVirtualMachineStorageConfigurationLogSettingsPtrOutputWithContext

func (o VirtualMachineStorageConfigurationLogSettingsPtrOutput) ToVirtualMachineStorageConfigurationLogSettingsPtrOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationLogSettingsPtrOutput

type VirtualMachineStorageConfigurationOutput

type VirtualMachineStorageConfigurationOutput struct{ *pulumi.OutputState }

func (VirtualMachineStorageConfigurationOutput) DataSettings

An `storageSettings` as defined below.

func (VirtualMachineStorageConfigurationOutput) DiskType

The type of disk configuration to apply to the SQL Server. Valid values include `NEW`, `EXTEND`, or `ADD`.

func (VirtualMachineStorageConfigurationOutput) ElementType

func (VirtualMachineStorageConfigurationOutput) LogSettings

An `storageSettings` as defined below.

func (VirtualMachineStorageConfigurationOutput) StorageWorkloadType

The type of storage workload. Valid values include `GENERAL`, `OLTP`, or `DW`.

func (VirtualMachineStorageConfigurationOutput) TempDbSettings

An `storageSettings` as defined below.

func (VirtualMachineStorageConfigurationOutput) ToVirtualMachineStorageConfigurationOutput

func (o VirtualMachineStorageConfigurationOutput) ToVirtualMachineStorageConfigurationOutput() VirtualMachineStorageConfigurationOutput

func (VirtualMachineStorageConfigurationOutput) ToVirtualMachineStorageConfigurationOutputWithContext

func (o VirtualMachineStorageConfigurationOutput) ToVirtualMachineStorageConfigurationOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationOutput

func (VirtualMachineStorageConfigurationOutput) ToVirtualMachineStorageConfigurationPtrOutput

func (o VirtualMachineStorageConfigurationOutput) ToVirtualMachineStorageConfigurationPtrOutput() VirtualMachineStorageConfigurationPtrOutput

func (VirtualMachineStorageConfigurationOutput) ToVirtualMachineStorageConfigurationPtrOutputWithContext

func (o VirtualMachineStorageConfigurationOutput) ToVirtualMachineStorageConfigurationPtrOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationPtrOutput

type VirtualMachineStorageConfigurationPtrInput

type VirtualMachineStorageConfigurationPtrInput interface {
	pulumi.Input

	ToVirtualMachineStorageConfigurationPtrOutput() VirtualMachineStorageConfigurationPtrOutput
	ToVirtualMachineStorageConfigurationPtrOutputWithContext(context.Context) VirtualMachineStorageConfigurationPtrOutput
}

VirtualMachineStorageConfigurationPtrInput is an input type that accepts VirtualMachineStorageConfigurationArgs, VirtualMachineStorageConfigurationPtr and VirtualMachineStorageConfigurationPtrOutput values. You can construct a concrete instance of `VirtualMachineStorageConfigurationPtrInput` via:

        VirtualMachineStorageConfigurationArgs{...}

or:

        nil

type VirtualMachineStorageConfigurationPtrOutput

type VirtualMachineStorageConfigurationPtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineStorageConfigurationPtrOutput) DataSettings

An `storageSettings` as defined below.

func (VirtualMachineStorageConfigurationPtrOutput) DiskType

The type of disk configuration to apply to the SQL Server. Valid values include `NEW`, `EXTEND`, or `ADD`.

func (VirtualMachineStorageConfigurationPtrOutput) Elem

func (VirtualMachineStorageConfigurationPtrOutput) ElementType

func (VirtualMachineStorageConfigurationPtrOutput) LogSettings

An `storageSettings` as defined below.

func (VirtualMachineStorageConfigurationPtrOutput) StorageWorkloadType

The type of storage workload. Valid values include `GENERAL`, `OLTP`, or `DW`.

func (VirtualMachineStorageConfigurationPtrOutput) TempDbSettings

An `storageSettings` as defined below.

func (VirtualMachineStorageConfigurationPtrOutput) ToVirtualMachineStorageConfigurationPtrOutput

func (o VirtualMachineStorageConfigurationPtrOutput) ToVirtualMachineStorageConfigurationPtrOutput() VirtualMachineStorageConfigurationPtrOutput

func (VirtualMachineStorageConfigurationPtrOutput) ToVirtualMachineStorageConfigurationPtrOutputWithContext

func (o VirtualMachineStorageConfigurationPtrOutput) ToVirtualMachineStorageConfigurationPtrOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationPtrOutput

type VirtualMachineStorageConfigurationTempDbSettings

type VirtualMachineStorageConfigurationTempDbSettings struct {
	// The SQL Server default path
	DefaultFilePath string `pulumi:"defaultFilePath"`
	// A list of Logical Unit Numbers for the disks.
	Luns []int `pulumi:"luns"`
}

type VirtualMachineStorageConfigurationTempDbSettingsArgs

type VirtualMachineStorageConfigurationTempDbSettingsArgs struct {
	// The SQL Server default path
	DefaultFilePath pulumi.StringInput `pulumi:"defaultFilePath"`
	// A list of Logical Unit Numbers for the disks.
	Luns pulumi.IntArrayInput `pulumi:"luns"`
}

func (VirtualMachineStorageConfigurationTempDbSettingsArgs) ElementType

func (VirtualMachineStorageConfigurationTempDbSettingsArgs) ToVirtualMachineStorageConfigurationTempDbSettingsOutput

func (i VirtualMachineStorageConfigurationTempDbSettingsArgs) ToVirtualMachineStorageConfigurationTempDbSettingsOutput() VirtualMachineStorageConfigurationTempDbSettingsOutput

func (VirtualMachineStorageConfigurationTempDbSettingsArgs) ToVirtualMachineStorageConfigurationTempDbSettingsOutputWithContext

func (i VirtualMachineStorageConfigurationTempDbSettingsArgs) ToVirtualMachineStorageConfigurationTempDbSettingsOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationTempDbSettingsOutput

func (VirtualMachineStorageConfigurationTempDbSettingsArgs) ToVirtualMachineStorageConfigurationTempDbSettingsPtrOutput

func (i VirtualMachineStorageConfigurationTempDbSettingsArgs) ToVirtualMachineStorageConfigurationTempDbSettingsPtrOutput() VirtualMachineStorageConfigurationTempDbSettingsPtrOutput

func (VirtualMachineStorageConfigurationTempDbSettingsArgs) ToVirtualMachineStorageConfigurationTempDbSettingsPtrOutputWithContext

func (i VirtualMachineStorageConfigurationTempDbSettingsArgs) ToVirtualMachineStorageConfigurationTempDbSettingsPtrOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationTempDbSettingsPtrOutput

type VirtualMachineStorageConfigurationTempDbSettingsInput

type VirtualMachineStorageConfigurationTempDbSettingsInput interface {
	pulumi.Input

	ToVirtualMachineStorageConfigurationTempDbSettingsOutput() VirtualMachineStorageConfigurationTempDbSettingsOutput
	ToVirtualMachineStorageConfigurationTempDbSettingsOutputWithContext(context.Context) VirtualMachineStorageConfigurationTempDbSettingsOutput
}

VirtualMachineStorageConfigurationTempDbSettingsInput is an input type that accepts VirtualMachineStorageConfigurationTempDbSettingsArgs and VirtualMachineStorageConfigurationTempDbSettingsOutput values. You can construct a concrete instance of `VirtualMachineStorageConfigurationTempDbSettingsInput` via:

VirtualMachineStorageConfigurationTempDbSettingsArgs{...}

type VirtualMachineStorageConfigurationTempDbSettingsOutput

type VirtualMachineStorageConfigurationTempDbSettingsOutput struct{ *pulumi.OutputState }

func (VirtualMachineStorageConfigurationTempDbSettingsOutput) DefaultFilePath

The SQL Server default path

func (VirtualMachineStorageConfigurationTempDbSettingsOutput) ElementType

func (VirtualMachineStorageConfigurationTempDbSettingsOutput) Luns

A list of Logical Unit Numbers for the disks.

func (VirtualMachineStorageConfigurationTempDbSettingsOutput) ToVirtualMachineStorageConfigurationTempDbSettingsOutput

func (VirtualMachineStorageConfigurationTempDbSettingsOutput) ToVirtualMachineStorageConfigurationTempDbSettingsOutputWithContext

func (o VirtualMachineStorageConfigurationTempDbSettingsOutput) ToVirtualMachineStorageConfigurationTempDbSettingsOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationTempDbSettingsOutput

func (VirtualMachineStorageConfigurationTempDbSettingsOutput) ToVirtualMachineStorageConfigurationTempDbSettingsPtrOutput

func (o VirtualMachineStorageConfigurationTempDbSettingsOutput) ToVirtualMachineStorageConfigurationTempDbSettingsPtrOutput() VirtualMachineStorageConfigurationTempDbSettingsPtrOutput

func (VirtualMachineStorageConfigurationTempDbSettingsOutput) ToVirtualMachineStorageConfigurationTempDbSettingsPtrOutputWithContext

func (o VirtualMachineStorageConfigurationTempDbSettingsOutput) ToVirtualMachineStorageConfigurationTempDbSettingsPtrOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationTempDbSettingsPtrOutput

type VirtualMachineStorageConfigurationTempDbSettingsPtrInput

type VirtualMachineStorageConfigurationTempDbSettingsPtrInput interface {
	pulumi.Input

	ToVirtualMachineStorageConfigurationTempDbSettingsPtrOutput() VirtualMachineStorageConfigurationTempDbSettingsPtrOutput
	ToVirtualMachineStorageConfigurationTempDbSettingsPtrOutputWithContext(context.Context) VirtualMachineStorageConfigurationTempDbSettingsPtrOutput
}

VirtualMachineStorageConfigurationTempDbSettingsPtrInput is an input type that accepts VirtualMachineStorageConfigurationTempDbSettingsArgs, VirtualMachineStorageConfigurationTempDbSettingsPtr and VirtualMachineStorageConfigurationTempDbSettingsPtrOutput values. You can construct a concrete instance of `VirtualMachineStorageConfigurationTempDbSettingsPtrInput` via:

        VirtualMachineStorageConfigurationTempDbSettingsArgs{...}

or:

        nil

type VirtualMachineStorageConfigurationTempDbSettingsPtrOutput

type VirtualMachineStorageConfigurationTempDbSettingsPtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineStorageConfigurationTempDbSettingsPtrOutput) DefaultFilePath

The SQL Server default path

func (VirtualMachineStorageConfigurationTempDbSettingsPtrOutput) Elem

func (VirtualMachineStorageConfigurationTempDbSettingsPtrOutput) ElementType

func (VirtualMachineStorageConfigurationTempDbSettingsPtrOutput) Luns

A list of Logical Unit Numbers for the disks.

func (VirtualMachineStorageConfigurationTempDbSettingsPtrOutput) ToVirtualMachineStorageConfigurationTempDbSettingsPtrOutput

func (VirtualMachineStorageConfigurationTempDbSettingsPtrOutput) ToVirtualMachineStorageConfigurationTempDbSettingsPtrOutputWithContext

func (o VirtualMachineStorageConfigurationTempDbSettingsPtrOutput) ToVirtualMachineStorageConfigurationTempDbSettingsPtrOutputWithContext(ctx context.Context) VirtualMachineStorageConfigurationTempDbSettingsPtrOutput

type VirtualNetworkRule

type VirtualNetworkRule struct {
	pulumi.CustomResourceState

	// Create the virtual network rule before the subnet has the virtual network service endpoint enabled. Defaults to `false`.
	IgnoreMissingVnetServiceEndpoint pulumi.BoolPtrOutput `pulumi:"ignoreMissingVnetServiceEndpoint"`
	// The name of the SQL virtual network rule. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The resource ID of the SQL Server to which this SQL virtual network rule will be applied. Changing this forces a new resource to be created.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
	// The ID of the subnet from which the SQL server will accept communications.
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
}

Allows you to manage rules for allowing traffic between an Azure SQL server and a subnet of a virtual network.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/mssql"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &network.VirtualNetworkArgs{
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.7.29.0/29"),
			},
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "exampleSubnet", &network.SubnetArgs{
			ResourceGroupName:  exampleResourceGroup.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.7.29.0/29"),
			},
			ServiceEndpoints: pulumi.StringArray{
				pulumi.String("Microsoft.Sql"),
			},
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "exampleServer", &mssql.ServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewVirtualNetworkRule(ctx, "exampleVirtualNetworkRule", &mssql.VirtualNetworkRuleArgs{
			ServerId: exampleServer.ID(),
			SubnetId: exampleSubnet.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:mssql/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. Defaults to `false`.
	IgnoreMissingVnetServiceEndpoint pulumi.BoolPtrInput
	// The name of the SQL virtual network rule. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The resource ID of the SQL Server to which this SQL virtual network rule will be applied. Changing this forces a new resource to be created.
	ServerId pulumi.StringInput
	// The ID of the subnet from which the SQL server will accept communications.
	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) 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. Defaults to `false`.
	IgnoreMissingVnetServiceEndpoint pulumi.BoolPtrInput
	// The name of the SQL virtual network rule. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The resource ID of the SQL Server to which this SQL virtual network rule will be applied. Changing this forces a new resource to be created.
	ServerId pulumi.StringPtrInput
	// The ID of the subnet from which the SQL server will accept communications.
	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