mssql

package
v5.74.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type 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 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`. Mutually exclusive with `import`. Changing this forces a new resource to be created. Defaults to `Default`.
	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.
	//
	// > **NOTE:** When configuring a secondary database, please be aware of the constraints for the `skuName` property, as noted below, for both the primary and secondary databases. The `skuName` of the secondary database may be inadvertently changed to match that of the primary when an incompatible combination of SKUs is detected by the provider.
	CreationSourceDatabaseId pulumi.StringOutput `pulumi:"creationSourceDatabaseId"`
	// Specifies the ID of the elastic pool containing this database.
	ElasticPoolId pulumi.StringPtrOutput `pulumi:"elasticPoolId"`
	// Specifies the type of enclave to be used by the elastic pool. When `enclaveType` is not specified (e.g., the default) enclaves are not enabled on the database. <!-- TODO: Uncomment in 4.0: Once enabled (e.g., by specifying `Default` or `VBS`) removing the `enclaveType` field from the configuration file will force the creation of a new resource.-> Possible values are `Default` or `VBS`.
	//
	// > **NOTE:** `enclaveType` is currently not supported for DW (e.g, DataWarehouse) and DC-series SKUs.
	//
	// > **NOTE:** Geo Replicated and Failover databases must have the same `enclaveType`.
	//
	// > **NOTE:** The default value for the `enclaveType` field is unset not `Default`.
	EnclaveType pulumi.StringOutput `pulumi:"enclaveType"`
	// A boolean that specifies if the Geo Backup Policy is enabled. Defaults to `true`.
	//
	// > **NOTE:** `geoBackupEnabled` is only applicable for DataWarehouse SKUs (DW*). This setting is ignored for all other SKUs.
	GeoBackupEnabled pulumi.BoolPtrOutput `pulumi:"geoBackupEnabled"`
	// An `identity` block as defined below.
	Identity DatabaseIdentityPtrOutput `pulumi:"identity"`
	// A `import` block as documented below. Mutually exclusive with `createMode`.
	Import DatabaseImportPtrOutput `pulumi:"import"`
	// A boolean that specifies if this is a ledger database. Defaults to `false`. Changing this forces a new resource to be created.
	LedgerEnabled pulumi.BoolOutput `pulumi:"ledgerEnabled"`
	// 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 name of the Public Maintenance Configuration window to apply to the database. Valid values include `SQL_Default`, `SQL_EastUS_DB_1`, `SQL_EastUS2_DB_1`, `SQL_SoutheastAsia_DB_1`, `SQL_AustraliaEast_DB_1`, `SQL_NorthEurope_DB_1`, `SQL_SouthCentralUS_DB_1`, `SQL_WestUS2_DB_1`, `SQL_UKSouth_DB_1`, `SQL_WestEurope_DB_1`, `SQL_EastUS_DB_2`, `SQL_EastUS2_DB_2`, `SQL_WestUS2_DB_2`, `SQL_SoutheastAsia_DB_2`, `SQL_AustraliaEast_DB_2`, `SQL_NorthEurope_DB_2`, `SQL_SouthCentralUS_DB_2`, `SQL_UKSouth_DB_2`, `SQL_WestEurope_DB_2`, `SQL_AustraliaSoutheast_DB_1`, `SQL_BrazilSouth_DB_1`, `SQL_CanadaCentral_DB_1`, `SQL_CanadaEast_DB_1`, `SQL_CentralUS_DB_1`, `SQL_EastAsia_DB_1`, `SQL_FranceCentral_DB_1`, `SQL_GermanyWestCentral_DB_1`, `SQL_CentralIndia_DB_1`, `SQL_SouthIndia_DB_1`, `SQL_JapanEast_DB_1`, `SQL_JapanWest_DB_1`, `SQL_NorthCentralUS_DB_1`, `SQL_UKWest_DB_1`, `SQL_WestUS_DB_1`, `SQL_AustraliaSoutheast_DB_2`, `SQL_BrazilSouth_DB_2`, `SQL_CanadaCentral_DB_2`, `SQL_CanadaEast_DB_2`, `SQL_CentralUS_DB_2`, `SQL_EastAsia_DB_2`, `SQL_FranceCentral_DB_2`, `SQL_GermanyWestCentral_DB_2`, `SQL_CentralIndia_DB_2`, `SQL_SouthIndia_DB_2`, `SQL_JapanEast_DB_2`, `SQL_JapanWest_DB_2`, `SQL_NorthCentralUS_DB_2`, `SQL_UKWest_DB_2`, `SQL_WestUS_DB_2`, `SQL_WestCentralUS_DB_1`, `SQL_FranceSouth_DB_1`, `SQL_WestCentralUS_DB_2`, `SQL_FranceSouth_DB_2`, `SQL_SwitzerlandNorth_DB_1`, `SQL_SwitzerlandNorth_DB_2`, `SQL_BrazilSoutheast_DB_1`, `SQL_UAENorth_DB_1`, `SQL_BrazilSoutheast_DB_2`, `SQL_UAENorth_DB_2`. Defaults to `SQL_Default`.
	//
	// > **NOTE:** `maintenanceConfigurationName` is only applicable if `elasticPoolId` is not set.
	MaintenanceConfigurationName pulumi.StringOutput `pulumi:"maintenanceConfigurationName"`
	// The max size of the database in gigabytes.
	//
	// > **NOTE:** This value should not be configured when the `createMode` is `Secondary` or `OnlineSecondary`, as the sizing of the primary is then used as per [Azure documentation](https://docs.microsoft.com/azure/azure-sql/database/single-database-scale#geo-replicated-database).
	MaxSizeGb pulumi.IntOutput `pulumi:"maxSizeGb"`
	// Minimal capacity that database will always have allocated, if not paused. This property is only settable for 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 Recovery Services Recovery Point Id to be restored. This property is only applicable when the `createMode` is `Recovery`.
	RecoveryPointId pulumi.StringPtrOutput `pulumi:"recoveryPointId"`
	// The ID of the database to be restored. This property is only applicable when the `createMode` is `Restore`.
	RestoreDroppedDatabaseId pulumi.StringPtrOutput `pulumi:"restoreDroppedDatabaseId"`
	// The ID of the long term retention backup to be restored. This property is only applicable when the `createMode` is `RestoreLongTermRetentionBackup`.
	RestoreLongTermRetentionBackupId pulumi.StringPtrOutput `pulumi:"restoreLongTermRetentionBackupId"`
	// 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"`
	// How do you want your replica to be made? Valid values include `Geo` and `Named`. Defaults to `Geo`. Changing this forces a new resource to be created.
	SecondaryType pulumi.StringOutput `pulumi:"secondaryType"`
	// The id of the MS SQL Server on which to create the database. Changing this forces a new resource to be created.
	//
	// > **NOTE:** This setting is still required for "Serverless" SKUs
	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 create a new resource.
	//
	// > **NOTE:** The default `skuName` value may differ between Azure locations depending on local availability of Gen4/Gen5 capacity. When databases are replicated using the `creationSourceDatabaseId` property, the source (primary) database cannot have a higher SKU service tier than any secondary databases. When changing the `skuName` of a database having one or more secondary databases, this resource will first update any secondary databases as necessary. In such cases it's recommended to use the same `skuName` in your configuration for all related databases, as not doing so may cause an unresolvable diff during subsequent plans.
	SkuName pulumi.StringOutput `pulumi:"skuName"`
	// Specifies the storage account type used to store backups for this database. Possible values are `Geo`, `GeoZone`, `Local` and `Zone`. Defaults to `Geo`.
	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"`
	// If set to true, Transparent Data Encryption will be enabled on the database. Defaults to `true`.
	//
	// > **NOTE:** `transparentDataEncryptionEnabled` can only be set to `false` on DW (e.g, DataWarehouse) server SKUs.
	TransparentDataEncryptionEnabled pulumi.BoolPtrOutput `pulumi:"transparentDataEncryptionEnabled"`
	// Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`.
	TransparentDataEncryptionKeyAutomaticRotationEnabled pulumi.BoolPtrOutput `pulumi:"transparentDataEncryptionKeyAutomaticRotationEnabled"`
	// The fully versioned `Key Vault` `Key` URL (e.g. `'https://<YourVaultName>.vault.azure.net/keys/<YourKeyName>/<YourKeyVersion>`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.
	//
	// > **NOTE:** To successfully deploy a `Microsoft SQL Database` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` `tenant`.
	TransparentDataEncryptionKeyVaultKeyId pulumi.StringPtrOutput `pulumi:"transparentDataEncryptionKeyVaultKeyId"`
	// 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"`
}

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("examplesa"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("example-sqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewDatabase(ctx, "example", &mssql.DatabaseArgs{
			Name:          pulumi.String("example-db"),
			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("S0"),
			ZoneRedundant: pulumi.Bool(true),
			EnclaveType:   pulumi.String("VBS"),
			Tags: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Transparent Data Encryption(TDE) With A Customer Managed Key(CMK) During Create ```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "example", &authorization.UserAssignedIdentityArgs{
			Name:              pulumi.String("example-admin"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		_, err = storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("examplesa"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("example-sqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		// Create a key vault with access policies which allow for the current user to get, list, create, delete, update, recover, purge and getRotationPolicy for the key vault key and also add a key vault access policy for the Microsoft Sql Server instance User Managed Identity to get, wrap, and unwrap key(s)
		exampleKeyVault, err := keyvault.NewKeyVault(ctx, "example", &keyvault.KeyVaultArgs{
			Name:                     pulumi.String("mssqltdeexample"),
			Location:                 example.Location,
			ResourceGroupName:        example.Name,
			EnabledForDiskEncryption: pulumi.Bool(true),
			TenantId:                 exampleUserAssignedIdentity.TenantId,
			SoftDeleteRetentionDays:  pulumi.Int(7),
			PurgeProtectionEnabled:   pulumi.Bool(true),
			SkuName:                  pulumi.String("standard"),
			AccessPolicies: keyvault.KeyVaultAccessPolicyArray{
				&keyvault.KeyVaultAccessPolicyArgs{
					TenantId: pulumi.Any(current.TenantId),
					ObjectId: pulumi.Any(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"),
						pulumi.String("GetRotationPolicy"),
					},
				},
				&keyvault.KeyVaultAccessPolicyArgs{
					TenantId: exampleUserAssignedIdentity.TenantId,
					ObjectId: exampleUserAssignedIdentity.PrincipalId,
					KeyPermissions: pulumi.StringArray{
						pulumi.String("Get"),
						pulumi.String("WrapKey"),
						pulumi.String("UnwrapKey"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		exampleKey, err := keyvault.NewKey(ctx, "example", &keyvault.KeyArgs{
			Name:       pulumi.String("example-key"),
			KeyVaultId: exampleKeyVault.ID(),
			KeyType:    pulumi.String("RSA"),
			KeySize:    pulumi.Int(2048),
			KeyOpts: pulumi.StringArray{
				pulumi.String("unwrapKey"),
				pulumi.String("wrapKey"),
			},
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewDatabase(ctx, "example", &mssql.DatabaseArgs{
			Name:          pulumi.String("example-db"),
			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("S0"),
			ZoneRedundant: pulumi.Bool(true),
			EnclaveType:   pulumi.String("VBS"),
			Tags: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Identity: &mssql.DatabaseIdentityArgs{
				Type: pulumi.String("UserAssigned"),
				IdentityIds: pulumi.StringArray{
					exampleUserAssignedIdentity.ID(),
				},
			},
			TransparentDataEncryptionKeyVaultKeyId: exampleKey.ID(),
		})
		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 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`. Mutually exclusive with `import`. Changing this forces a new resource to be created. Defaults to `Default`.
	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.
	//
	// > **NOTE:** When configuring a secondary database, please be aware of the constraints for the `skuName` property, as noted below, for both the primary and secondary databases. The `skuName` of the secondary database may be inadvertently changed to match that of the primary when an incompatible combination of SKUs is detected by the provider.
	CreationSourceDatabaseId pulumi.StringPtrInput
	// Specifies the ID of the elastic pool containing this database.
	ElasticPoolId pulumi.StringPtrInput
	// Specifies the type of enclave to be used by the elastic pool. When `enclaveType` is not specified (e.g., the default) enclaves are not enabled on the database. <!-- TODO: Uncomment in 4.0: Once enabled (e.g., by specifying `Default` or `VBS`) removing the `enclaveType` field from the configuration file will force the creation of a new resource.-> Possible values are `Default` or `VBS`.
	//
	// > **NOTE:** `enclaveType` is currently not supported for DW (e.g, DataWarehouse) and DC-series SKUs.
	//
	// > **NOTE:** Geo Replicated and Failover databases must have the same `enclaveType`.
	//
	// > **NOTE:** The default value for the `enclaveType` field is unset not `Default`.
	EnclaveType pulumi.StringPtrInput
	// A boolean that specifies if the Geo Backup Policy is enabled. Defaults to `true`.
	//
	// > **NOTE:** `geoBackupEnabled` is only applicable for DataWarehouse SKUs (DW*). This setting is ignored for all other SKUs.
	GeoBackupEnabled pulumi.BoolPtrInput
	// An `identity` block as defined below.
	Identity DatabaseIdentityPtrInput
	// A `import` block as documented below. Mutually exclusive with `createMode`.
	Import DatabaseImportPtrInput
	// A boolean that specifies if this is a ledger database. Defaults to `false`. Changing this forces a new resource to be created.
	LedgerEnabled 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 name of the Public Maintenance Configuration window to apply to the database. Valid values include `SQL_Default`, `SQL_EastUS_DB_1`, `SQL_EastUS2_DB_1`, `SQL_SoutheastAsia_DB_1`, `SQL_AustraliaEast_DB_1`, `SQL_NorthEurope_DB_1`, `SQL_SouthCentralUS_DB_1`, `SQL_WestUS2_DB_1`, `SQL_UKSouth_DB_1`, `SQL_WestEurope_DB_1`, `SQL_EastUS_DB_2`, `SQL_EastUS2_DB_2`, `SQL_WestUS2_DB_2`, `SQL_SoutheastAsia_DB_2`, `SQL_AustraliaEast_DB_2`, `SQL_NorthEurope_DB_2`, `SQL_SouthCentralUS_DB_2`, `SQL_UKSouth_DB_2`, `SQL_WestEurope_DB_2`, `SQL_AustraliaSoutheast_DB_1`, `SQL_BrazilSouth_DB_1`, `SQL_CanadaCentral_DB_1`, `SQL_CanadaEast_DB_1`, `SQL_CentralUS_DB_1`, `SQL_EastAsia_DB_1`, `SQL_FranceCentral_DB_1`, `SQL_GermanyWestCentral_DB_1`, `SQL_CentralIndia_DB_1`, `SQL_SouthIndia_DB_1`, `SQL_JapanEast_DB_1`, `SQL_JapanWest_DB_1`, `SQL_NorthCentralUS_DB_1`, `SQL_UKWest_DB_1`, `SQL_WestUS_DB_1`, `SQL_AustraliaSoutheast_DB_2`, `SQL_BrazilSouth_DB_2`, `SQL_CanadaCentral_DB_2`, `SQL_CanadaEast_DB_2`, `SQL_CentralUS_DB_2`, `SQL_EastAsia_DB_2`, `SQL_FranceCentral_DB_2`, `SQL_GermanyWestCentral_DB_2`, `SQL_CentralIndia_DB_2`, `SQL_SouthIndia_DB_2`, `SQL_JapanEast_DB_2`, `SQL_JapanWest_DB_2`, `SQL_NorthCentralUS_DB_2`, `SQL_UKWest_DB_2`, `SQL_WestUS_DB_2`, `SQL_WestCentralUS_DB_1`, `SQL_FranceSouth_DB_1`, `SQL_WestCentralUS_DB_2`, `SQL_FranceSouth_DB_2`, `SQL_SwitzerlandNorth_DB_1`, `SQL_SwitzerlandNorth_DB_2`, `SQL_BrazilSoutheast_DB_1`, `SQL_UAENorth_DB_1`, `SQL_BrazilSoutheast_DB_2`, `SQL_UAENorth_DB_2`. Defaults to `SQL_Default`.
	//
	// > **NOTE:** `maintenanceConfigurationName` is only applicable if `elasticPoolId` is not set.
	MaintenanceConfigurationName pulumi.StringPtrInput
	// The max size of the database in gigabytes.
	//
	// > **NOTE:** This value should not be configured when the `createMode` is `Secondary` or `OnlineSecondary`, as the sizing of the primary is then used as per [Azure documentation](https://docs.microsoft.com/azure/azure-sql/database/single-database-scale#geo-replicated-database).
	MaxSizeGb pulumi.IntPtrInput
	// Minimal capacity that database will always have allocated, if not paused. This property is only settable for 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 Recovery Services Recovery Point Id to be restored. This property is only applicable when the `createMode` is `Recovery`.
	RecoveryPointId pulumi.StringPtrInput
	// The ID of the database to be restored. This property is only applicable when the `createMode` is `Restore`.
	RestoreDroppedDatabaseId pulumi.StringPtrInput
	// The ID of the long term retention backup to be restored. This property is only applicable when the `createMode` is `RestoreLongTermRetentionBackup`.
	RestoreLongTermRetentionBackupId 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
	// How do you want your replica to be made? Valid values include `Geo` and `Named`. Defaults to `Geo`. Changing this forces a new resource to be created.
	SecondaryType pulumi.StringPtrInput
	// The id of the MS SQL Server on which to create the database. Changing this forces a new resource to be created.
	//
	// > **NOTE:** This setting is still required for "Serverless" SKUs
	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 create a new resource.
	//
	// > **NOTE:** The default `skuName` value may differ between Azure locations depending on local availability of Gen4/Gen5 capacity. When databases are replicated using the `creationSourceDatabaseId` property, the source (primary) database cannot have a higher SKU service tier than any secondary databases. When changing the `skuName` of a database having one or more secondary databases, this resource will first update any secondary databases as necessary. In such cases it's recommended to use the same `skuName` in your configuration for all related databases, as not doing so may cause an unresolvable diff during subsequent plans.
	SkuName pulumi.StringPtrInput
	// Specifies the storage account type used to store backups for this database. Possible values are `Geo`, `GeoZone`, `Local` and `Zone`. Defaults to `Geo`.
	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
	// If set to true, Transparent Data Encryption will be enabled on the database. Defaults to `true`.
	//
	// > **NOTE:** `transparentDataEncryptionEnabled` can only be set to `false` on DW (e.g, DataWarehouse) server SKUs.
	TransparentDataEncryptionEnabled pulumi.BoolPtrInput
	// Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`.
	TransparentDataEncryptionKeyAutomaticRotationEnabled pulumi.BoolPtrInput
	// The fully versioned `Key Vault` `Key` URL (e.g. `'https://<YourVaultName>.vault.azure.net/keys/<YourKeyName>/<YourKeyVersion>`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.
	//
	// > **NOTE:** To successfully deploy a `Microsoft SQL Database` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` `tenant`.
	TransparentDataEncryptionKeyVaultKeyId pulumi.StringPtrInput
	// 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"`
	// Whether to enable the extended auditing policy. Possible values are `true` and `false`. Defaults to `true`.
	//
	// ->**NOTE:**  If `enabled` is `true`, `storageEndpoint` or `logMonitoringEnabled` are required.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// Enable audit events to Azure Monitor? Defaults to `true`.
	//
	// > **NOTE:** To enable sending audit events to Log Analytics, please refer to the example which can be found in the `./examples/sql-azure/sql_auditing_log_analytics` directory within the GitHub Repository.  To enable sending server audit events to Log Analytics, please enable the master database to send audit events to Log Analytics.
	// To enable audit events to Eventhub, please refer to the example which can be found in the `./examples/sql-azure/sql_auditing_eventhub` directory within the GitHub Repository.
	LogMonitoringEnabled pulumi.BoolPtrOutput `pulumi:"logMonitoringEnabled"`
	// The number of days to retain logs for in the storage account. Defaults to `0`.
	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://example.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.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("example-sqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("AdminPassword123!"),
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := mssql.NewDatabase(ctx, "example", &mssql.DatabaseArgs{
			Name:     pulumi.String("example-db"),
			ServerId: exampleServer.ID(),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("examplesa"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewDatabaseExtendedAuditingPolicy(ctx, "example", &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 Policies 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
	// Whether to enable the extended auditing policy. Possible values are `true` and `false`. Defaults to `true`.
	//
	// ->**NOTE:**  If `enabled` is `true`, `storageEndpoint` or `logMonitoringEnabled` are required.
	Enabled pulumi.BoolPtrInput
	// Enable audit events to Azure Monitor? Defaults to `true`.
	//
	// > **NOTE:** To enable sending audit events to Log Analytics, please refer to the example which can be found in the `./examples/sql-azure/sql_auditing_log_analytics` directory within the GitHub Repository.  To enable sending server audit events to Log Analytics, please enable the master database to send audit events to Log Analytics.
	// To enable audit events to Eventhub, please refer to the example which can be found in the `./examples/sql-azure/sql_auditing_eventhub` directory within the GitHub Repository.
	LogMonitoringEnabled pulumi.BoolPtrInput
	// The number of days to retain logs for in the storage account. Defaults to `0`.
	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://example.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) DatabaseId added in v5.5.0

The ID of the SQL database to set the extended auditing policy. Changing this forces a new resource to be created.

func (DatabaseExtendedAuditingPolicyOutput) ElementType

func (DatabaseExtendedAuditingPolicyOutput) Enabled added in v5.5.0

Whether to enable the extended auditing policy. Possible values are `true` and `false`. Defaults to `true`.

->**NOTE:** If `enabled` is `true`, `storageEndpoint` or `logMonitoringEnabled` are required.

func (DatabaseExtendedAuditingPolicyOutput) LogMonitoringEnabled added in v5.5.0

Enable audit events to Azure Monitor? Defaults to `true`.

> **NOTE:** To enable sending audit events to Log Analytics, please refer to the example which can be found in the `./examples/sql-azure/sql_auditing_log_analytics` directory within the GitHub Repository. To enable sending server audit events to Log Analytics, please enable the master database to send audit events to Log Analytics. To enable audit events to Eventhub, please refer to the example which can be found in the `./examples/sql-azure/sql_auditing_eventhub` directory within the GitHub Repository.

func (DatabaseExtendedAuditingPolicyOutput) RetentionInDays added in v5.5.0

The number of days to retain logs for in the storage account. Defaults to `0`.

func (DatabaseExtendedAuditingPolicyOutput) StorageAccountAccessKey added in v5.5.0

func (o DatabaseExtendedAuditingPolicyOutput) StorageAccountAccessKey() pulumi.StringPtrOutput

The access key to use for the auditing storage account.

func (DatabaseExtendedAuditingPolicyOutput) StorageAccountAccessKeyIsSecondary added in v5.5.0

func (o DatabaseExtendedAuditingPolicyOutput) StorageAccountAccessKeyIsSecondary() pulumi.BoolPtrOutput

Is `storageAccountAccessKey` value the storage's secondary key?

func (DatabaseExtendedAuditingPolicyOutput) StorageEndpoint added in v5.5.0

The blob storage endpoint (e.g. <https://example.blob.core.windows.net>). This blob storage will hold all extended auditing logs.

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
	// Whether to enable the extended auditing policy. Possible values are `true` and `false`. Defaults to `true`.
	//
	// ->**NOTE:**  If `enabled` is `true`, `storageEndpoint` or `logMonitoringEnabled` are required.
	Enabled pulumi.BoolPtrInput
	// Enable audit events to Azure Monitor? Defaults to `true`.
	//
	// > **NOTE:** To enable sending audit events to Log Analytics, please refer to the example which can be found in the `./examples/sql-azure/sql_auditing_log_analytics` directory within the GitHub Repository.  To enable sending server audit events to Log Analytics, please enable the master database to send audit events to Log Analytics.
	// To enable audit events to Eventhub, please refer to the example which can be found in the `./examples/sql-azure/sql_auditing_eventhub` directory within the GitHub Repository.
	LogMonitoringEnabled pulumi.BoolPtrInput
	// The number of days to retain logs for in the storage account. Defaults to `0`.
	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://example.blob.core.windows.net>). This blob storage will hold all extended auditing logs.
	StorageEndpoint pulumi.StringPtrInput
}

func (DatabaseExtendedAuditingPolicyState) ElementType

type DatabaseIdentity added in v5.62.0

type DatabaseIdentity struct {
	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Database.
	IdentityIds []string `pulumi:"identityIds"`
	// Specifies the type of Managed Service Identity that should be configured on this SQL Database. Possible value is `UserAssigned`.
	Type string `pulumi:"type"`
}

type DatabaseIdentityArgs added in v5.62.0

type DatabaseIdentityArgs struct {
	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Database.
	IdentityIds pulumi.StringArrayInput `pulumi:"identityIds"`
	// Specifies the type of Managed Service Identity that should be configured on this SQL Database. Possible value is `UserAssigned`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (DatabaseIdentityArgs) ElementType added in v5.62.0

func (DatabaseIdentityArgs) ElementType() reflect.Type

func (DatabaseIdentityArgs) ToDatabaseIdentityOutput added in v5.62.0

func (i DatabaseIdentityArgs) ToDatabaseIdentityOutput() DatabaseIdentityOutput

func (DatabaseIdentityArgs) ToDatabaseIdentityOutputWithContext added in v5.62.0

func (i DatabaseIdentityArgs) ToDatabaseIdentityOutputWithContext(ctx context.Context) DatabaseIdentityOutput

func (DatabaseIdentityArgs) ToDatabaseIdentityPtrOutput added in v5.62.0

func (i DatabaseIdentityArgs) ToDatabaseIdentityPtrOutput() DatabaseIdentityPtrOutput

func (DatabaseIdentityArgs) ToDatabaseIdentityPtrOutputWithContext added in v5.62.0

func (i DatabaseIdentityArgs) ToDatabaseIdentityPtrOutputWithContext(ctx context.Context) DatabaseIdentityPtrOutput

type DatabaseIdentityInput added in v5.62.0

type DatabaseIdentityInput interface {
	pulumi.Input

	ToDatabaseIdentityOutput() DatabaseIdentityOutput
	ToDatabaseIdentityOutputWithContext(context.Context) DatabaseIdentityOutput
}

DatabaseIdentityInput is an input type that accepts DatabaseIdentityArgs and DatabaseIdentityOutput values. You can construct a concrete instance of `DatabaseIdentityInput` via:

DatabaseIdentityArgs{...}

type DatabaseIdentityOutput added in v5.62.0

type DatabaseIdentityOutput struct{ *pulumi.OutputState }

func (DatabaseIdentityOutput) ElementType added in v5.62.0

func (DatabaseIdentityOutput) ElementType() reflect.Type

func (DatabaseIdentityOutput) IdentityIds added in v5.62.0

Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Database.

func (DatabaseIdentityOutput) ToDatabaseIdentityOutput added in v5.62.0

func (o DatabaseIdentityOutput) ToDatabaseIdentityOutput() DatabaseIdentityOutput

func (DatabaseIdentityOutput) ToDatabaseIdentityOutputWithContext added in v5.62.0

func (o DatabaseIdentityOutput) ToDatabaseIdentityOutputWithContext(ctx context.Context) DatabaseIdentityOutput

func (DatabaseIdentityOutput) ToDatabaseIdentityPtrOutput added in v5.62.0

func (o DatabaseIdentityOutput) ToDatabaseIdentityPtrOutput() DatabaseIdentityPtrOutput

func (DatabaseIdentityOutput) ToDatabaseIdentityPtrOutputWithContext added in v5.62.0

func (o DatabaseIdentityOutput) ToDatabaseIdentityPtrOutputWithContext(ctx context.Context) DatabaseIdentityPtrOutput

func (DatabaseIdentityOutput) Type added in v5.62.0

Specifies the type of Managed Service Identity that should be configured on this SQL Database. Possible value is `UserAssigned`.

type DatabaseIdentityPtrInput added in v5.62.0

type DatabaseIdentityPtrInput interface {
	pulumi.Input

	ToDatabaseIdentityPtrOutput() DatabaseIdentityPtrOutput
	ToDatabaseIdentityPtrOutputWithContext(context.Context) DatabaseIdentityPtrOutput
}

DatabaseIdentityPtrInput is an input type that accepts DatabaseIdentityArgs, DatabaseIdentityPtr and DatabaseIdentityPtrOutput values. You can construct a concrete instance of `DatabaseIdentityPtrInput` via:

        DatabaseIdentityArgs{...}

or:

        nil

func DatabaseIdentityPtr added in v5.62.0

func DatabaseIdentityPtr(v *DatabaseIdentityArgs) DatabaseIdentityPtrInput

type DatabaseIdentityPtrOutput added in v5.62.0

type DatabaseIdentityPtrOutput struct{ *pulumi.OutputState }

func (DatabaseIdentityPtrOutput) Elem added in v5.62.0

func (DatabaseIdentityPtrOutput) ElementType added in v5.62.0

func (DatabaseIdentityPtrOutput) ElementType() reflect.Type

func (DatabaseIdentityPtrOutput) IdentityIds added in v5.62.0

Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Database.

func (DatabaseIdentityPtrOutput) ToDatabaseIdentityPtrOutput added in v5.62.0

func (o DatabaseIdentityPtrOutput) ToDatabaseIdentityPtrOutput() DatabaseIdentityPtrOutput

func (DatabaseIdentityPtrOutput) ToDatabaseIdentityPtrOutputWithContext added in v5.62.0

func (o DatabaseIdentityPtrOutput) ToDatabaseIdentityPtrOutputWithContext(ctx context.Context) DatabaseIdentityPtrOutput

func (DatabaseIdentityPtrOutput) Type added in v5.62.0

Specifies the type of Managed Service Identity that should be configured on this SQL Database. Possible value is `UserAssigned`.

type DatabaseImport added in v5.22.0

type DatabaseImport struct {
	// Specifies the name of the SQL administrator.
	AdministratorLogin string `pulumi:"administratorLogin"`
	// Specifies the password of the SQL administrator.
	AdministratorLoginPassword string `pulumi:"administratorLoginPassword"`
	// Specifies the type of authentication used to access the server. Valid values are `SQL` or `ADPassword`.
	AuthenticationType string `pulumi:"authenticationType"`
	// The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for storageUri parameter.
	StorageAccountId *string `pulumi:"storageAccountId"`
	// Specifies the access key for the storage account.
	StorageKey string `pulumi:"storageKey"`
	// Specifies the type of access key for the storage account. Valid values are `StorageAccessKey` or `SharedAccessKey`.
	StorageKeyType string `pulumi:"storageKeyType"`
	// Specifies the blob URI of the .bacpac file.
	StorageUri string `pulumi:"storageUri"`
}

type DatabaseImportArgs added in v5.22.0

type DatabaseImportArgs struct {
	// Specifies the name of the SQL administrator.
	AdministratorLogin pulumi.StringInput `pulumi:"administratorLogin"`
	// Specifies the password of the SQL administrator.
	AdministratorLoginPassword pulumi.StringInput `pulumi:"administratorLoginPassword"`
	// Specifies the type of authentication used to access the server. Valid values are `SQL` or `ADPassword`.
	AuthenticationType pulumi.StringInput `pulumi:"authenticationType"`
	// The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for storageUri parameter.
	StorageAccountId pulumi.StringPtrInput `pulumi:"storageAccountId"`
	// Specifies the access key for the storage account.
	StorageKey pulumi.StringInput `pulumi:"storageKey"`
	// Specifies the type of access key for the storage account. Valid values are `StorageAccessKey` or `SharedAccessKey`.
	StorageKeyType pulumi.StringInput `pulumi:"storageKeyType"`
	// Specifies the blob URI of the .bacpac file.
	StorageUri pulumi.StringInput `pulumi:"storageUri"`
}

func (DatabaseImportArgs) ElementType added in v5.22.0

func (DatabaseImportArgs) ElementType() reflect.Type

func (DatabaseImportArgs) ToDatabaseImportOutput added in v5.22.0

func (i DatabaseImportArgs) ToDatabaseImportOutput() DatabaseImportOutput

func (DatabaseImportArgs) ToDatabaseImportOutputWithContext added in v5.22.0

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

func (DatabaseImportArgs) ToDatabaseImportPtrOutput added in v5.22.0

func (i DatabaseImportArgs) ToDatabaseImportPtrOutput() DatabaseImportPtrOutput

func (DatabaseImportArgs) ToDatabaseImportPtrOutputWithContext added in v5.22.0

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

type DatabaseImportInput added in v5.22.0

type DatabaseImportInput interface {
	pulumi.Input

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

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

DatabaseImportArgs{...}

type DatabaseImportOutput added in v5.22.0

type DatabaseImportOutput struct{ *pulumi.OutputState }

func (DatabaseImportOutput) AdministratorLogin added in v5.22.0

func (o DatabaseImportOutput) AdministratorLogin() pulumi.StringOutput

Specifies the name of the SQL administrator.

func (DatabaseImportOutput) AdministratorLoginPassword added in v5.22.0

func (o DatabaseImportOutput) AdministratorLoginPassword() pulumi.StringOutput

Specifies the password of the SQL administrator.

func (DatabaseImportOutput) AuthenticationType added in v5.22.0

func (o DatabaseImportOutput) AuthenticationType() pulumi.StringOutput

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

func (DatabaseImportOutput) ElementType added in v5.22.0

func (DatabaseImportOutput) ElementType() reflect.Type

func (DatabaseImportOutput) StorageAccountId added in v5.22.0

func (o DatabaseImportOutput) StorageAccountId() pulumi.StringPtrOutput

The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for storageUri parameter.

func (DatabaseImportOutput) StorageKey added in v5.22.0

func (o DatabaseImportOutput) StorageKey() pulumi.StringOutput

Specifies the access key for the storage account.

func (DatabaseImportOutput) StorageKeyType added in v5.22.0

func (o DatabaseImportOutput) StorageKeyType() pulumi.StringOutput

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

func (DatabaseImportOutput) StorageUri added in v5.22.0

func (o DatabaseImportOutput) StorageUri() pulumi.StringOutput

Specifies the blob URI of the .bacpac file.

func (DatabaseImportOutput) ToDatabaseImportOutput added in v5.22.0

func (o DatabaseImportOutput) ToDatabaseImportOutput() DatabaseImportOutput

func (DatabaseImportOutput) ToDatabaseImportOutputWithContext added in v5.22.0

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

func (DatabaseImportOutput) ToDatabaseImportPtrOutput added in v5.22.0

func (o DatabaseImportOutput) ToDatabaseImportPtrOutput() DatabaseImportPtrOutput

func (DatabaseImportOutput) ToDatabaseImportPtrOutputWithContext added in v5.22.0

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

type DatabaseImportPtrInput added in v5.22.0

type DatabaseImportPtrInput interface {
	pulumi.Input

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

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

        DatabaseImportArgs{...}

or:

        nil

func DatabaseImportPtr added in v5.22.0

func DatabaseImportPtr(v *DatabaseImportArgs) DatabaseImportPtrInput

type DatabaseImportPtrOutput added in v5.22.0

type DatabaseImportPtrOutput struct{ *pulumi.OutputState }

func (DatabaseImportPtrOutput) AdministratorLogin added in v5.22.0

func (o DatabaseImportPtrOutput) AdministratorLogin() pulumi.StringPtrOutput

Specifies the name of the SQL administrator.

func (DatabaseImportPtrOutput) AdministratorLoginPassword added in v5.22.0

func (o DatabaseImportPtrOutput) AdministratorLoginPassword() pulumi.StringPtrOutput

Specifies the password of the SQL administrator.

func (DatabaseImportPtrOutput) AuthenticationType added in v5.22.0

func (o DatabaseImportPtrOutput) AuthenticationType() pulumi.StringPtrOutput

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

func (DatabaseImportPtrOutput) Elem added in v5.22.0

func (DatabaseImportPtrOutput) ElementType added in v5.22.0

func (DatabaseImportPtrOutput) ElementType() reflect.Type

func (DatabaseImportPtrOutput) StorageAccountId added in v5.22.0

func (o DatabaseImportPtrOutput) StorageAccountId() pulumi.StringPtrOutput

The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for storageUri parameter.

func (DatabaseImportPtrOutput) StorageKey added in v5.22.0

Specifies the access key for the storage account.

func (DatabaseImportPtrOutput) StorageKeyType added in v5.22.0

func (o DatabaseImportPtrOutput) StorageKeyType() pulumi.StringPtrOutput

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

func (DatabaseImportPtrOutput) StorageUri added in v5.22.0

Specifies the blob URI of the .bacpac file.

func (DatabaseImportPtrOutput) ToDatabaseImportPtrOutput added in v5.22.0

func (o DatabaseImportPtrOutput) ToDatabaseImportPtrOutput() DatabaseImportPtrOutput

func (DatabaseImportPtrOutput) ToDatabaseImportPtrOutputWithContext added in v5.22.0

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

type DatabaseInput

type DatabaseInput interface {
	pulumi.Input

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

type DatabaseLongTermRetentionPolicy

type DatabaseLongTermRetentionPolicy struct {
	// Specifies if the backups are immutable. Defaults to `false`.
	ImmutableBackupsEnabled *bool `pulumi:"immutableBackupsEnabled"`
	// 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. 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 {
	// Specifies if the backups are immutable. Defaults to `false`.
	ImmutableBackupsEnabled pulumi.BoolPtrInput `pulumi:"immutableBackupsEnabled"`
	// 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. 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) ImmutableBackupsEnabled added in v5.65.0

func (o DatabaseLongTermRetentionPolicyOutput) ImmutableBackupsEnabled() pulumi.BoolPtrOutput

Specifies if the backups are immutable. Defaults to `false`.

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. 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) ImmutableBackupsEnabled added in v5.65.0

Specifies if the backups are immutable. Defaults to `false`.

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. 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) AutoPauseDelayInMinutes added in v5.5.0

func (o DatabaseOutput) AutoPauseDelayInMinutes() pulumi.IntOutput

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 Serverless databases.

func (DatabaseOutput) Collation added in v5.5.0

func (o DatabaseOutput) Collation() pulumi.StringOutput

Specifies the collation of the database. Changing this forces a new resource to be created.

func (DatabaseOutput) CreateMode added in v5.5.0

func (o DatabaseOutput) CreateMode() pulumi.StringPtrOutput

The create mode of the database. Possible values are `Copy`, `Default`, `OnlineSecondary`, `PointInTimeRestore`, `Recovery`, `Restore`, `RestoreExternalBackup`, `RestoreExternalBackupSecondary`, `RestoreLongTermRetentionBackup` and `Secondary`. Mutually exclusive with `import`. Changing this forces a new resource to be created. Defaults to `Default`.

func (DatabaseOutput) CreationSourceDatabaseId added in v5.5.0

func (o DatabaseOutput) CreationSourceDatabaseId() pulumi.StringOutput

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.

> **NOTE:** When configuring a secondary database, please be aware of the constraints for the `skuName` property, as noted below, for both the primary and secondary databases. The `skuName` of the secondary database may be inadvertently changed to match that of the primary when an incompatible combination of SKUs is detected by the provider.

func (DatabaseOutput) ElasticPoolId added in v5.5.0

func (o DatabaseOutput) ElasticPoolId() pulumi.StringPtrOutput

Specifies the ID of the elastic pool containing this database.

func (DatabaseOutput) ElementType

func (DatabaseOutput) ElementType() reflect.Type

func (DatabaseOutput) EnclaveType added in v5.59.0

func (o DatabaseOutput) EnclaveType() pulumi.StringOutput

Specifies the type of enclave to be used by the elastic pool. When `enclaveType` is not specified (e.g., the default) enclaves are not enabled on the database. <!-- TODO: Uncomment in 4.0: Once enabled (e.g., by specifying `Default` or `VBS`) removing the `enclaveType` field from the configuration file will force the creation of a new resource.-> Possible values are `Default` or `VBS`.

> **NOTE:** `enclaveType` is currently not supported for DW (e.g, DataWarehouse) and DC-series SKUs.

> **NOTE:** Geo Replicated and Failover databases must have the same `enclaveType`.

> **NOTE:** The default value for the `enclaveType` field is unset not `Default`.

func (DatabaseOutput) GeoBackupEnabled added in v5.5.0

func (o DatabaseOutput) GeoBackupEnabled() pulumi.BoolPtrOutput

A boolean that specifies if the Geo Backup Policy is enabled. Defaults to `true`.

> **NOTE:** `geoBackupEnabled` is only applicable for DataWarehouse SKUs (DW*). This setting is ignored for all other SKUs.

func (DatabaseOutput) Identity added in v5.62.0

An `identity` block as defined below.

func (DatabaseOutput) Import added in v5.22.0

A `import` block as documented below. Mutually exclusive with `createMode`.

func (DatabaseOutput) LedgerEnabled added in v5.5.0

func (o DatabaseOutput) LedgerEnabled() pulumi.BoolOutput

A boolean that specifies if this is a ledger database. Defaults to `false`. Changing this forces a new resource to be created.

func (DatabaseOutput) LicenseType added in v5.5.0

func (o DatabaseOutput) LicenseType() pulumi.StringOutput

Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `BasePrice`.

func (DatabaseOutput) LongTermRetentionPolicy added in v5.5.0

func (o DatabaseOutput) LongTermRetentionPolicy() DatabaseLongTermRetentionPolicyOutput

A `longTermRetentionPolicy` block as defined below.

func (DatabaseOutput) MaintenanceConfigurationName added in v5.19.0

func (o DatabaseOutput) MaintenanceConfigurationName() pulumi.StringOutput

The name of the Public Maintenance Configuration window to apply to the database. Valid values include `SQL_Default`, `SQL_EastUS_DB_1`, `SQL_EastUS2_DB_1`, `SQL_SoutheastAsia_DB_1`, `SQL_AustraliaEast_DB_1`, `SQL_NorthEurope_DB_1`, `SQL_SouthCentralUS_DB_1`, `SQL_WestUS2_DB_1`, `SQL_UKSouth_DB_1`, `SQL_WestEurope_DB_1`, `SQL_EastUS_DB_2`, `SQL_EastUS2_DB_2`, `SQL_WestUS2_DB_2`, `SQL_SoutheastAsia_DB_2`, `SQL_AustraliaEast_DB_2`, `SQL_NorthEurope_DB_2`, `SQL_SouthCentralUS_DB_2`, `SQL_UKSouth_DB_2`, `SQL_WestEurope_DB_2`, `SQL_AustraliaSoutheast_DB_1`, `SQL_BrazilSouth_DB_1`, `SQL_CanadaCentral_DB_1`, `SQL_CanadaEast_DB_1`, `SQL_CentralUS_DB_1`, `SQL_EastAsia_DB_1`, `SQL_FranceCentral_DB_1`, `SQL_GermanyWestCentral_DB_1`, `SQL_CentralIndia_DB_1`, `SQL_SouthIndia_DB_1`, `SQL_JapanEast_DB_1`, `SQL_JapanWest_DB_1`, `SQL_NorthCentralUS_DB_1`, `SQL_UKWest_DB_1`, `SQL_WestUS_DB_1`, `SQL_AustraliaSoutheast_DB_2`, `SQL_BrazilSouth_DB_2`, `SQL_CanadaCentral_DB_2`, `SQL_CanadaEast_DB_2`, `SQL_CentralUS_DB_2`, `SQL_EastAsia_DB_2`, `SQL_FranceCentral_DB_2`, `SQL_GermanyWestCentral_DB_2`, `SQL_CentralIndia_DB_2`, `SQL_SouthIndia_DB_2`, `SQL_JapanEast_DB_2`, `SQL_JapanWest_DB_2`, `SQL_NorthCentralUS_DB_2`, `SQL_UKWest_DB_2`, `SQL_WestUS_DB_2`, `SQL_WestCentralUS_DB_1`, `SQL_FranceSouth_DB_1`, `SQL_WestCentralUS_DB_2`, `SQL_FranceSouth_DB_2`, `SQL_SwitzerlandNorth_DB_1`, `SQL_SwitzerlandNorth_DB_2`, `SQL_BrazilSoutheast_DB_1`, `SQL_UAENorth_DB_1`, `SQL_BrazilSoutheast_DB_2`, `SQL_UAENorth_DB_2`. Defaults to `SQL_Default`.

> **NOTE:** `maintenanceConfigurationName` is only applicable if `elasticPoolId` is not set.

func (DatabaseOutput) MaxSizeGb added in v5.5.0

func (o DatabaseOutput) MaxSizeGb() pulumi.IntOutput

The max size of the database in gigabytes.

> **NOTE:** This value should not be configured when the `createMode` is `Secondary` or `OnlineSecondary`, as the sizing of the primary is then used as per [Azure documentation](https://docs.microsoft.com/azure/azure-sql/database/single-database-scale#geo-replicated-database).

func (DatabaseOutput) MinCapacity added in v5.5.0

func (o DatabaseOutput) MinCapacity() pulumi.Float64Output

Minimal capacity that database will always have allocated, if not paused. This property is only settable for Serverless databases.

func (DatabaseOutput) Name added in v5.5.0

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

func (DatabaseOutput) ReadReplicaCount added in v5.5.0

func (o DatabaseOutput) ReadReplicaCount() pulumi.IntOutput

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.

func (DatabaseOutput) ReadScale added in v5.5.0

func (o DatabaseOutput) ReadScale() pulumi.BoolOutput

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.

func (DatabaseOutput) RecoverDatabaseId added in v5.5.0

func (o DatabaseOutput) RecoverDatabaseId() pulumi.StringPtrOutput

The ID of the database to be recovered. This property is only applicable when the `createMode` is `Recovery`.

func (DatabaseOutput) RecoveryPointId added in v5.68.0

func (o DatabaseOutput) RecoveryPointId() pulumi.StringPtrOutput

The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `createMode` is `Recovery`.

func (DatabaseOutput) RestoreDroppedDatabaseId added in v5.5.0

func (o DatabaseOutput) RestoreDroppedDatabaseId() pulumi.StringPtrOutput

The ID of the database to be restored. This property is only applicable when the `createMode` is `Restore`.

func (DatabaseOutput) RestoreLongTermRetentionBackupId added in v5.68.0

func (o DatabaseOutput) RestoreLongTermRetentionBackupId() pulumi.StringPtrOutput

The ID of the long term retention backup to be restored. This property is only applicable when the `createMode` is `RestoreLongTermRetentionBackup`.

func (DatabaseOutput) RestorePointInTime added in v5.5.0

func (o DatabaseOutput) RestorePointInTime() pulumi.StringOutput

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.

func (DatabaseOutput) SampleName added in v5.5.0

func (o DatabaseOutput) SampleName() pulumi.StringOutput

Specifies the name of the sample schema to apply when creating this database. Possible value is `AdventureWorksLT`.

func (DatabaseOutput) SecondaryType added in v5.71.0

func (o DatabaseOutput) SecondaryType() pulumi.StringOutput

How do you want your replica to be made? Valid values include `Geo` and `Named`. Defaults to `Geo`. Changing this forces a new resource to be created.

func (DatabaseOutput) ServerId added in v5.5.0

func (o DatabaseOutput) ServerId() pulumi.StringOutput

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

> **NOTE:** This setting is still required for "Serverless" SKUs

func (DatabaseOutput) ShortTermRetentionPolicy added in v5.5.0

func (o DatabaseOutput) ShortTermRetentionPolicy() DatabaseShortTermRetentionPolicyOutput

A `shortTermRetentionPolicy` block as defined below.

func (DatabaseOutput) SkuName added in v5.5.0

func (o DatabaseOutput) SkuName() pulumi.StringOutput

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 create a new resource.

> **NOTE:** The default `skuName` value may differ between Azure locations depending on local availability of Gen4/Gen5 capacity. When databases are replicated using the `creationSourceDatabaseId` property, the source (primary) database cannot have a higher SKU service tier than any secondary databases. When changing the `skuName` of a database having one or more secondary databases, this resource will first update any secondary databases as necessary. In such cases it's recommended to use the same `skuName` in your configuration for all related databases, as not doing so may cause an unresolvable diff during subsequent plans.

func (DatabaseOutput) StorageAccountType added in v5.5.0

func (o DatabaseOutput) StorageAccountType() pulumi.StringPtrOutput

Specifies the storage account type used to store backups for this database. Possible values are `Geo`, `GeoZone`, `Local` and `Zone`. Defaults to `Geo`.

func (DatabaseOutput) Tags added in v5.5.0

A mapping of tags to assign to the resource.

func (DatabaseOutput) ThreatDetectionPolicy added in v5.5.0

func (o DatabaseOutput) ThreatDetectionPolicy() DatabaseThreatDetectionPolicyOutput

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

func (DatabaseOutput) ToDatabaseOutput

func (o DatabaseOutput) ToDatabaseOutput() DatabaseOutput

func (DatabaseOutput) ToDatabaseOutputWithContext

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

func (DatabaseOutput) TransparentDataEncryptionEnabled added in v5.5.0

func (o DatabaseOutput) TransparentDataEncryptionEnabled() pulumi.BoolPtrOutput

If set to true, Transparent Data Encryption will be enabled on the database. Defaults to `true`.

> **NOTE:** `transparentDataEncryptionEnabled` can only be set to `false` on DW (e.g, DataWarehouse) server SKUs.

func (DatabaseOutput) TransparentDataEncryptionKeyAutomaticRotationEnabled added in v5.62.0

func (o DatabaseOutput) TransparentDataEncryptionKeyAutomaticRotationEnabled() pulumi.BoolPtrOutput

Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`.

func (DatabaseOutput) TransparentDataEncryptionKeyVaultKeyId added in v5.62.0

func (o DatabaseOutput) TransparentDataEncryptionKeyVaultKeyId() pulumi.StringPtrOutput

The fully versioned `Key Vault` `Key` URL (e.g. `'https://<YourVaultName>.vault.azure.net/keys/<YourKeyName>/<YourKeyVersion>`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.

> **NOTE:** To successfully deploy a `Microsoft SQL Database` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` `tenant`.

func (DatabaseOutput) ZoneRedundant added in v5.5.0

func (o DatabaseOutput) 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. This property is only settable for Premium and Business Critical databases.

type DatabaseShortTermRetentionPolicy

type DatabaseShortTermRetentionPolicy struct {
	// The hours between each differential backup. This is only applicable to live databases but not dropped databases. Value has to be `12` or `24`. Defaults to `12` hours.
	BackupIntervalInHours *int `pulumi:"backupIntervalInHours"`
	// Point In Time Restore configuration. Value has to be between `1` and `35`.
	RetentionDays int `pulumi:"retentionDays"`
}

type DatabaseShortTermRetentionPolicyArgs

type DatabaseShortTermRetentionPolicyArgs struct {
	// The hours between each differential backup. This is only applicable to live databases but not dropped databases. Value has to be `12` or `24`. Defaults to `12` hours.
	BackupIntervalInHours pulumi.IntPtrInput `pulumi:"backupIntervalInHours"`
	// Point In Time Restore configuration. Value has to be between `1` 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) BackupIntervalInHours added in v5.4.0

The hours between each differential backup. This is only applicable to live databases but not dropped databases. Value has to be `12` or `24`. Defaults to `12` hours.

func (DatabaseShortTermRetentionPolicyOutput) ElementType

func (DatabaseShortTermRetentionPolicyOutput) RetentionDays

Point In Time Restore configuration. Value has to be between `1` 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) BackupIntervalInHours added in v5.4.0

The hours between each differential backup. This is only applicable to live databases but not dropped databases. Value has to be `12` or `24`. Defaults to `12` hours.

func (DatabaseShortTermRetentionPolicyPtrOutput) Elem

func (DatabaseShortTermRetentionPolicyPtrOutput) ElementType

func (DatabaseShortTermRetentionPolicyPtrOutput) RetentionDays

Point In Time Restore configuration. Value has to be between `1` 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 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`. Mutually exclusive with `import`. Changing this forces a new resource to be created. Defaults to `Default`.
	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.
	//
	// > **NOTE:** When configuring a secondary database, please be aware of the constraints for the `skuName` property, as noted below, for both the primary and secondary databases. The `skuName` of the secondary database may be inadvertently changed to match that of the primary when an incompatible combination of SKUs is detected by the provider.
	CreationSourceDatabaseId pulumi.StringPtrInput
	// Specifies the ID of the elastic pool containing this database.
	ElasticPoolId pulumi.StringPtrInput
	// Specifies the type of enclave to be used by the elastic pool. When `enclaveType` is not specified (e.g., the default) enclaves are not enabled on the database. <!-- TODO: Uncomment in 4.0: Once enabled (e.g., by specifying `Default` or `VBS`) removing the `enclaveType` field from the configuration file will force the creation of a new resource.-> Possible values are `Default` or `VBS`.
	//
	// > **NOTE:** `enclaveType` is currently not supported for DW (e.g, DataWarehouse) and DC-series SKUs.
	//
	// > **NOTE:** Geo Replicated and Failover databases must have the same `enclaveType`.
	//
	// > **NOTE:** The default value for the `enclaveType` field is unset not `Default`.
	EnclaveType pulumi.StringPtrInput
	// A boolean that specifies if the Geo Backup Policy is enabled. Defaults to `true`.
	//
	// > **NOTE:** `geoBackupEnabled` is only applicable for DataWarehouse SKUs (DW*). This setting is ignored for all other SKUs.
	GeoBackupEnabled pulumi.BoolPtrInput
	// An `identity` block as defined below.
	Identity DatabaseIdentityPtrInput
	// A `import` block as documented below. Mutually exclusive with `createMode`.
	Import DatabaseImportPtrInput
	// A boolean that specifies if this is a ledger database. Defaults to `false`. Changing this forces a new resource to be created.
	LedgerEnabled 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 name of the Public Maintenance Configuration window to apply to the database. Valid values include `SQL_Default`, `SQL_EastUS_DB_1`, `SQL_EastUS2_DB_1`, `SQL_SoutheastAsia_DB_1`, `SQL_AustraliaEast_DB_1`, `SQL_NorthEurope_DB_1`, `SQL_SouthCentralUS_DB_1`, `SQL_WestUS2_DB_1`, `SQL_UKSouth_DB_1`, `SQL_WestEurope_DB_1`, `SQL_EastUS_DB_2`, `SQL_EastUS2_DB_2`, `SQL_WestUS2_DB_2`, `SQL_SoutheastAsia_DB_2`, `SQL_AustraliaEast_DB_2`, `SQL_NorthEurope_DB_2`, `SQL_SouthCentralUS_DB_2`, `SQL_UKSouth_DB_2`, `SQL_WestEurope_DB_2`, `SQL_AustraliaSoutheast_DB_1`, `SQL_BrazilSouth_DB_1`, `SQL_CanadaCentral_DB_1`, `SQL_CanadaEast_DB_1`, `SQL_CentralUS_DB_1`, `SQL_EastAsia_DB_1`, `SQL_FranceCentral_DB_1`, `SQL_GermanyWestCentral_DB_1`, `SQL_CentralIndia_DB_1`, `SQL_SouthIndia_DB_1`, `SQL_JapanEast_DB_1`, `SQL_JapanWest_DB_1`, `SQL_NorthCentralUS_DB_1`, `SQL_UKWest_DB_1`, `SQL_WestUS_DB_1`, `SQL_AustraliaSoutheast_DB_2`, `SQL_BrazilSouth_DB_2`, `SQL_CanadaCentral_DB_2`, `SQL_CanadaEast_DB_2`, `SQL_CentralUS_DB_2`, `SQL_EastAsia_DB_2`, `SQL_FranceCentral_DB_2`, `SQL_GermanyWestCentral_DB_2`, `SQL_CentralIndia_DB_2`, `SQL_SouthIndia_DB_2`, `SQL_JapanEast_DB_2`, `SQL_JapanWest_DB_2`, `SQL_NorthCentralUS_DB_2`, `SQL_UKWest_DB_2`, `SQL_WestUS_DB_2`, `SQL_WestCentralUS_DB_1`, `SQL_FranceSouth_DB_1`, `SQL_WestCentralUS_DB_2`, `SQL_FranceSouth_DB_2`, `SQL_SwitzerlandNorth_DB_1`, `SQL_SwitzerlandNorth_DB_2`, `SQL_BrazilSoutheast_DB_1`, `SQL_UAENorth_DB_1`, `SQL_BrazilSoutheast_DB_2`, `SQL_UAENorth_DB_2`. Defaults to `SQL_Default`.
	//
	// > **NOTE:** `maintenanceConfigurationName` is only applicable if `elasticPoolId` is not set.
	MaintenanceConfigurationName pulumi.StringPtrInput
	// The max size of the database in gigabytes.
	//
	// > **NOTE:** This value should not be configured when the `createMode` is `Secondary` or `OnlineSecondary`, as the sizing of the primary is then used as per [Azure documentation](https://docs.microsoft.com/azure/azure-sql/database/single-database-scale#geo-replicated-database).
	MaxSizeGb pulumi.IntPtrInput
	// Minimal capacity that database will always have allocated, if not paused. This property is only settable for 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 Recovery Services Recovery Point Id to be restored. This property is only applicable when the `createMode` is `Recovery`.
	RecoveryPointId pulumi.StringPtrInput
	// The ID of the database to be restored. This property is only applicable when the `createMode` is `Restore`.
	RestoreDroppedDatabaseId pulumi.StringPtrInput
	// The ID of the long term retention backup to be restored. This property is only applicable when the `createMode` is `RestoreLongTermRetentionBackup`.
	RestoreLongTermRetentionBackupId 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
	// How do you want your replica to be made? Valid values include `Geo` and `Named`. Defaults to `Geo`. Changing this forces a new resource to be created.
	SecondaryType pulumi.StringPtrInput
	// The id of the MS SQL Server on which to create the database. Changing this forces a new resource to be created.
	//
	// > **NOTE:** This setting is still required for "Serverless" SKUs
	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 create a new resource.
	//
	// > **NOTE:** The default `skuName` value may differ between Azure locations depending on local availability of Gen4/Gen5 capacity. When databases are replicated using the `creationSourceDatabaseId` property, the source (primary) database cannot have a higher SKU service tier than any secondary databases. When changing the `skuName` of a database having one or more secondary databases, this resource will first update any secondary databases as necessary. In such cases it's recommended to use the same `skuName` in your configuration for all related databases, as not doing so may cause an unresolvable diff during subsequent plans.
	SkuName pulumi.StringPtrInput
	// Specifies the storage account type used to store backups for this database. Possible values are `Geo`, `GeoZone`, `Local` and `Zone`. Defaults to `Geo`.
	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
	// If set to true, Transparent Data Encryption will be enabled on the database. Defaults to `true`.
	//
	// > **NOTE:** `transparentDataEncryptionEnabled` can only be set to `false` on DW (e.g, DataWarehouse) server SKUs.
	TransparentDataEncryptionEnabled pulumi.BoolPtrInput
	// Boolean flag to specify whether TDE automatically rotates the encryption Key to latest version or not. Possible values are `true` or `false`. Defaults to `false`.
	TransparentDataEncryptionKeyAutomaticRotationEnabled pulumi.BoolPtrInput
	// The fully versioned `Key Vault` `Key` URL (e.g. `'https://<YourVaultName>.vault.azure.net/keys/<YourKeyName>/<YourKeyVersion>`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.
	//
	// > **NOTE:** To successfully deploy a `Microsoft SQL Database` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` `tenant`.
	TransparentDataEncryptionKeyVaultKeyId pulumi.StringPtrInput
	// 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? Possible values are `Enabled` or `Disabled`. Defaults to `Disabled`.
	EmailAccountAdmins *string `pulumi:"emailAccountAdmins"`
	// A list of email addresses which alerts should be sent to.
	EmailAddresses []string `pulumi:"emailAddresses"`
	// Specifies the number of days to keep in the Threat Detection audit logs.
	RetentionDays *int `pulumi:"retentionDays"`
	// The State of the Policy. Possible values are `Enabled` or `Disabled`. Defaults to `Disabled`.
	State *string `pulumi:"state"`
	// Specifies the identifier key of the Threat Detection audit storage account. Required if `state` is `Enabled`.
	StorageAccountAccessKey *string `pulumi:"storageAccountAccessKey"`
	// Specifies the blob storage endpoint (e.g. <https://example.blob.core.windows.net>). This blob storage will hold all Threat Detection audit logs. Required if `state` is `Enabled`.
	StorageEndpoint *string `pulumi:"storageEndpoint"`
}

type DatabaseThreatDetectionPolicyArgs

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

func (DatabaseThreatDetectionPolicyArgs) ElementType

func (DatabaseThreatDetectionPolicyArgs) ToDatabaseThreatDetectionPolicyOutput

func (i DatabaseThreatDetectionPolicyArgs) ToDatabaseThreatDetectionPolicyOutput() DatabaseThreatDetectionPolicyOutput

func (DatabaseThreatDetectionPolicyArgs) ToDatabaseThreatDetectionPolicyOutputWithContext

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

func (DatabaseThreatDetectionPolicyArgs) ToDatabaseThreatDetectionPolicyPtrOutput

func (i DatabaseThreatDetectionPolicyArgs) ToDatabaseThreatDetectionPolicyPtrOutput() DatabaseThreatDetectionPolicyPtrOutput

func (DatabaseThreatDetectionPolicyArgs) ToDatabaseThreatDetectionPolicyPtrOutputWithContext

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

type DatabaseThreatDetectionPolicyInput

type DatabaseThreatDetectionPolicyInput interface {
	pulumi.Input

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

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

DatabaseThreatDetectionPolicyArgs{...}

type DatabaseThreatDetectionPolicyOutput

type DatabaseThreatDetectionPolicyOutput struct{ *pulumi.OutputState }

func (DatabaseThreatDetectionPolicyOutput) DisabledAlerts

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

func (DatabaseThreatDetectionPolicyOutput) ElementType

func (DatabaseThreatDetectionPolicyOutput) EmailAccountAdmins

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

func (DatabaseThreatDetectionPolicyOutput) EmailAddresses

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

func (DatabaseThreatDetectionPolicyOutput) RetentionDays

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

func (DatabaseThreatDetectionPolicyOutput) State

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

func (DatabaseThreatDetectionPolicyOutput) StorageAccountAccessKey

func (o DatabaseThreatDetectionPolicyOutput) StorageAccountAccessKey() pulumi.StringPtrOutput

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

func (DatabaseThreatDetectionPolicyOutput) StorageEndpoint

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

func (DatabaseThreatDetectionPolicyOutput) ToDatabaseThreatDetectionPolicyOutput

func (o DatabaseThreatDetectionPolicyOutput) ToDatabaseThreatDetectionPolicyOutput() DatabaseThreatDetectionPolicyOutput

func (DatabaseThreatDetectionPolicyOutput) ToDatabaseThreatDetectionPolicyOutputWithContext

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

func (DatabaseThreatDetectionPolicyOutput) ToDatabaseThreatDetectionPolicyPtrOutput

func (o DatabaseThreatDetectionPolicyOutput) ToDatabaseThreatDetectionPolicyPtrOutput() DatabaseThreatDetectionPolicyPtrOutput

func (DatabaseThreatDetectionPolicyOutput) ToDatabaseThreatDetectionPolicyPtrOutputWithContext

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

type DatabaseThreatDetectionPolicyPtrInput

type DatabaseThreatDetectionPolicyPtrInput interface {
	pulumi.Input

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

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

        DatabaseThreatDetectionPolicyArgs{...}

or:

        nil

type DatabaseThreatDetectionPolicyPtrOutput

type DatabaseThreatDetectionPolicyPtrOutput struct{ *pulumi.OutputState }

func (DatabaseThreatDetectionPolicyPtrOutput) DisabledAlerts

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

func (DatabaseThreatDetectionPolicyPtrOutput) Elem

func (DatabaseThreatDetectionPolicyPtrOutput) ElementType

func (DatabaseThreatDetectionPolicyPtrOutput) EmailAccountAdmins

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

func (DatabaseThreatDetectionPolicyPtrOutput) EmailAddresses

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

func (DatabaseThreatDetectionPolicyPtrOutput) RetentionDays

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

func (DatabaseThreatDetectionPolicyPtrOutput) State

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

func (DatabaseThreatDetectionPolicyPtrOutput) StorageAccountAccessKey

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

func (DatabaseThreatDetectionPolicyPtrOutput) StorageEndpoint

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

func (DatabaseThreatDetectionPolicyPtrOutput) ToDatabaseThreatDetectionPolicyPtrOutput

func (o DatabaseThreatDetectionPolicyPtrOutput) ToDatabaseThreatDetectionPolicyPtrOutput() DatabaseThreatDetectionPolicyPtrOutput

func (DatabaseThreatDetectionPolicyPtrOutput) ToDatabaseThreatDetectionPolicyPtrOutputWithContext

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

type 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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleSqlServer, err := sql.NewSqlServer(ctx, "example", &sql.SqlServerArgs{
			Name:                       pulumi.String("mysqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("accteststorageaccount"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("GRS"),
		})
		if err != nil {
			return err
		}
		exampleContainer, err := storage.NewContainer(ctx, "example", &storage.ContainerArgs{
			Name:                pulumi.String("accteststoragecontainer"),
			StorageAccountName:  exampleAccount.Name,
			ContainerAccessType: pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		exampleServerSecurityAlertPolicy, err := mssql.NewServerSecurityAlertPolicy(ctx, "example", &mssql.ServerSecurityAlertPolicyArgs{
			ResourceGroupName: example.Name,
			ServerName:        exampleSqlServer.Name,
			State:             pulumi.String("Enabled"),
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := sql.NewDatabase(ctx, "example", &sql.DatabaseArgs{
			Name:              pulumi.String("mysqldatabase"),
			ResourceGroupName: example.Name,
			ServerName:        exampleSqlServer.Name,
			Location:          example.Location,
			Edition:           pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		exampleServerVulnerabilityAssessment, err := mssql.NewServerVulnerabilityAssessment(ctx, "example", &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/", primaryBlobEndpoint, name), nil
			}).(pulumi.StringOutput),
			StorageAccountAccessKey: exampleAccount.PrimaryAccessKey,
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewDatabaseVulnerabilityAssessmentRuleBaseline(ctx, "example", &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) BaselineName added in v5.5.0

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.

func (DatabaseVulnerabilityAssessmentRuleBaselineOutput) BaselineResults added in v5.5.0

A `baselineResult` block as documented below. Multiple blocks can be defined.

func (DatabaseVulnerabilityAssessmentRuleBaselineOutput) DatabaseName added in v5.5.0

Specifies the name of the MS SQL Database. Changing this forces a new resource to be created.

func (DatabaseVulnerabilityAssessmentRuleBaselineOutput) ElementType

func (DatabaseVulnerabilityAssessmentRuleBaselineOutput) RuleId added in v5.5.0

The vulnerability assessment rule ID. Changing this forces a new resource to be created.

func (DatabaseVulnerabilityAssessmentRuleBaselineOutput) ServerVulnerabilityAssessmentId added in v5.5.0

func (o DatabaseVulnerabilityAssessmentRuleBaselineOutput) ServerVulnerabilityAssessmentId() pulumi.StringOutput

The Vulnerability Assessment ID of the MS SQL Server. Changing this forces a new resource to be created.

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 type of enclave to be used by the elastic pool. When `enclaveType` is not specified (e.g., the default) enclaves are not enabled on the elastic pool. <!-- TODO: Uncomment in 4.0: Once enabled (e.g., by specifying `Default` or `VBS`) removing the `enclaveType` field from the configuration file will force the creation of a new resource.-> Possible values are `Default` or `VBS`.
	//
	// > **NOTE:** All databases that are added to the elastic pool must have the same `enclaveType` as the elastic pool.
	//
	// > **NOTE:** `enclaveType` is not supported for DC-series SKUs.
	//
	// > **NOTE:** The default value for `enclaveType` field is unset not `Default`.
	EnclaveType pulumi.StringOutput `pulumi:"enclaveType"`
	// 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 name of the Public Maintenance Configuration window to apply to the elastic pool. Valid values include `SQL_Default`, `SQL_EastUS_DB_1`, `SQL_EastUS2_DB_1`, `SQL_SoutheastAsia_DB_1`, `SQL_AustraliaEast_DB_1`, `SQL_NorthEurope_DB_1`, `SQL_SouthCentralUS_DB_1`, `SQL_WestUS2_DB_1`, `SQL_UKSouth_DB_1`, `SQL_WestEurope_DB_1`, `SQL_EastUS_DB_2`, `SQL_EastUS2_DB_2`, `SQL_WestUS2_DB_2`, `SQL_SoutheastAsia_DB_2`, `SQL_AustraliaEast_DB_2`, `SQL_NorthEurope_DB_2`, `SQL_SouthCentralUS_DB_2`, `SQL_UKSouth_DB_2`, `SQL_WestEurope_DB_2`, `SQL_AustraliaSoutheast_DB_1`, `SQL_BrazilSouth_DB_1`, `SQL_CanadaCentral_DB_1`, `SQL_CanadaEast_DB_1`, `SQL_CentralUS_DB_1`, `SQL_EastAsia_DB_1`, `SQL_FranceCentral_DB_1`, `SQL_GermanyWestCentral_DB_1`, `SQL_CentralIndia_DB_1`, `SQL_SouthIndia_DB_1`, `SQL_JapanEast_DB_1`, `SQL_JapanWest_DB_1`, `SQL_NorthCentralUS_DB_1`, `SQL_UKWest_DB_1`, `SQL_WestUS_DB_1`, `SQL_AustraliaSoutheast_DB_2`, `SQL_BrazilSouth_DB_2`, `SQL_CanadaCentral_DB_2`, `SQL_CanadaEast_DB_2`, `SQL_CentralUS_DB_2`, `SQL_EastAsia_DB_2`, `SQL_FranceCentral_DB_2`, `SQL_GermanyWestCentral_DB_2`, `SQL_CentralIndia_DB_2`, `SQL_SouthIndia_DB_2`, `SQL_JapanEast_DB_2`, `SQL_JapanWest_DB_2`, `SQL_NorthCentralUS_DB_2`, `SQL_UKWest_DB_2`, `SQL_WestUS_DB_2`, `SQL_WestCentralUS_DB_1`, `SQL_FranceSouth_DB_1`, `SQL_WestCentralUS_DB_2`, `SQL_FranceSouth_DB_2`, `SQL_SwitzerlandNorth_DB_1`, `SQL_SwitzerlandNorth_DB_2`, `SQL_BrazilSoutheast_DB_1`, `SQL_UAENorth_DB_1`, `SQL_BrazilSoutheast_DB_2`, `SQL_UAENorth_DB_2`, `SQL_SouthAfricaNorth_DB_1`, `SQL_SouthAfricaNorth_DB_2`, `SQL_WestUS3_DB_1`, `SQL_WestUS3_DB_2`. Defaults to `SQL_Default`.
	MaintenanceConfigurationName pulumi.StringPtrOutput `pulumi:"maintenanceConfigurationName"`
	// The max data size of the elastic pool in bytes. Conflicts with `maxSizeGb`.
	//
	// > **NOTE:** One of either `maxSizeGb` or `maxSizeBytes` must be specified.
	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. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The name of the SQL Server on which to create the elastic pool. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// A `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`.
	ZoneRedundant pulumi.BoolPtrOutput `pulumi:"zoneRedundant"`
}

Allows you to manage an Azure SQL Elastic Pool.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("my-resource-group"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("my-sql-server"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewElasticPool(ctx, "example", &mssql.ElasticPoolArgs{
			Name:              pulumi.String("test-epool"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			ServerName:        exampleServer.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 type of enclave to be used by the elastic pool. When `enclaveType` is not specified (e.g., the default) enclaves are not enabled on the elastic pool. <!-- TODO: Uncomment in 4.0: Once enabled (e.g., by specifying `Default` or `VBS`) removing the `enclaveType` field from the configuration file will force the creation of a new resource.-> Possible values are `Default` or `VBS`.
	//
	// > **NOTE:** All databases that are added to the elastic pool must have the same `enclaveType` as the elastic pool.
	//
	// > **NOTE:** `enclaveType` is not supported for DC-series SKUs.
	//
	// > **NOTE:** The default value for `enclaveType` field is unset not `Default`.
	EnclaveType pulumi.StringPtrInput
	// 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 name of the Public Maintenance Configuration window to apply to the elastic pool. Valid values include `SQL_Default`, `SQL_EastUS_DB_1`, `SQL_EastUS2_DB_1`, `SQL_SoutheastAsia_DB_1`, `SQL_AustraliaEast_DB_1`, `SQL_NorthEurope_DB_1`, `SQL_SouthCentralUS_DB_1`, `SQL_WestUS2_DB_1`, `SQL_UKSouth_DB_1`, `SQL_WestEurope_DB_1`, `SQL_EastUS_DB_2`, `SQL_EastUS2_DB_2`, `SQL_WestUS2_DB_2`, `SQL_SoutheastAsia_DB_2`, `SQL_AustraliaEast_DB_2`, `SQL_NorthEurope_DB_2`, `SQL_SouthCentralUS_DB_2`, `SQL_UKSouth_DB_2`, `SQL_WestEurope_DB_2`, `SQL_AustraliaSoutheast_DB_1`, `SQL_BrazilSouth_DB_1`, `SQL_CanadaCentral_DB_1`, `SQL_CanadaEast_DB_1`, `SQL_CentralUS_DB_1`, `SQL_EastAsia_DB_1`, `SQL_FranceCentral_DB_1`, `SQL_GermanyWestCentral_DB_1`, `SQL_CentralIndia_DB_1`, `SQL_SouthIndia_DB_1`, `SQL_JapanEast_DB_1`, `SQL_JapanWest_DB_1`, `SQL_NorthCentralUS_DB_1`, `SQL_UKWest_DB_1`, `SQL_WestUS_DB_1`, `SQL_AustraliaSoutheast_DB_2`, `SQL_BrazilSouth_DB_2`, `SQL_CanadaCentral_DB_2`, `SQL_CanadaEast_DB_2`, `SQL_CentralUS_DB_2`, `SQL_EastAsia_DB_2`, `SQL_FranceCentral_DB_2`, `SQL_GermanyWestCentral_DB_2`, `SQL_CentralIndia_DB_2`, `SQL_SouthIndia_DB_2`, `SQL_JapanEast_DB_2`, `SQL_JapanWest_DB_2`, `SQL_NorthCentralUS_DB_2`, `SQL_UKWest_DB_2`, `SQL_WestUS_DB_2`, `SQL_WestCentralUS_DB_1`, `SQL_FranceSouth_DB_1`, `SQL_WestCentralUS_DB_2`, `SQL_FranceSouth_DB_2`, `SQL_SwitzerlandNorth_DB_1`, `SQL_SwitzerlandNorth_DB_2`, `SQL_BrazilSoutheast_DB_1`, `SQL_UAENorth_DB_1`, `SQL_BrazilSoutheast_DB_2`, `SQL_UAENorth_DB_2`, `SQL_SouthAfricaNorth_DB_1`, `SQL_SouthAfricaNorth_DB_2`, `SQL_WestUS3_DB_1`, `SQL_WestUS3_DB_2`. Defaults to `SQL_Default`.
	MaintenanceConfigurationName pulumi.StringPtrInput
	// The max data size of the elastic pool in bytes. Conflicts with `maxSizeGb`.
	//
	// > **NOTE:** One of either `maxSizeGb` or `maxSizeBytes` must be specified.
	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. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The name of the SQL Server on which to create the elastic pool. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
	// A `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`.
	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) EnclaveType added in v5.59.0

func (o ElasticPoolOutput) EnclaveType() pulumi.StringOutput

Specifies the type of enclave to be used by the elastic pool. When `enclaveType` is not specified (e.g., the default) enclaves are not enabled on the elastic pool. <!-- TODO: Uncomment in 4.0: Once enabled (e.g., by specifying `Default` or `VBS`) removing the `enclaveType` field from the configuration file will force the creation of a new resource.-> Possible values are `Default` or `VBS`.

> **NOTE:** All databases that are added to the elastic pool must have the same `enclaveType` as the elastic pool.

> **NOTE:** `enclaveType` is not supported for DC-series SKUs.

> **NOTE:** The default value for `enclaveType` field is unset not `Default`.

func (ElasticPoolOutput) LicenseType added in v5.5.0

func (o ElasticPoolOutput) LicenseType() pulumi.StringOutput

Specifies the license type applied to this database. Possible values are `LicenseIncluded` and `BasePrice`.

func (ElasticPoolOutput) Location added in v5.5.0

func (o ElasticPoolOutput) Location() pulumi.StringOutput

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

func (ElasticPoolOutput) MaintenanceConfigurationName added in v5.16.0

func (o ElasticPoolOutput) MaintenanceConfigurationName() pulumi.StringPtrOutput

The name of the Public Maintenance Configuration window to apply to the elastic pool. Valid values include `SQL_Default`, `SQL_EastUS_DB_1`, `SQL_EastUS2_DB_1`, `SQL_SoutheastAsia_DB_1`, `SQL_AustraliaEast_DB_1`, `SQL_NorthEurope_DB_1`, `SQL_SouthCentralUS_DB_1`, `SQL_WestUS2_DB_1`, `SQL_UKSouth_DB_1`, `SQL_WestEurope_DB_1`, `SQL_EastUS_DB_2`, `SQL_EastUS2_DB_2`, `SQL_WestUS2_DB_2`, `SQL_SoutheastAsia_DB_2`, `SQL_AustraliaEast_DB_2`, `SQL_NorthEurope_DB_2`, `SQL_SouthCentralUS_DB_2`, `SQL_UKSouth_DB_2`, `SQL_WestEurope_DB_2`, `SQL_AustraliaSoutheast_DB_1`, `SQL_BrazilSouth_DB_1`, `SQL_CanadaCentral_DB_1`, `SQL_CanadaEast_DB_1`, `SQL_CentralUS_DB_1`, `SQL_EastAsia_DB_1`, `SQL_FranceCentral_DB_1`, `SQL_GermanyWestCentral_DB_1`, `SQL_CentralIndia_DB_1`, `SQL_SouthIndia_DB_1`, `SQL_JapanEast_DB_1`, `SQL_JapanWest_DB_1`, `SQL_NorthCentralUS_DB_1`, `SQL_UKWest_DB_1`, `SQL_WestUS_DB_1`, `SQL_AustraliaSoutheast_DB_2`, `SQL_BrazilSouth_DB_2`, `SQL_CanadaCentral_DB_2`, `SQL_CanadaEast_DB_2`, `SQL_CentralUS_DB_2`, `SQL_EastAsia_DB_2`, `SQL_FranceCentral_DB_2`, `SQL_GermanyWestCentral_DB_2`, `SQL_CentralIndia_DB_2`, `SQL_SouthIndia_DB_2`, `SQL_JapanEast_DB_2`, `SQL_JapanWest_DB_2`, `SQL_NorthCentralUS_DB_2`, `SQL_UKWest_DB_2`, `SQL_WestUS_DB_2`, `SQL_WestCentralUS_DB_1`, `SQL_FranceSouth_DB_1`, `SQL_WestCentralUS_DB_2`, `SQL_FranceSouth_DB_2`, `SQL_SwitzerlandNorth_DB_1`, `SQL_SwitzerlandNorth_DB_2`, `SQL_BrazilSoutheast_DB_1`, `SQL_UAENorth_DB_1`, `SQL_BrazilSoutheast_DB_2`, `SQL_UAENorth_DB_2`, `SQL_SouthAfricaNorth_DB_1`, `SQL_SouthAfricaNorth_DB_2`, `SQL_WestUS3_DB_1`, `SQL_WestUS3_DB_2`. Defaults to `SQL_Default`.

func (ElasticPoolOutput) MaxSizeBytes added in v5.5.0

func (o ElasticPoolOutput) MaxSizeBytes() pulumi.IntOutput

The max data size of the elastic pool in bytes. Conflicts with `maxSizeGb`.

> **NOTE:** One of either `maxSizeGb` or `maxSizeBytes` must be specified.

func (ElasticPoolOutput) MaxSizeGb added in v5.5.0

func (o ElasticPoolOutput) MaxSizeGb() pulumi.Float64Output

The max data size of the elastic pool in gigabytes. Conflicts with `maxSizeBytes`.

func (ElasticPoolOutput) Name added in v5.5.0

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

func (ElasticPoolOutput) PerDatabaseSettings added in v5.5.0

A `perDatabaseSettings` block as defined below.

func (ElasticPoolOutput) ResourceGroupName added in v5.5.0

func (o ElasticPoolOutput) ResourceGroupName() pulumi.StringOutput

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

func (ElasticPoolOutput) ServerName added in v5.5.0

func (o ElasticPoolOutput) ServerName() pulumi.StringOutput

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

func (ElasticPoolOutput) Sku added in v5.5.0

A `sku` block as defined below.

func (ElasticPoolOutput) Tags added in v5.5.0

A mapping of tags to assign to the resource.

func (ElasticPoolOutput) ToElasticPoolOutput

func (o ElasticPoolOutput) ToElasticPoolOutput() ElasticPoolOutput

func (ElasticPoolOutput) ToElasticPoolOutputWithContext

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

func (ElasticPoolOutput) ZoneRedundant added in v5.5.0

func (o ElasticPoolOutput) ZoneRedundant() pulumi.BoolPtrOutput

Whether or not this elastic pool is zone redundant. `tier` needs to be `Premium` for `DTU` based or `BusinessCritical` for `vCore` based `sku`.

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/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/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 or `DTU` based. Possible `DTU` based values are `BasicPool`, `StandardPool`, `PremiumPool` while possible `vCore` based values are `GP_Gen4`, `GP_Gen5`, `GP_Fsv2`, `GP_DC`, `BC_Gen4`, `BC_Gen5`, `BC_DC`, or `HS_Gen5`.
	Name string `pulumi:"name"`
	// The tier of the particular SKU. Possible values are `GeneralPurpose`, `BusinessCritical`, `Basic`, `Standard`, `Premium`, or `HyperScale`. For more information see the documentation for your Elasticpool configuration: [vCore-based](https://docs.microsoft.com/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/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/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/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 or `DTU` based. Possible `DTU` based values are `BasicPool`, `StandardPool`, `PremiumPool` while possible `vCore` based values are `GP_Gen4`, `GP_Gen5`, `GP_Fsv2`, `GP_DC`, `BC_Gen4`, `BC_Gen5`, `BC_DC`, or `HS_Gen5`.
	Name pulumi.StringInput `pulumi:"name"`
	// The tier of the particular SKU. Possible values are `GeneralPurpose`, `BusinessCritical`, `Basic`, `Standard`, `Premium`, or `HyperScale`. For more information see the documentation for your Elasticpool configuration: [vCore-based](https://docs.microsoft.com/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/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/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/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 or `DTU` based. Possible `DTU` based values are `BasicPool`, `StandardPool`, `PremiumPool` while possible `vCore` based values are `GP_Gen4`, `GP_Gen5`, `GP_Fsv2`, `GP_DC`, `BC_Gen4`, `BC_Gen5`, `BC_DC`, or `HS_Gen5`.

func (ElasticPoolSkuOutput) Tier

The tier of the particular SKU. Possible values are `GeneralPurpose`, `BusinessCritical`, `Basic`, `Standard`, `Premium`, or `HyperScale`. For more information see the documentation for your Elasticpool configuration: [vCore-based](https://docs.microsoft.com/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/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/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/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 or `DTU` based. Possible `DTU` based values are `BasicPool`, `StandardPool`, `PremiumPool` while possible `vCore` based values are `GP_Gen4`, `GP_Gen5`, `GP_Fsv2`, `GP_DC`, `BC_Gen4`, `BC_Gen5`, `BC_DC`, or `HS_Gen5`.

func (ElasticPoolSkuPtrOutput) Tier

The tier of the particular SKU. Possible values are `GeneralPurpose`, `BusinessCritical`, `Basic`, `Standard`, `Premium`, or `HyperScale`. For more information see the documentation for your Elasticpool configuration: [vCore-based](https://docs.microsoft.com/azure/sql-database/sql-database-vcore-resource-limits-elastic-pools) or [DTU-based](https://docs.microsoft.com/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 type of enclave to be used by the elastic pool. When `enclaveType` is not specified (e.g., the default) enclaves are not enabled on the elastic pool. <!-- TODO: Uncomment in 4.0: Once enabled (e.g., by specifying `Default` or `VBS`) removing the `enclaveType` field from the configuration file will force the creation of a new resource.-> Possible values are `Default` or `VBS`.
	//
	// > **NOTE:** All databases that are added to the elastic pool must have the same `enclaveType` as the elastic pool.
	//
	// > **NOTE:** `enclaveType` is not supported for DC-series SKUs.
	//
	// > **NOTE:** The default value for `enclaveType` field is unset not `Default`.
	EnclaveType pulumi.StringPtrInput
	// 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 name of the Public Maintenance Configuration window to apply to the elastic pool. Valid values include `SQL_Default`, `SQL_EastUS_DB_1`, `SQL_EastUS2_DB_1`, `SQL_SoutheastAsia_DB_1`, `SQL_AustraliaEast_DB_1`, `SQL_NorthEurope_DB_1`, `SQL_SouthCentralUS_DB_1`, `SQL_WestUS2_DB_1`, `SQL_UKSouth_DB_1`, `SQL_WestEurope_DB_1`, `SQL_EastUS_DB_2`, `SQL_EastUS2_DB_2`, `SQL_WestUS2_DB_2`, `SQL_SoutheastAsia_DB_2`, `SQL_AustraliaEast_DB_2`, `SQL_NorthEurope_DB_2`, `SQL_SouthCentralUS_DB_2`, `SQL_UKSouth_DB_2`, `SQL_WestEurope_DB_2`, `SQL_AustraliaSoutheast_DB_1`, `SQL_BrazilSouth_DB_1`, `SQL_CanadaCentral_DB_1`, `SQL_CanadaEast_DB_1`, `SQL_CentralUS_DB_1`, `SQL_EastAsia_DB_1`, `SQL_FranceCentral_DB_1`, `SQL_GermanyWestCentral_DB_1`, `SQL_CentralIndia_DB_1`, `SQL_SouthIndia_DB_1`, `SQL_JapanEast_DB_1`, `SQL_JapanWest_DB_1`, `SQL_NorthCentralUS_DB_1`, `SQL_UKWest_DB_1`, `SQL_WestUS_DB_1`, `SQL_AustraliaSoutheast_DB_2`, `SQL_BrazilSouth_DB_2`, `SQL_CanadaCentral_DB_2`, `SQL_CanadaEast_DB_2`, `SQL_CentralUS_DB_2`, `SQL_EastAsia_DB_2`, `SQL_FranceCentral_DB_2`, `SQL_GermanyWestCentral_DB_2`, `SQL_CentralIndia_DB_2`, `SQL_SouthIndia_DB_2`, `SQL_JapanEast_DB_2`, `SQL_JapanWest_DB_2`, `SQL_NorthCentralUS_DB_2`, `SQL_UKWest_DB_2`, `SQL_WestUS_DB_2`, `SQL_WestCentralUS_DB_1`, `SQL_FranceSouth_DB_1`, `SQL_WestCentralUS_DB_2`, `SQL_FranceSouth_DB_2`, `SQL_SwitzerlandNorth_DB_1`, `SQL_SwitzerlandNorth_DB_2`, `SQL_BrazilSoutheast_DB_1`, `SQL_UAENorth_DB_1`, `SQL_BrazilSoutheast_DB_2`, `SQL_UAENorth_DB_2`, `SQL_SouthAfricaNorth_DB_1`, `SQL_SouthAfricaNorth_DB_2`, `SQL_WestUS3_DB_1`, `SQL_WestUS3_DB_2`. Defaults to `SQL_Default`.
	MaintenanceConfigurationName pulumi.StringPtrInput
	// The max data size of the elastic pool in bytes. Conflicts with `maxSizeGb`.
	//
	// > **NOTE:** One of either `maxSizeGb` or `maxSizeBytes` must be specified.
	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. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The name of the SQL Server on which to create the elastic pool. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
	// A `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`.
	ZoneRedundant pulumi.BoolPtrInput
}

func (ElasticPoolState) ElementType

func (ElasticPoolState) ElementType() reflect.Type

type FailoverGroup

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("database-rg"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		primary, err := mssql.NewServer(ctx, "primary", &mssql.ServerArgs{
			Name:                       pulumi.String("mssqlserver-primary"),
			ResourceGroupName:          example.Name,
			Location:                   example.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{
			Name:                       pulumi.String("mssqlserver-secondary"),
			ResourceGroupName:          example.Name,
			Location:                   pulumi.String("North Europe"),
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsKat12"),
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := mssql.NewDatabase(ctx, "example", &mssql.DatabaseArgs{
			Name:      pulumi.String("exampledb"),
			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, "example", &mssql.FailoverGroupArgs{
			Name:     pulumi.String("example"),
			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

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

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

func NewFailoverGroup

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

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

func (*FailoverGroup) ElementType

func (*FailoverGroup) ElementType() reflect.Type

func (*FailoverGroup) ToFailoverGroupOutput

func (i *FailoverGroup) ToFailoverGroupOutput() FailoverGroupOutput

func (*FailoverGroup) ToFailoverGroupOutputWithContext

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

type FailoverGroupArgs

type FailoverGroupArgs struct {
	// A 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

func (FailoverGroupArgs) ElementType() reflect.Type

type FailoverGroupArray

type FailoverGroupArray []FailoverGroupInput

func (FailoverGroupArray) ElementType

func (FailoverGroupArray) ElementType() reflect.Type

func (FailoverGroupArray) ToFailoverGroupArrayOutput

func (i FailoverGroupArray) ToFailoverGroupArrayOutput() FailoverGroupArrayOutput

func (FailoverGroupArray) ToFailoverGroupArrayOutputWithContext

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

type FailoverGroupArrayInput

type FailoverGroupArrayInput interface {
	pulumi.Input

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

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

FailoverGroupArray{ FailoverGroupArgs{...} }

type FailoverGroupArrayOutput

type FailoverGroupArrayOutput struct{ *pulumi.OutputState }

func (FailoverGroupArrayOutput) ElementType

func (FailoverGroupArrayOutput) ElementType() reflect.Type

func (FailoverGroupArrayOutput) Index

func (FailoverGroupArrayOutput) ToFailoverGroupArrayOutput

func (o FailoverGroupArrayOutput) ToFailoverGroupArrayOutput() FailoverGroupArrayOutput

func (FailoverGroupArrayOutput) ToFailoverGroupArrayOutputWithContext

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

type FailoverGroupInput

type FailoverGroupInput interface {
	pulumi.Input

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

type FailoverGroupMap

type FailoverGroupMap map[string]FailoverGroupInput

func (FailoverGroupMap) ElementType

func (FailoverGroupMap) ElementType() reflect.Type

func (FailoverGroupMap) ToFailoverGroupMapOutput

func (i FailoverGroupMap) ToFailoverGroupMapOutput() FailoverGroupMapOutput

func (FailoverGroupMap) ToFailoverGroupMapOutputWithContext

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

type FailoverGroupMapInput

type FailoverGroupMapInput interface {
	pulumi.Input

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

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

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

type FailoverGroupMapOutput

type FailoverGroupMapOutput struct{ *pulumi.OutputState }

func (FailoverGroupMapOutput) ElementType

func (FailoverGroupMapOutput) ElementType() reflect.Type

func (FailoverGroupMapOutput) MapIndex

func (FailoverGroupMapOutput) ToFailoverGroupMapOutput

func (o FailoverGroupMapOutput) ToFailoverGroupMapOutput() FailoverGroupMapOutput

func (FailoverGroupMapOutput) ToFailoverGroupMapOutputWithContext

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

type FailoverGroupOutput

type FailoverGroupOutput struct{ *pulumi.OutputState }

func (FailoverGroupOutput) Databases added in v5.5.0

A set of database names to include in the failover group.

func (FailoverGroupOutput) ElementType

func (FailoverGroupOutput) ElementType() reflect.Type

func (FailoverGroupOutput) Name added in v5.5.0

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

func (FailoverGroupOutput) PartnerServers added in v5.5.0

A `partnerServer` block as defined below.

func (FailoverGroupOutput) ReadWriteEndpointFailoverPolicy added in v5.5.0

func (o FailoverGroupOutput) ReadWriteEndpointFailoverPolicy() FailoverGroupReadWriteEndpointFailoverPolicyOutput

A `readWriteEndpointFailoverPolicy` block as defined below.

func (FailoverGroupOutput) ReadonlyEndpointFailoverPolicyEnabled added in v5.5.0

func (o FailoverGroupOutput) ReadonlyEndpointFailoverPolicyEnabled() pulumi.BoolOutput

Whether failover is enabled for the readonly endpoint. Defaults to `false`.

func (FailoverGroupOutput) ServerId added in v5.5.0

The ID of the primary SQL Server on which to create the failover group. Changing this forces a new resource to be created.

func (FailoverGroupOutput) Tags added in v5.5.0

A mapping of tags to assign to the resource.

func (FailoverGroupOutput) ToFailoverGroupOutput

func (o FailoverGroupOutput) ToFailoverGroupOutput() FailoverGroupOutput

func (FailoverGroupOutput) ToFailoverGroupOutputWithContext

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

type FailoverGroupPartnerServer

type FailoverGroupPartnerServer struct {
	// The 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

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

func (FailoverGroupPartnerServerArgs) ToFailoverGroupPartnerServerOutput

func (i FailoverGroupPartnerServerArgs) ToFailoverGroupPartnerServerOutput() FailoverGroupPartnerServerOutput

func (FailoverGroupPartnerServerArgs) ToFailoverGroupPartnerServerOutputWithContext

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

type FailoverGroupPartnerServerArray

type FailoverGroupPartnerServerArray []FailoverGroupPartnerServerInput

func (FailoverGroupPartnerServerArray) ElementType

func (FailoverGroupPartnerServerArray) ToFailoverGroupPartnerServerArrayOutput

func (i FailoverGroupPartnerServerArray) ToFailoverGroupPartnerServerArrayOutput() FailoverGroupPartnerServerArrayOutput

func (FailoverGroupPartnerServerArray) ToFailoverGroupPartnerServerArrayOutputWithContext

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

type FailoverGroupPartnerServerArrayInput

type FailoverGroupPartnerServerArrayInput interface {
	pulumi.Input

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

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

FailoverGroupPartnerServerArray{ FailoverGroupPartnerServerArgs{...} }

type FailoverGroupPartnerServerArrayOutput

type FailoverGroupPartnerServerArrayOutput struct{ *pulumi.OutputState }

func (FailoverGroupPartnerServerArrayOutput) ElementType

func (FailoverGroupPartnerServerArrayOutput) Index

func (FailoverGroupPartnerServerArrayOutput) ToFailoverGroupPartnerServerArrayOutput

func (o FailoverGroupPartnerServerArrayOutput) ToFailoverGroupPartnerServerArrayOutput() FailoverGroupPartnerServerArrayOutput

func (FailoverGroupPartnerServerArrayOutput) ToFailoverGroupPartnerServerArrayOutputWithContext

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

type FailoverGroupPartnerServerInput

type FailoverGroupPartnerServerInput interface {
	pulumi.Input

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

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

FailoverGroupPartnerServerArgs{...}

type FailoverGroupPartnerServerOutput

type FailoverGroupPartnerServerOutput struct{ *pulumi.OutputState }

func (FailoverGroupPartnerServerOutput) ElementType

func (FailoverGroupPartnerServerOutput) Id

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

func (FailoverGroupPartnerServerOutput) Location

The location of the partner server.

func (FailoverGroupPartnerServerOutput) Role

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

func (FailoverGroupPartnerServerOutput) ToFailoverGroupPartnerServerOutput

func (o FailoverGroupPartnerServerOutput) ToFailoverGroupPartnerServerOutput() FailoverGroupPartnerServerOutput

func (FailoverGroupPartnerServerOutput) ToFailoverGroupPartnerServerOutputWithContext

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

type FailoverGroupReadWriteEndpointFailoverPolicy

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

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

func (FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyOutput

func (i FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyOutput() FailoverGroupReadWriteEndpointFailoverPolicyOutput

func (FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext

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

func (FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (i FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput() FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (FailoverGroupReadWriteEndpointFailoverPolicyArgs) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext

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

type FailoverGroupReadWriteEndpointFailoverPolicyInput

type FailoverGroupReadWriteEndpointFailoverPolicyInput interface {
	pulumi.Input

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

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

FailoverGroupReadWriteEndpointFailoverPolicyArgs{...}

type FailoverGroupReadWriteEndpointFailoverPolicyOutput

type FailoverGroupReadWriteEndpointFailoverPolicyOutput struct{ *pulumi.OutputState }

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) ElementType

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) GraceMinutes

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

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

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyOutput

func (o FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyOutput() FailoverGroupReadWriteEndpointFailoverPolicyOutput

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext

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

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (o FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput() FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (FailoverGroupReadWriteEndpointFailoverPolicyOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext

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

type FailoverGroupReadWriteEndpointFailoverPolicyPtrInput

type FailoverGroupReadWriteEndpointFailoverPolicyPtrInput interface {
	pulumi.Input

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

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

        FailoverGroupReadWriteEndpointFailoverPolicyArgs{...}

or:

        nil

type FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

type FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput struct{ *pulumi.OutputState }

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) Elem

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ElementType

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) GraceMinutes

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

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

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (FailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ToFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext

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

type FailoverGroupState

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

func (FailoverGroupState) ElementType() reflect.Type

type FirewallRule

type FirewallRule struct {
	pulumi.CustomResourceState

	// The ending IP address to allow through the firewall for this rule.
	//
	// > **NOTE:** The Azure feature `Allow access to Azure services` can be enabled by setting `startIpAddress` and `endIpAddress` to `0.0.0.0` which ([is documented in the Azure API Docs](https://docs.microsoft.com/rest/api/sql/firewallrules/createorupdate)).
	EndIpAddress pulumi.StringOutput `pulumi:"endIpAddress"`
	// The name of the firewall rule. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The resource ID of the SQL Server on which to create the Firewall Rule. Changing this forces a new resource to be created.
	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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("mysqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewFirewallRule(ctx, "example", &mssql.FirewallRuleArgs{
			Name:           pulumi.String("FirewallRule1"),
			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.
	//
	// > **NOTE:** The Azure feature `Allow access to Azure services` can be enabled by setting `startIpAddress` and `endIpAddress` to `0.0.0.0` which ([is documented in the Azure API Docs](https://docs.microsoft.com/rest/api/sql/firewallrules/createorupdate)).
	EndIpAddress pulumi.StringInput
	// The name of the firewall rule. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The resource ID of the SQL Server on which to create the Firewall Rule. Changing this forces a new resource to be created.
	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) EndIpAddress added in v5.5.0

func (o FirewallRuleOutput) EndIpAddress() pulumi.StringOutput

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

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

func (FirewallRuleOutput) Name added in v5.5.0

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

func (FirewallRuleOutput) ServerId added in v5.5.0

func (o FirewallRuleOutput) ServerId() pulumi.StringOutput

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

func (FirewallRuleOutput) StartIpAddress added in v5.5.0

func (o FirewallRuleOutput) StartIpAddress() pulumi.StringOutput

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

func (FirewallRuleOutput) ToFirewallRuleOutput

func (o FirewallRuleOutput) ToFirewallRuleOutput() FirewallRuleOutput

func (FirewallRuleOutput) ToFirewallRuleOutputWithContext

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

type FirewallRuleState

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

type GetDatabaseIdentity struct {
	// The list of User Assigned Managed Identity IDs assigned to this Microsoft SQL Database.
	IdentityIds []string `pulumi:"identityIds"`
	// The type of Managed Service Identity that is configured on this Microsoft SQL Database.
	Type string `pulumi:"type"`
}

type GetDatabaseIdentityArgs added in v5.62.0

type GetDatabaseIdentityArgs struct {
	// The list of User Assigned Managed Identity IDs assigned to this Microsoft SQL Database.
	IdentityIds pulumi.StringArrayInput `pulumi:"identityIds"`
	// The type of Managed Service Identity that is configured on this Microsoft SQL Database.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetDatabaseIdentityArgs) ElementType added in v5.62.0

func (GetDatabaseIdentityArgs) ElementType() reflect.Type

func (GetDatabaseIdentityArgs) ToGetDatabaseIdentityOutput added in v5.62.0

func (i GetDatabaseIdentityArgs) ToGetDatabaseIdentityOutput() GetDatabaseIdentityOutput

func (GetDatabaseIdentityArgs) ToGetDatabaseIdentityOutputWithContext added in v5.62.0

func (i GetDatabaseIdentityArgs) ToGetDatabaseIdentityOutputWithContext(ctx context.Context) GetDatabaseIdentityOutput

type GetDatabaseIdentityArray added in v5.62.0

type GetDatabaseIdentityArray []GetDatabaseIdentityInput

func (GetDatabaseIdentityArray) ElementType added in v5.62.0

func (GetDatabaseIdentityArray) ElementType() reflect.Type

func (GetDatabaseIdentityArray) ToGetDatabaseIdentityArrayOutput added in v5.62.0

func (i GetDatabaseIdentityArray) ToGetDatabaseIdentityArrayOutput() GetDatabaseIdentityArrayOutput

func (GetDatabaseIdentityArray) ToGetDatabaseIdentityArrayOutputWithContext added in v5.62.0

func (i GetDatabaseIdentityArray) ToGetDatabaseIdentityArrayOutputWithContext(ctx context.Context) GetDatabaseIdentityArrayOutput

type GetDatabaseIdentityArrayInput added in v5.62.0

type GetDatabaseIdentityArrayInput interface {
	pulumi.Input

	ToGetDatabaseIdentityArrayOutput() GetDatabaseIdentityArrayOutput
	ToGetDatabaseIdentityArrayOutputWithContext(context.Context) GetDatabaseIdentityArrayOutput
}

GetDatabaseIdentityArrayInput is an input type that accepts GetDatabaseIdentityArray and GetDatabaseIdentityArrayOutput values. You can construct a concrete instance of `GetDatabaseIdentityArrayInput` via:

GetDatabaseIdentityArray{ GetDatabaseIdentityArgs{...} }

type GetDatabaseIdentityArrayOutput added in v5.62.0

type GetDatabaseIdentityArrayOutput struct{ *pulumi.OutputState }

func (GetDatabaseIdentityArrayOutput) ElementType added in v5.62.0

func (GetDatabaseIdentityArrayOutput) Index added in v5.62.0

func (GetDatabaseIdentityArrayOutput) ToGetDatabaseIdentityArrayOutput added in v5.62.0

func (o GetDatabaseIdentityArrayOutput) ToGetDatabaseIdentityArrayOutput() GetDatabaseIdentityArrayOutput

func (GetDatabaseIdentityArrayOutput) ToGetDatabaseIdentityArrayOutputWithContext added in v5.62.0

func (o GetDatabaseIdentityArrayOutput) ToGetDatabaseIdentityArrayOutputWithContext(ctx context.Context) GetDatabaseIdentityArrayOutput

type GetDatabaseIdentityInput added in v5.62.0

type GetDatabaseIdentityInput interface {
	pulumi.Input

	ToGetDatabaseIdentityOutput() GetDatabaseIdentityOutput
	ToGetDatabaseIdentityOutputWithContext(context.Context) GetDatabaseIdentityOutput
}

GetDatabaseIdentityInput is an input type that accepts GetDatabaseIdentityArgs and GetDatabaseIdentityOutput values. You can construct a concrete instance of `GetDatabaseIdentityInput` via:

GetDatabaseIdentityArgs{...}

type GetDatabaseIdentityOutput added in v5.62.0

type GetDatabaseIdentityOutput struct{ *pulumi.OutputState }

func (GetDatabaseIdentityOutput) ElementType added in v5.62.0

func (GetDatabaseIdentityOutput) ElementType() reflect.Type

func (GetDatabaseIdentityOutput) IdentityIds added in v5.62.0

The list of User Assigned Managed Identity IDs assigned to this Microsoft SQL Database.

func (GetDatabaseIdentityOutput) ToGetDatabaseIdentityOutput added in v5.62.0

func (o GetDatabaseIdentityOutput) ToGetDatabaseIdentityOutput() GetDatabaseIdentityOutput

func (GetDatabaseIdentityOutput) ToGetDatabaseIdentityOutputWithContext added in v5.62.0

func (o GetDatabaseIdentityOutput) ToGetDatabaseIdentityOutputWithContext(ctx context.Context) GetDatabaseIdentityOutput

func (GetDatabaseIdentityOutput) Type added in v5.62.0

The type of Managed Service Identity that is configured on this Microsoft SQL Database.

type GetElasticPoolSkus

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

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

func (GetElasticPoolSkusArgs) ElementType() reflect.Type

func (GetElasticPoolSkusArgs) ToGetElasticPoolSkusOutput

func (i GetElasticPoolSkusArgs) ToGetElasticPoolSkusOutput() GetElasticPoolSkusOutput

func (GetElasticPoolSkusArgs) ToGetElasticPoolSkusOutputWithContext

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

type GetElasticPoolSkusArray

type GetElasticPoolSkusArray []GetElasticPoolSkusInput

func (GetElasticPoolSkusArray) ElementType

func (GetElasticPoolSkusArray) ElementType() reflect.Type

func (GetElasticPoolSkusArray) ToGetElasticPoolSkusArrayOutput

func (i GetElasticPoolSkusArray) ToGetElasticPoolSkusArrayOutput() GetElasticPoolSkusArrayOutput

func (GetElasticPoolSkusArray) ToGetElasticPoolSkusArrayOutputWithContext

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

type GetElasticPoolSkusArrayInput

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

type GetElasticPoolSkusArrayOutput struct{ *pulumi.OutputState }

func (GetElasticPoolSkusArrayOutput) ElementType

func (GetElasticPoolSkusArrayOutput) Index

func (GetElasticPoolSkusArrayOutput) ToGetElasticPoolSkusArrayOutput

func (o GetElasticPoolSkusArrayOutput) ToGetElasticPoolSkusArrayOutput() GetElasticPoolSkusArrayOutput

func (GetElasticPoolSkusArrayOutput) ToGetElasticPoolSkusArrayOutputWithContext

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

type GetElasticPoolSkusInput

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

type GetElasticPoolSkusOutput struct{ *pulumi.OutputState }

func (GetElasticPoolSkusOutput) Capacity

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

func (GetElasticPoolSkusOutput) ElementType

func (GetElasticPoolSkusOutput) ElementType() reflect.Type

func (GetElasticPoolSkusOutput) Family

The `family` of hardware.

func (GetElasticPoolSkusOutput) Name

The name of the elastic pool.

func (GetElasticPoolSkusOutput) Tier

The tier of the particular SKU.

func (GetElasticPoolSkusOutput) ToGetElasticPoolSkusOutput

func (o GetElasticPoolSkusOutput) ToGetElasticPoolSkusOutput() GetElasticPoolSkusOutput

func (GetElasticPoolSkusOutput) ToGetElasticPoolSkusOutputWithContext

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

type GetManagedInstanceIdentity

type GetManagedInstanceIdentity struct {
	// A list of User Assigned Managed Identity IDs assigned with the Identity of this SQL Managed Instance.
	IdentityIds []string `pulumi:"identityIds"`
	// 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

type GetManagedInstanceIdentityArgs struct {
	// A list of User Assigned Managed Identity IDs assigned with the Identity of this SQL Managed Instance.
	IdentityIds pulumi.StringArrayInput `pulumi:"identityIds"`
	// 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

func (GetManagedInstanceIdentityArgs) ToGetManagedInstanceIdentityOutput

func (i GetManagedInstanceIdentityArgs) ToGetManagedInstanceIdentityOutput() GetManagedInstanceIdentityOutput

func (GetManagedInstanceIdentityArgs) ToGetManagedInstanceIdentityOutputWithContext

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

type GetManagedInstanceIdentityArray

type GetManagedInstanceIdentityArray []GetManagedInstanceIdentityInput

func (GetManagedInstanceIdentityArray) ElementType

func (GetManagedInstanceIdentityArray) ToGetManagedInstanceIdentityArrayOutput

func (i GetManagedInstanceIdentityArray) ToGetManagedInstanceIdentityArrayOutput() GetManagedInstanceIdentityArrayOutput

func (GetManagedInstanceIdentityArray) ToGetManagedInstanceIdentityArrayOutputWithContext

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

type GetManagedInstanceIdentityArrayInput

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

type GetManagedInstanceIdentityArrayOutput struct{ *pulumi.OutputState }

func (GetManagedInstanceIdentityArrayOutput) ElementType

func (GetManagedInstanceIdentityArrayOutput) Index

func (GetManagedInstanceIdentityArrayOutput) ToGetManagedInstanceIdentityArrayOutput

func (o GetManagedInstanceIdentityArrayOutput) ToGetManagedInstanceIdentityArrayOutput() GetManagedInstanceIdentityArrayOutput

func (GetManagedInstanceIdentityArrayOutput) ToGetManagedInstanceIdentityArrayOutputWithContext

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

type GetManagedInstanceIdentityInput

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

type GetManagedInstanceIdentityOutput struct{ *pulumi.OutputState }

func (GetManagedInstanceIdentityOutput) ElementType

func (GetManagedInstanceIdentityOutput) IdentityIds added in v5.26.1

A list of User Assigned Managed Identity IDs assigned with the Identity of this SQL Managed Instance.

func (GetManagedInstanceIdentityOutput) PrincipalId

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

func (GetManagedInstanceIdentityOutput) TenantId

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

func (GetManagedInstanceIdentityOutput) ToGetManagedInstanceIdentityOutput

func (o GetManagedInstanceIdentityOutput) ToGetManagedInstanceIdentityOutput() GetManagedInstanceIdentityOutput

func (GetManagedInstanceIdentityOutput) ToGetManagedInstanceIdentityOutputWithContext

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

func (GetManagedInstanceIdentityOutput) Type

The identity type of the SQL Managed Instance.

type GetServerIdentity

type GetServerIdentity struct {
	// The list of User Assigned Managed Identity IDs assigned to this Microsoft SQL Server.
	IdentityIds []string `pulumi:"identityIds"`
	// The Principal ID of the System Assigned Managed Service Identity that is configured on this Microsoft SQL Server.
	PrincipalId string `pulumi:"principalId"`
	// The Tenant ID of the System Assigned Managed Service Identity that is configured on this Microsoft SQL Server.
	TenantId string `pulumi:"tenantId"`
	// The type of Managed Service Identity that is configured on this Microsoft SQL Server.
	Type string `pulumi:"type"`
}

type GetServerIdentityArgs

type GetServerIdentityArgs struct {
	// The list of User Assigned Managed Identity IDs assigned to this Microsoft SQL Server.
	IdentityIds pulumi.StringArrayInput `pulumi:"identityIds"`
	// The Principal ID of the System Assigned Managed Service Identity that is configured on this Microsoft SQL Server.
	PrincipalId pulumi.StringInput `pulumi:"principalId"`
	// The Tenant ID of the System Assigned Managed Service Identity that is configured on this Microsoft SQL Server.
	TenantId pulumi.StringInput `pulumi:"tenantId"`
	// The type of Managed Service Identity that is configured on this Microsoft SQL Server.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetServerIdentityArgs) ElementType

func (GetServerIdentityArgs) ElementType() reflect.Type

func (GetServerIdentityArgs) ToGetServerIdentityOutput

func (i GetServerIdentityArgs) ToGetServerIdentityOutput() GetServerIdentityOutput

func (GetServerIdentityArgs) ToGetServerIdentityOutputWithContext

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

type GetServerIdentityArray

type GetServerIdentityArray []GetServerIdentityInput

func (GetServerIdentityArray) ElementType

func (GetServerIdentityArray) ElementType() reflect.Type

func (GetServerIdentityArray) ToGetServerIdentityArrayOutput

func (i GetServerIdentityArray) ToGetServerIdentityArrayOutput() GetServerIdentityArrayOutput

func (GetServerIdentityArray) ToGetServerIdentityArrayOutputWithContext

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

type GetServerIdentityArrayInput

type GetServerIdentityArrayInput interface {
	pulumi.Input

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

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

GetServerIdentityArray{ GetServerIdentityArgs{...} }

type GetServerIdentityArrayOutput

type GetServerIdentityArrayOutput struct{ *pulumi.OutputState }

func (GetServerIdentityArrayOutput) ElementType

func (GetServerIdentityArrayOutput) Index

func (GetServerIdentityArrayOutput) ToGetServerIdentityArrayOutput

func (o GetServerIdentityArrayOutput) ToGetServerIdentityArrayOutput() GetServerIdentityArrayOutput

func (GetServerIdentityArrayOutput) ToGetServerIdentityArrayOutputWithContext

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

type GetServerIdentityInput

type GetServerIdentityInput interface {
	pulumi.Input

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

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

GetServerIdentityArgs{...}

type GetServerIdentityOutput

type GetServerIdentityOutput struct{ *pulumi.OutputState }

func (GetServerIdentityOutput) ElementType

func (GetServerIdentityOutput) ElementType() reflect.Type

func (GetServerIdentityOutput) IdentityIds

The list of User Assigned Managed Identity IDs assigned to this Microsoft SQL Server.

func (GetServerIdentityOutput) PrincipalId

The Principal ID of the System Assigned Managed Service Identity that is configured on this Microsoft SQL Server.

func (GetServerIdentityOutput) TenantId

The Tenant ID of the System Assigned Managed Service Identity that is configured on this Microsoft 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 type of Managed Service Identity that is configured on this Microsoft SQL Server.

type JobAgent

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example"),
			Location: pulumi.String("northeurope"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("example-server"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := mssql.NewDatabase(ctx, "example", &mssql.DatabaseArgs{
			Name:      pulumi.String("example-db"),
			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, "example", &mssql.JobAgentArgs{
			Name:       pulumi.String("example-job-agent"),
			Location:   example.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

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

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

func (*JobAgent) ElementType() reflect.Type

func (*JobAgent) ToJobAgentOutput

func (i *JobAgent) ToJobAgentOutput() JobAgentOutput

func (*JobAgent) ToJobAgentOutputWithContext

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

type JobAgentArgs

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

func (JobAgentArgs) ElementType() reflect.Type

type JobAgentArray

type JobAgentArray []JobAgentInput

func (JobAgentArray) ElementType

func (JobAgentArray) ElementType() reflect.Type

func (JobAgentArray) ToJobAgentArrayOutput

func (i JobAgentArray) ToJobAgentArrayOutput() JobAgentArrayOutput

func (JobAgentArray) ToJobAgentArrayOutputWithContext

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

type JobAgentArrayInput

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

type JobAgentArrayOutput struct{ *pulumi.OutputState }

func (JobAgentArrayOutput) ElementType

func (JobAgentArrayOutput) ElementType() reflect.Type

func (JobAgentArrayOutput) Index

func (JobAgentArrayOutput) ToJobAgentArrayOutput

func (o JobAgentArrayOutput) ToJobAgentArrayOutput() JobAgentArrayOutput

func (JobAgentArrayOutput) ToJobAgentArrayOutputWithContext

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

type JobAgentInput

type JobAgentInput interface {
	pulumi.Input

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

type JobAgentMap

type JobAgentMap map[string]JobAgentInput

func (JobAgentMap) ElementType

func (JobAgentMap) ElementType() reflect.Type

func (JobAgentMap) ToJobAgentMapOutput

func (i JobAgentMap) ToJobAgentMapOutput() JobAgentMapOutput

func (JobAgentMap) ToJobAgentMapOutputWithContext

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

type JobAgentMapInput

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

type JobAgentMapOutput struct{ *pulumi.OutputState }

func (JobAgentMapOutput) ElementType

func (JobAgentMapOutput) ElementType() reflect.Type

func (JobAgentMapOutput) MapIndex

func (JobAgentMapOutput) ToJobAgentMapOutput

func (o JobAgentMapOutput) ToJobAgentMapOutput() JobAgentMapOutput

func (JobAgentMapOutput) ToJobAgentMapOutputWithContext

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

type JobAgentOutput

type JobAgentOutput struct{ *pulumi.OutputState }

func (JobAgentOutput) DatabaseId added in v5.5.0

func (o JobAgentOutput) DatabaseId() pulumi.StringOutput

The ID of the database to store metadata for the Elastic Job Agent. Changing this forces a new Elastic Job Agent to be created.

func (JobAgentOutput) ElementType

func (JobAgentOutput) ElementType() reflect.Type

func (JobAgentOutput) Location added in v5.5.0

func (o JobAgentOutput) Location() pulumi.StringOutput

The Azure Region where the Elastic Job Agent should exist. Changing this forces a new Elastic Job Agent to be created.

func (JobAgentOutput) Name added in v5.5.0

The name which should be used for this Elastic Job Agent. Changing this forces a new Elastic Job Agent to be created.

func (JobAgentOutput) Tags added in v5.5.0

A mapping of tags which should be assigned to the Database.

func (JobAgentOutput) ToJobAgentOutput

func (o JobAgentOutput) ToJobAgentOutput() JobAgentOutput

func (JobAgentOutput) ToJobAgentOutputWithContext

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

type JobAgentState

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

func (JobAgentState) ElementType() reflect.Type

type JobCredential

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example"),
			Location: pulumi.String("northeurope"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("example-server"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := mssql.NewDatabase(ctx, "example", &mssql.DatabaseArgs{
			Name:      pulumi.String("example-db"),
			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, "example", &mssql.JobAgentArgs{
			Name:       pulumi.String("example-job-agent"),
			Location:   example.Location,
			DatabaseId: exampleDatabase.ID(),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewJobCredential(ctx, "example", &mssql.JobCredentialArgs{
			Name:       pulumi.String("example-credential"),
			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

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

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

func (*JobCredential) ElementType() reflect.Type

func (*JobCredential) ToJobCredentialOutput

func (i *JobCredential) ToJobCredentialOutput() JobCredentialOutput

func (*JobCredential) ToJobCredentialOutputWithContext

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

type JobCredentialArgs

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

func (JobCredentialArgs) ElementType() reflect.Type

type JobCredentialArray

type JobCredentialArray []JobCredentialInput

func (JobCredentialArray) ElementType

func (JobCredentialArray) ElementType() reflect.Type

func (JobCredentialArray) ToJobCredentialArrayOutput

func (i JobCredentialArray) ToJobCredentialArrayOutput() JobCredentialArrayOutput

func (JobCredentialArray) ToJobCredentialArrayOutputWithContext

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

type JobCredentialArrayInput

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

type JobCredentialArrayOutput struct{ *pulumi.OutputState }

func (JobCredentialArrayOutput) ElementType

func (JobCredentialArrayOutput) ElementType() reflect.Type

func (JobCredentialArrayOutput) Index

func (JobCredentialArrayOutput) ToJobCredentialArrayOutput

func (o JobCredentialArrayOutput) ToJobCredentialArrayOutput() JobCredentialArrayOutput

func (JobCredentialArrayOutput) ToJobCredentialArrayOutputWithContext

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

type JobCredentialInput

type JobCredentialInput interface {
	pulumi.Input

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

type JobCredentialMap

type JobCredentialMap map[string]JobCredentialInput

func (JobCredentialMap) ElementType

func (JobCredentialMap) ElementType() reflect.Type

func (JobCredentialMap) ToJobCredentialMapOutput

func (i JobCredentialMap) ToJobCredentialMapOutput() JobCredentialMapOutput

func (JobCredentialMap) ToJobCredentialMapOutputWithContext

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

type JobCredentialMapInput

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

type JobCredentialMapOutput struct{ *pulumi.OutputState }

func (JobCredentialMapOutput) ElementType

func (JobCredentialMapOutput) ElementType() reflect.Type

func (JobCredentialMapOutput) MapIndex

func (JobCredentialMapOutput) ToJobCredentialMapOutput

func (o JobCredentialMapOutput) ToJobCredentialMapOutput() JobCredentialMapOutput

func (JobCredentialMapOutput) ToJobCredentialMapOutputWithContext

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

type JobCredentialOutput

type JobCredentialOutput struct{ *pulumi.OutputState }

func (JobCredentialOutput) ElementType

func (JobCredentialOutput) ElementType() reflect.Type

func (JobCredentialOutput) JobAgentId added in v5.5.0

func (o JobCredentialOutput) JobAgentId() pulumi.StringOutput

The ID of the Elastic Job Agent. Changing this forces a new Elastic Job Credential to be created.

func (JobCredentialOutput) Name added in v5.5.0

The name which should be used for this Elastic Job Credential. Changing this forces a new Elastic Job Credential to be created.

func (JobCredentialOutput) Password added in v5.5.0

The password part of the credential.

func (JobCredentialOutput) ToJobCredentialOutput

func (o JobCredentialOutput) ToJobCredentialOutput() JobCredentialOutput

func (JobCredentialOutput) ToJobCredentialOutputWithContext

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

func (JobCredentialOutput) Username added in v5.5.0

The username part of the credential.

type JobCredentialState

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

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 read the database.
	ServerId string `pulumi:"serverId"`
}

A collection of arguments for invoking getDatabase.

type LookupDatabaseOutputArgs

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 read the database.
	ServerId pulumi.StringInput `pulumi:"serverId"`
}

A collection of arguments for invoking getDatabase.

func (LookupDatabaseOutputArgs) ElementType

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 type of enclave being used by the database.
	EnclaveType string `pulumi:"enclaveType"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A `identity` block as defined below.
	Identities []GetDatabaseIdentity `pulumi:"identities"`
	// 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 Transparent Data Encryption is enabled.
	TransparentDataEncryptionEnabled bool `pulumi:"transparentDataEncryptionEnabled"`
	// Whether or not TDE automatically rotates the encryption Key to latest version.
	TransparentDataEncryptionKeyAutomaticRotationEnabled bool `pulumi:"transparentDataEncryptionKeyAutomaticRotationEnabled"`
	// The Key Vault key URI to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.
	TransparentDataEncryptionKeyVaultKeyId string `pulumi:"transparentDataEncryptionKeyVaultKeyId"`
	// 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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/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, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("example"),
			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
		}
		example := mssql.LookupDatabaseOutput(ctx, mssql.GetDatabaseOutputArgs{
			Name:     pulumi.String("example-mssql-db"),
			ServerId: exampleServer.ID(),
		}, nil)
		ctx.Export("databaseId", example.ApplyT(func(example mssql.GetDatabaseResult) (*string, error) {
			return &example.Id, nil
		}).(pulumi.StringPtrOutput))
		return nil
	})
}

```

type LookupDatabaseResultOutput

type LookupDatabaseResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDatabase.

func (LookupDatabaseResultOutput) Collation

The collation of the database.

func (LookupDatabaseResultOutput) ElasticPoolId

The id of the elastic pool containing this database.

func (LookupDatabaseResultOutput) ElementType

func (LookupDatabaseResultOutput) ElementType() reflect.Type

func (LookupDatabaseResultOutput) EnclaveType added in v5.59.0

The type of enclave being used by the database.

func (LookupDatabaseResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupDatabaseResultOutput) Identities added in v5.62.0

A `identity` block as defined below.

func (LookupDatabaseResultOutput) LicenseType

The license type to apply for this database.

func (LookupDatabaseResultOutput) MaxSizeGb

The max size of the database in gigabytes.

func (LookupDatabaseResultOutput) Name

func (LookupDatabaseResultOutput) ReadReplicaCount

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

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

func (LookupDatabaseResultOutput) SkuName

The name of the SKU of the database.

func (LookupDatabaseResultOutput) StorageAccountType

func (o LookupDatabaseResultOutput) StorageAccountType() pulumi.StringOutput

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

func (LookupDatabaseResultOutput) Tags

A mapping of tags to assign to the resource.

func (LookupDatabaseResultOutput) ToLookupDatabaseResultOutput

func (o LookupDatabaseResultOutput) ToLookupDatabaseResultOutput() LookupDatabaseResultOutput

func (LookupDatabaseResultOutput) ToLookupDatabaseResultOutputWithContext

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

func (LookupDatabaseResultOutput) TransparentDataEncryptionEnabled added in v5.62.0

func (o LookupDatabaseResultOutput) TransparentDataEncryptionEnabled() pulumi.BoolOutput

Whether or not Transparent Data Encryption is enabled.

func (LookupDatabaseResultOutput) TransparentDataEncryptionKeyAutomaticRotationEnabled added in v5.62.0

func (o LookupDatabaseResultOutput) TransparentDataEncryptionKeyAutomaticRotationEnabled() pulumi.BoolOutput

Whether or not TDE automatically rotates the encryption Key to latest version.

func (LookupDatabaseResultOutput) TransparentDataEncryptionKeyVaultKeyId added in v5.62.0

func (o LookupDatabaseResultOutput) TransparentDataEncryptionKeyVaultKeyId() pulumi.StringOutput

The Key Vault key URI to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.

func (LookupDatabaseResultOutput) ZoneRedundant

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

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

type LookupElasticPoolResult

type LookupElasticPoolResult struct {
	// The type of enclave being used by the elastic pool.
	EnclaveType string `pulumi:"enclaveType"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The license type to apply for this elastic pool.
	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/v5/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

type LookupElasticPoolResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getElasticPool.

func (LookupElasticPoolResultOutput) ElementType

func (LookupElasticPoolResultOutput) EnclaveType added in v5.59.0

The type of enclave being used by the elastic pool.

func (LookupElasticPoolResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupElasticPoolResultOutput) LicenseType

The license type to apply for this elastic pool.

func (LookupElasticPoolResultOutput) Location

Specifies the supported Azure location where the resource exists.

func (LookupElasticPoolResultOutput) MaxSizeBytes

The max data size of the elastic pool in bytes.

func (LookupElasticPoolResultOutput) MaxSizeGb

The max data size of the elastic pool in gigabytes.

func (LookupElasticPoolResultOutput) Name

Specifies the SKU Name for this Elasticpool.

func (LookupElasticPoolResultOutput) PerDbMaxCapacity

func (o LookupElasticPoolResultOutput) PerDbMaxCapacity() pulumi.IntOutput

The maximum capacity any one database can consume.

func (LookupElasticPoolResultOutput) PerDbMinCapacity

func (o LookupElasticPoolResultOutput) PerDbMinCapacity() pulumi.IntOutput

The minimum capacity all databases are guaranteed.

func (LookupElasticPoolResultOutput) ResourceGroupName

func (o LookupElasticPoolResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupElasticPoolResultOutput) ServerName

func (LookupElasticPoolResultOutput) Skus

A `sku` block as defined below.

func (LookupElasticPoolResultOutput) Tags

A mapping of tags to assign to the resource.

func (LookupElasticPoolResultOutput) ToLookupElasticPoolResultOutput

func (o LookupElasticPoolResultOutput) ToLookupElasticPoolResultOutput() LookupElasticPoolResultOutput

func (LookupElasticPoolResultOutput) ToLookupElasticPoolResultOutputWithContext

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

func (LookupElasticPoolResultOutput) ZoneRedundant

Whether or not this elastic pool is zone redundant.

type LookupManagedInstanceArgs

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

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

type LookupManagedInstanceResult

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"`
	CustomerManagedKeyId string `pulumi:"customerManagedKeyId"`
	// The Dns Zone where the SQL Managed Instance is located.
	DnsZone string `pulumi:"dnsZone"`
	// 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

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/v5/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: exampleAzurermResourceGroup.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupManagedInstanceResultOutput

type LookupManagedInstanceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getManagedInstance.

func (LookupManagedInstanceResultOutput) AdministratorLogin

func (o LookupManagedInstanceResultOutput) AdministratorLogin() pulumi.StringOutput

The administrator login name for the SQL Managed Instance.

func (LookupManagedInstanceResultOutput) Collation

Specifies how the SQL Managed Instance will be collated.

func (LookupManagedInstanceResultOutput) CustomerManagedKeyId added in v5.26.1

func (o LookupManagedInstanceResultOutput) CustomerManagedKeyId() pulumi.StringOutput

func (LookupManagedInstanceResultOutput) DnsZone added in v5.63.0

The Dns Zone where the SQL Managed Instance is located.

func (LookupManagedInstanceResultOutput) DnsZonePartnerId

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

func (LookupManagedInstanceResultOutput) ElementType

func (LookupManagedInstanceResultOutput) Fqdn

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

func (LookupManagedInstanceResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupManagedInstanceResultOutput) Identities

An `identity` block as defined below.

func (LookupManagedInstanceResultOutput) LicenseType

What type of license the SQL Managed Instance uses.

func (LookupManagedInstanceResultOutput) Location

Specifies the supported Azure location where the resource exists.

func (LookupManagedInstanceResultOutput) MinimumTlsVersion

The Minimum TLS Version.

func (LookupManagedInstanceResultOutput) Name

func (LookupManagedInstanceResultOutput) ProxyOverride

Specifies how the SQL Managed Instance will be accessed.

func (LookupManagedInstanceResultOutput) PublicDataEndpointEnabled

func (o LookupManagedInstanceResultOutput) PublicDataEndpointEnabled() pulumi.BoolOutput

Whether the public data endpoint is enabled.

func (LookupManagedInstanceResultOutput) ResourceGroupName

func (LookupManagedInstanceResultOutput) SkuName

Specifies the SKU Name of the SQL Managed Instance.

func (LookupManagedInstanceResultOutput) StorageAccountType

func (o LookupManagedInstanceResultOutput) StorageAccountType() pulumi.StringOutput

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

func (LookupManagedInstanceResultOutput) StorageSizeInGb

Maximum storage space allocated for the SQL Managed Instance.

func (LookupManagedInstanceResultOutput) SubnetId

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

func (LookupManagedInstanceResultOutput) Tags

A mapping of tags assigned to the resource.

func (LookupManagedInstanceResultOutput) TimezoneId

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

func (LookupManagedInstanceResultOutput) ToLookupManagedInstanceResultOutput

func (o LookupManagedInstanceResultOutput) ToLookupManagedInstanceResultOutput() LookupManagedInstanceResultOutput

func (LookupManagedInstanceResultOutput) ToLookupManagedInstanceResultOutputWithContext

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

func (LookupManagedInstanceResultOutput) Vcores

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

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

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"`
	// The Key Vault key URI to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.
	TransparentDataEncryptionKeyVaultKeyId string `pulumi:"transparentDataEncryptionKeyVaultKeyId"`
	// 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/v5/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

type LookupServerResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getServer.

func (LookupServerResultOutput) AdministratorLogin

func (o LookupServerResultOutput) AdministratorLogin() pulumi.StringOutput

The server's administrator login name.

func (LookupServerResultOutput) ElementType

func (LookupServerResultOutput) ElementType() reflect.Type

func (LookupServerResultOutput) FullyQualifiedDomainName

func (o LookupServerResultOutput) FullyQualifiedDomainName() pulumi.StringOutput

The fully qualified domain name of the Azure SQL Server.

func (LookupServerResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupServerResultOutput) Identities

A `identity` block as defined below.

func (LookupServerResultOutput) Location

The Azure Region where the Microsoft SQL Server exists.

func (LookupServerResultOutput) Name

func (LookupServerResultOutput) ResourceGroupName

func (o LookupServerResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupServerResultOutput) RestorableDroppedDatabaseIds

func (o LookupServerResultOutput) RestorableDroppedDatabaseIds() pulumi.StringArrayOutput

A list of dropped restorable database IDs on the server.

func (LookupServerResultOutput) Tags

A mapping of tags assigned to this Microsoft SQL Server.

func (LookupServerResultOutput) ToLookupServerResultOutput

func (o LookupServerResultOutput) ToLookupServerResultOutput() LookupServerResultOutput

func (LookupServerResultOutput) ToLookupServerResultOutputWithContext

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

func (LookupServerResultOutput) TransparentDataEncryptionKeyVaultKeyId added in v5.62.0

func (o LookupServerResultOutput) TransparentDataEncryptionKeyVaultKeyId() pulumi.StringOutput

The Key Vault key URI to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.

func (LookupServerResultOutput) Version

This servers MS SQL version.

type ManagedDatabase

type ManagedDatabase struct {
	pulumi.CustomResourceState

	// A `longTermRetentionPolicy` block as defined below.
	LongTermRetentionPolicy ManagedDatabaseLongTermRetentionPolicyOutput `pulumi:"longTermRetentionPolicy"`
	// 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"`
	// A `pointInTimeRestore` block as defined below. Changing this forces a new resource to be created.
	PointInTimeRestore ManagedDatabasePointInTimeRestorePtrOutput `pulumi:"pointInTimeRestore"`
	// The backup retention period in days. This is how many days Point-in-Time Restore will be supported.
	ShortTermRetentionDays pulumi.IntPtrOutput `pulumi:"shortTermRetentionDays"`
}

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name:              pulumi.String("example"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("example"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		exampleManagedInstance, err := mssql.NewManagedInstance(ctx, "example", &mssql.ManagedInstanceArgs{
			Name:                       pulumi.String("managedsqlinstance"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			LicenseType:                pulumi.String("BasePrice"),
			SkuName:                    pulumi.String("GP_Gen5"),
			StorageSizeInGb:            pulumi.Int(32),
			SubnetId:                   exampleSubnet.ID(),
			Vcores:                     pulumi.Int(4),
			AdministratorLogin:         pulumi.String("msadministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsDog11"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewManagedDatabase(ctx, "example", &mssql.ManagedDatabaseArgs{
			Name:              pulumi.String("example"),
			ManagedInstanceId: exampleManagedInstance.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

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

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

func NewManagedDatabase

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

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

func (*ManagedDatabase) ElementType

func (*ManagedDatabase) ElementType() reflect.Type

func (*ManagedDatabase) ToManagedDatabaseOutput

func (i *ManagedDatabase) ToManagedDatabaseOutput() ManagedDatabaseOutput

func (*ManagedDatabase) ToManagedDatabaseOutputWithContext

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

type ManagedDatabaseArgs

type ManagedDatabaseArgs struct {
	// A `longTermRetentionPolicy` block as defined below.
	LongTermRetentionPolicy ManagedDatabaseLongTermRetentionPolicyPtrInput
	// 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
	// A `pointInTimeRestore` block as defined below. Changing this forces a new resource to be created.
	PointInTimeRestore ManagedDatabasePointInTimeRestorePtrInput
	// The backup retention period in days. This is how many days Point-in-Time Restore will be supported.
	ShortTermRetentionDays pulumi.IntPtrInput
}

The set of arguments for constructing a ManagedDatabase resource.

func (ManagedDatabaseArgs) ElementType

func (ManagedDatabaseArgs) ElementType() reflect.Type

type ManagedDatabaseArray

type ManagedDatabaseArray []ManagedDatabaseInput

func (ManagedDatabaseArray) ElementType

func (ManagedDatabaseArray) ElementType() reflect.Type

func (ManagedDatabaseArray) ToManagedDatabaseArrayOutput

func (i ManagedDatabaseArray) ToManagedDatabaseArrayOutput() ManagedDatabaseArrayOutput

func (ManagedDatabaseArray) ToManagedDatabaseArrayOutputWithContext

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

type ManagedDatabaseArrayInput

type ManagedDatabaseArrayInput interface {
	pulumi.Input

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

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

ManagedDatabaseArray{ ManagedDatabaseArgs{...} }

type ManagedDatabaseArrayOutput

type ManagedDatabaseArrayOutput struct{ *pulumi.OutputState }

func (ManagedDatabaseArrayOutput) ElementType

func (ManagedDatabaseArrayOutput) ElementType() reflect.Type

func (ManagedDatabaseArrayOutput) Index

func (ManagedDatabaseArrayOutput) ToManagedDatabaseArrayOutput

func (o ManagedDatabaseArrayOutput) ToManagedDatabaseArrayOutput() ManagedDatabaseArrayOutput

func (ManagedDatabaseArrayOutput) ToManagedDatabaseArrayOutputWithContext

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

type ManagedDatabaseInput

type ManagedDatabaseInput interface {
	pulumi.Input

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

type ManagedDatabaseLongTermRetentionPolicy added in v5.37.0

type ManagedDatabaseLongTermRetentionPolicy struct {
	// Specifies if the backups are immutable. Defaults to `false`.
	ImmutableBackupsEnabled *bool `pulumi:"immutableBackupsEnabled"`
	// 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. 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 ManagedDatabaseLongTermRetentionPolicyArgs added in v5.37.0

type ManagedDatabaseLongTermRetentionPolicyArgs struct {
	// Specifies if the backups are immutable. Defaults to `false`.
	ImmutableBackupsEnabled pulumi.BoolPtrInput `pulumi:"immutableBackupsEnabled"`
	// 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. 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 (ManagedDatabaseLongTermRetentionPolicyArgs) ElementType added in v5.37.0

func (ManagedDatabaseLongTermRetentionPolicyArgs) ToManagedDatabaseLongTermRetentionPolicyOutput added in v5.37.0

func (i ManagedDatabaseLongTermRetentionPolicyArgs) ToManagedDatabaseLongTermRetentionPolicyOutput() ManagedDatabaseLongTermRetentionPolicyOutput

func (ManagedDatabaseLongTermRetentionPolicyArgs) ToManagedDatabaseLongTermRetentionPolicyOutputWithContext added in v5.37.0

func (i ManagedDatabaseLongTermRetentionPolicyArgs) ToManagedDatabaseLongTermRetentionPolicyOutputWithContext(ctx context.Context) ManagedDatabaseLongTermRetentionPolicyOutput

func (ManagedDatabaseLongTermRetentionPolicyArgs) ToManagedDatabaseLongTermRetentionPolicyPtrOutput added in v5.37.0

func (i ManagedDatabaseLongTermRetentionPolicyArgs) ToManagedDatabaseLongTermRetentionPolicyPtrOutput() ManagedDatabaseLongTermRetentionPolicyPtrOutput

func (ManagedDatabaseLongTermRetentionPolicyArgs) ToManagedDatabaseLongTermRetentionPolicyPtrOutputWithContext added in v5.37.0

func (i ManagedDatabaseLongTermRetentionPolicyArgs) ToManagedDatabaseLongTermRetentionPolicyPtrOutputWithContext(ctx context.Context) ManagedDatabaseLongTermRetentionPolicyPtrOutput

type ManagedDatabaseLongTermRetentionPolicyInput added in v5.37.0

type ManagedDatabaseLongTermRetentionPolicyInput interface {
	pulumi.Input

	ToManagedDatabaseLongTermRetentionPolicyOutput() ManagedDatabaseLongTermRetentionPolicyOutput
	ToManagedDatabaseLongTermRetentionPolicyOutputWithContext(context.Context) ManagedDatabaseLongTermRetentionPolicyOutput
}

ManagedDatabaseLongTermRetentionPolicyInput is an input type that accepts ManagedDatabaseLongTermRetentionPolicyArgs and ManagedDatabaseLongTermRetentionPolicyOutput values. You can construct a concrete instance of `ManagedDatabaseLongTermRetentionPolicyInput` via:

ManagedDatabaseLongTermRetentionPolicyArgs{...}

type ManagedDatabaseLongTermRetentionPolicyOutput added in v5.37.0

type ManagedDatabaseLongTermRetentionPolicyOutput struct{ *pulumi.OutputState }

func (ManagedDatabaseLongTermRetentionPolicyOutput) ElementType added in v5.37.0

func (ManagedDatabaseLongTermRetentionPolicyOutput) ImmutableBackupsEnabled added in v5.65.0

Specifies if the backups are immutable. Defaults to `false`.

func (ManagedDatabaseLongTermRetentionPolicyOutput) MonthlyRetention added in v5.37.0

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 (ManagedDatabaseLongTermRetentionPolicyOutput) ToManagedDatabaseLongTermRetentionPolicyOutput added in v5.37.0

func (o ManagedDatabaseLongTermRetentionPolicyOutput) ToManagedDatabaseLongTermRetentionPolicyOutput() ManagedDatabaseLongTermRetentionPolicyOutput

func (ManagedDatabaseLongTermRetentionPolicyOutput) ToManagedDatabaseLongTermRetentionPolicyOutputWithContext added in v5.37.0

func (o ManagedDatabaseLongTermRetentionPolicyOutput) ToManagedDatabaseLongTermRetentionPolicyOutputWithContext(ctx context.Context) ManagedDatabaseLongTermRetentionPolicyOutput

func (ManagedDatabaseLongTermRetentionPolicyOutput) ToManagedDatabaseLongTermRetentionPolicyPtrOutput added in v5.37.0

func (o ManagedDatabaseLongTermRetentionPolicyOutput) ToManagedDatabaseLongTermRetentionPolicyPtrOutput() ManagedDatabaseLongTermRetentionPolicyPtrOutput

func (ManagedDatabaseLongTermRetentionPolicyOutput) ToManagedDatabaseLongTermRetentionPolicyPtrOutputWithContext added in v5.37.0

func (o ManagedDatabaseLongTermRetentionPolicyOutput) ToManagedDatabaseLongTermRetentionPolicyPtrOutputWithContext(ctx context.Context) ManagedDatabaseLongTermRetentionPolicyPtrOutput

func (ManagedDatabaseLongTermRetentionPolicyOutput) WeekOfYear added in v5.37.0

The week of year to take the yearly backup. Value has to be between `1` and `52`.

func (ManagedDatabaseLongTermRetentionPolicyOutput) WeeklyRetention added in v5.37.0

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 (ManagedDatabaseLongTermRetentionPolicyOutput) YearlyRetention added in v5.37.0

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 ManagedDatabaseLongTermRetentionPolicyPtrInput added in v5.37.0

type ManagedDatabaseLongTermRetentionPolicyPtrInput interface {
	pulumi.Input

	ToManagedDatabaseLongTermRetentionPolicyPtrOutput() ManagedDatabaseLongTermRetentionPolicyPtrOutput
	ToManagedDatabaseLongTermRetentionPolicyPtrOutputWithContext(context.Context) ManagedDatabaseLongTermRetentionPolicyPtrOutput
}

ManagedDatabaseLongTermRetentionPolicyPtrInput is an input type that accepts ManagedDatabaseLongTermRetentionPolicyArgs, ManagedDatabaseLongTermRetentionPolicyPtr and ManagedDatabaseLongTermRetentionPolicyPtrOutput values. You can construct a concrete instance of `ManagedDatabaseLongTermRetentionPolicyPtrInput` via:

        ManagedDatabaseLongTermRetentionPolicyArgs{...}

or:

        nil

type ManagedDatabaseLongTermRetentionPolicyPtrOutput added in v5.37.0

type ManagedDatabaseLongTermRetentionPolicyPtrOutput struct{ *pulumi.OutputState }

func (ManagedDatabaseLongTermRetentionPolicyPtrOutput) Elem added in v5.37.0

func (ManagedDatabaseLongTermRetentionPolicyPtrOutput) ElementType added in v5.37.0

func (ManagedDatabaseLongTermRetentionPolicyPtrOutput) ImmutableBackupsEnabled added in v5.65.0

Specifies if the backups are immutable. Defaults to `false`.

func (ManagedDatabaseLongTermRetentionPolicyPtrOutput) MonthlyRetention added in v5.37.0

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 (ManagedDatabaseLongTermRetentionPolicyPtrOutput) ToManagedDatabaseLongTermRetentionPolicyPtrOutput added in v5.37.0

func (o ManagedDatabaseLongTermRetentionPolicyPtrOutput) ToManagedDatabaseLongTermRetentionPolicyPtrOutput() ManagedDatabaseLongTermRetentionPolicyPtrOutput

func (ManagedDatabaseLongTermRetentionPolicyPtrOutput) ToManagedDatabaseLongTermRetentionPolicyPtrOutputWithContext added in v5.37.0

func (o ManagedDatabaseLongTermRetentionPolicyPtrOutput) ToManagedDatabaseLongTermRetentionPolicyPtrOutputWithContext(ctx context.Context) ManagedDatabaseLongTermRetentionPolicyPtrOutput

func (ManagedDatabaseLongTermRetentionPolicyPtrOutput) WeekOfYear added in v5.37.0

The week of year to take the yearly backup. Value has to be between `1` and `52`.

func (ManagedDatabaseLongTermRetentionPolicyPtrOutput) WeeklyRetention added in v5.37.0

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 (ManagedDatabaseLongTermRetentionPolicyPtrOutput) YearlyRetention added in v5.37.0

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 ManagedDatabaseMap

type ManagedDatabaseMap map[string]ManagedDatabaseInput

func (ManagedDatabaseMap) ElementType

func (ManagedDatabaseMap) ElementType() reflect.Type

func (ManagedDatabaseMap) ToManagedDatabaseMapOutput

func (i ManagedDatabaseMap) ToManagedDatabaseMapOutput() ManagedDatabaseMapOutput

func (ManagedDatabaseMap) ToManagedDatabaseMapOutputWithContext

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

type ManagedDatabaseMapInput

type ManagedDatabaseMapInput interface {
	pulumi.Input

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

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

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

type ManagedDatabaseMapOutput

type ManagedDatabaseMapOutput struct{ *pulumi.OutputState }

func (ManagedDatabaseMapOutput) ElementType

func (ManagedDatabaseMapOutput) ElementType() reflect.Type

func (ManagedDatabaseMapOutput) MapIndex

func (ManagedDatabaseMapOutput) ToManagedDatabaseMapOutput

func (o ManagedDatabaseMapOutput) ToManagedDatabaseMapOutput() ManagedDatabaseMapOutput

func (ManagedDatabaseMapOutput) ToManagedDatabaseMapOutputWithContext

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

type ManagedDatabaseOutput

type ManagedDatabaseOutput struct{ *pulumi.OutputState }

func (ManagedDatabaseOutput) ElementType

func (ManagedDatabaseOutput) ElementType() reflect.Type

func (ManagedDatabaseOutput) LongTermRetentionPolicy added in v5.37.0

A `longTermRetentionPolicy` block as defined below.

func (ManagedDatabaseOutput) ManagedInstanceId added in v5.5.0

func (o ManagedDatabaseOutput) ManagedInstanceId() pulumi.StringOutput

The ID of the Azure SQL Managed Instance on which to create this Managed Database. Changing this forces a new resource to be created.

func (ManagedDatabaseOutput) Name added in v5.5.0

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

func (ManagedDatabaseOutput) PointInTimeRestore added in v5.63.0

A `pointInTimeRestore` block as defined below. Changing this forces a new resource to be created.

func (ManagedDatabaseOutput) ShortTermRetentionDays added in v5.37.0

func (o ManagedDatabaseOutput) ShortTermRetentionDays() pulumi.IntPtrOutput

The backup retention period in days. This is how many days Point-in-Time Restore will be supported.

func (ManagedDatabaseOutput) ToManagedDatabaseOutput

func (o ManagedDatabaseOutput) ToManagedDatabaseOutput() ManagedDatabaseOutput

func (ManagedDatabaseOutput) ToManagedDatabaseOutputWithContext

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

type ManagedDatabasePointInTimeRestore added in v5.63.0

type ManagedDatabasePointInTimeRestore struct {
	// The point in time for the restore from `sourceDatabaseId`. Changing this forces a new resource to be created.
	RestorePointInTime string `pulumi:"restorePointInTime"`
	// The source database id that will be used to restore from. Changing this forces a new resource to be created.
	SourceDatabaseId string `pulumi:"sourceDatabaseId"`
}

type ManagedDatabasePointInTimeRestoreArgs added in v5.63.0

type ManagedDatabasePointInTimeRestoreArgs struct {
	// The point in time for the restore from `sourceDatabaseId`. Changing this forces a new resource to be created.
	RestorePointInTime pulumi.StringInput `pulumi:"restorePointInTime"`
	// The source database id that will be used to restore from. Changing this forces a new resource to be created.
	SourceDatabaseId pulumi.StringInput `pulumi:"sourceDatabaseId"`
}

func (ManagedDatabasePointInTimeRestoreArgs) ElementType added in v5.63.0

func (ManagedDatabasePointInTimeRestoreArgs) ToManagedDatabasePointInTimeRestoreOutput added in v5.63.0

func (i ManagedDatabasePointInTimeRestoreArgs) ToManagedDatabasePointInTimeRestoreOutput() ManagedDatabasePointInTimeRestoreOutput

func (ManagedDatabasePointInTimeRestoreArgs) ToManagedDatabasePointInTimeRestoreOutputWithContext added in v5.63.0

func (i ManagedDatabasePointInTimeRestoreArgs) ToManagedDatabasePointInTimeRestoreOutputWithContext(ctx context.Context) ManagedDatabasePointInTimeRestoreOutput

func (ManagedDatabasePointInTimeRestoreArgs) ToManagedDatabasePointInTimeRestorePtrOutput added in v5.63.0

func (i ManagedDatabasePointInTimeRestoreArgs) ToManagedDatabasePointInTimeRestorePtrOutput() ManagedDatabasePointInTimeRestorePtrOutput

func (ManagedDatabasePointInTimeRestoreArgs) ToManagedDatabasePointInTimeRestorePtrOutputWithContext added in v5.63.0

func (i ManagedDatabasePointInTimeRestoreArgs) ToManagedDatabasePointInTimeRestorePtrOutputWithContext(ctx context.Context) ManagedDatabasePointInTimeRestorePtrOutput

type ManagedDatabasePointInTimeRestoreInput added in v5.63.0

type ManagedDatabasePointInTimeRestoreInput interface {
	pulumi.Input

	ToManagedDatabasePointInTimeRestoreOutput() ManagedDatabasePointInTimeRestoreOutput
	ToManagedDatabasePointInTimeRestoreOutputWithContext(context.Context) ManagedDatabasePointInTimeRestoreOutput
}

ManagedDatabasePointInTimeRestoreInput is an input type that accepts ManagedDatabasePointInTimeRestoreArgs and ManagedDatabasePointInTimeRestoreOutput values. You can construct a concrete instance of `ManagedDatabasePointInTimeRestoreInput` via:

ManagedDatabasePointInTimeRestoreArgs{...}

type ManagedDatabasePointInTimeRestoreOutput added in v5.63.0

type ManagedDatabasePointInTimeRestoreOutput struct{ *pulumi.OutputState }

func (ManagedDatabasePointInTimeRestoreOutput) ElementType added in v5.63.0

func (ManagedDatabasePointInTimeRestoreOutput) RestorePointInTime added in v5.63.0

The point in time for the restore from `sourceDatabaseId`. Changing this forces a new resource to be created.

func (ManagedDatabasePointInTimeRestoreOutput) SourceDatabaseId added in v5.63.0

The source database id that will be used to restore from. Changing this forces a new resource to be created.

func (ManagedDatabasePointInTimeRestoreOutput) ToManagedDatabasePointInTimeRestoreOutput added in v5.63.0

func (o ManagedDatabasePointInTimeRestoreOutput) ToManagedDatabasePointInTimeRestoreOutput() ManagedDatabasePointInTimeRestoreOutput

func (ManagedDatabasePointInTimeRestoreOutput) ToManagedDatabasePointInTimeRestoreOutputWithContext added in v5.63.0

func (o ManagedDatabasePointInTimeRestoreOutput) ToManagedDatabasePointInTimeRestoreOutputWithContext(ctx context.Context) ManagedDatabasePointInTimeRestoreOutput

func (ManagedDatabasePointInTimeRestoreOutput) ToManagedDatabasePointInTimeRestorePtrOutput added in v5.63.0

func (o ManagedDatabasePointInTimeRestoreOutput) ToManagedDatabasePointInTimeRestorePtrOutput() ManagedDatabasePointInTimeRestorePtrOutput

func (ManagedDatabasePointInTimeRestoreOutput) ToManagedDatabasePointInTimeRestorePtrOutputWithContext added in v5.63.0

func (o ManagedDatabasePointInTimeRestoreOutput) ToManagedDatabasePointInTimeRestorePtrOutputWithContext(ctx context.Context) ManagedDatabasePointInTimeRestorePtrOutput

type ManagedDatabasePointInTimeRestorePtrInput added in v5.63.0

type ManagedDatabasePointInTimeRestorePtrInput interface {
	pulumi.Input

	ToManagedDatabasePointInTimeRestorePtrOutput() ManagedDatabasePointInTimeRestorePtrOutput
	ToManagedDatabasePointInTimeRestorePtrOutputWithContext(context.Context) ManagedDatabasePointInTimeRestorePtrOutput
}

ManagedDatabasePointInTimeRestorePtrInput is an input type that accepts ManagedDatabasePointInTimeRestoreArgs, ManagedDatabasePointInTimeRestorePtr and ManagedDatabasePointInTimeRestorePtrOutput values. You can construct a concrete instance of `ManagedDatabasePointInTimeRestorePtrInput` via:

        ManagedDatabasePointInTimeRestoreArgs{...}

or:

        nil

type ManagedDatabasePointInTimeRestorePtrOutput added in v5.63.0

type ManagedDatabasePointInTimeRestorePtrOutput struct{ *pulumi.OutputState }

func (ManagedDatabasePointInTimeRestorePtrOutput) Elem added in v5.63.0

func (ManagedDatabasePointInTimeRestorePtrOutput) ElementType added in v5.63.0

func (ManagedDatabasePointInTimeRestorePtrOutput) RestorePointInTime added in v5.63.0

The point in time for the restore from `sourceDatabaseId`. Changing this forces a new resource to be created.

func (ManagedDatabasePointInTimeRestorePtrOutput) SourceDatabaseId added in v5.63.0

The source database id that will be used to restore from. Changing this forces a new resource to be created.

func (ManagedDatabasePointInTimeRestorePtrOutput) ToManagedDatabasePointInTimeRestorePtrOutput added in v5.63.0

func (o ManagedDatabasePointInTimeRestorePtrOutput) ToManagedDatabasePointInTimeRestorePtrOutput() ManagedDatabasePointInTimeRestorePtrOutput

func (ManagedDatabasePointInTimeRestorePtrOutput) ToManagedDatabasePointInTimeRestorePtrOutputWithContext added in v5.63.0

func (o ManagedDatabasePointInTimeRestorePtrOutput) ToManagedDatabasePointInTimeRestorePtrOutputWithContext(ctx context.Context) ManagedDatabasePointInTimeRestorePtrOutput

type ManagedDatabaseState

type ManagedDatabaseState struct {
	// A `longTermRetentionPolicy` block as defined below.
	LongTermRetentionPolicy ManagedDatabaseLongTermRetentionPolicyPtrInput
	// 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
	// A `pointInTimeRestore` block as defined below. Changing this forces a new resource to be created.
	PointInTimeRestore ManagedDatabasePointInTimeRestorePtrInput
	// The backup retention period in days. This is how many days Point-in-Time Restore will be supported.
	ShortTermRetentionDays pulumi.IntPtrInput
}

func (ManagedDatabaseState) ElementType

func (ManagedDatabaseState) ElementType() reflect.Type

type ManagedInstance

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 Dns Zone where the SQL Managed Instance is located.
	DnsZone pulumi.StringOutput `pulumi:"dnsZone"`
	// The ID of the SQL Managed Instance which will share the DNS zone. This is a prerequisite for creating an `sql.ManagedInstanceFailoverGroup`. Setting this after creation forces a new resource to be created.
	DnsZonePartnerId pulumi.StringPtrOutput `pulumi:"dnsZonePartnerId"`
	// The fully qualified domain name of the Azure Managed SQL Instance
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// An `identity` block as defined below.
	Identity ManagedInstanceIdentityPtrOutput `pulumi:"identity"`
	// What type of license the Managed Instance will use. 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 name of the Public Maintenance Configuration window to apply to the SQL Managed Instance. Valid values include `SQL_Default` or an Azure Location in the format `SQL_{Location}_MI_{Size}`(for example `SQL_EastUS_MI_1`). Defaults to `SQL_Default`.
	MaintenanceConfigurationName pulumi.StringPtrOutput `pulumi:"maintenanceConfigurationName"`
	// The Minimum TLS Version. Default value is `1.2` Valid values include `1.0`, `1.1`, `1.2`.
	MinimumTlsVersion pulumi.StringPtrOutput `pulumi:"minimumTlsVersion"`
	// The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies how the SQL Managed Instance will be accessed. Default value is `Default`. Valid values include `Default`, `Proxy`, and `Redirect`.
	ProxyOverride pulumi.StringPtrOutput `pulumi:"proxyOverride"`
	// Is the public data endpoint enabled? Default value is `false`.
	PublicDataEndpointEnabled pulumi.BoolPtrOutput `pulumi:"publicDataEndpointEnabled"`
	// The name of the resource group in which to create the SQL Managed Instance. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the SKU Name for the SQL Managed Instance. Valid values include `GP_Gen4`, `GP_Gen5`, `GP_Gen8IM`, `GP_Gen8IH`, `BC_Gen4`, `BC_Gen5`, `BC_Gen8IM` or `BC_Gen8IH`.
	SkuName pulumi.StringOutput `pulumi:"skuName"`
	// Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are `GRS`, `LRS` and `ZRS`. Defaults to `GRS`.
	StorageAccountType pulumi.StringPtrOutput `pulumi:"storageAccountType"`
	// Maximum storage space for 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. Changing this forces a new resource to be created.
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The TimeZone ID that the SQL Managed Instance will be operating in. Default value is `UTC`. Changing this forces a new resource to be created.
	TimezoneId pulumi.StringPtrOutput `pulumi:"timezoneId"`
	// Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs.
	Vcores pulumi.IntOutput `pulumi:"vcores"`
	// Specifies whether or not the SQL Managed Instance is zone redundant. Defaults to `false`.
	ZoneRedundantEnabled pulumi.BoolPtrOutput `pulumi:"zoneRedundantEnabled"`
}

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

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

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

func NewManagedInstance

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

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

func (*ManagedInstance) ElementType

func (*ManagedInstance) ElementType() reflect.Type

func (*ManagedInstance) ToManagedInstanceOutput

func (i *ManagedInstance) ToManagedInstanceOutput() ManagedInstanceOutput

func (*ManagedInstance) ToManagedInstanceOutputWithContext

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

type ManagedInstanceActiveDirectoryAdministrator

type ManagedInstanceActiveDirectoryAdministrator struct {
	pulumi.CustomResourceState

	// When `true`, only permit logins from AAD users and administrators. When `false`, also allow local database users.
	AzureadAuthenticationOnly pulumi.BoolPtrOutput `pulumi:"azureadAuthenticationOnly"`
	// The login name of the principal to set as the Managed Instance Administrator.
	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.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("rg-example"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		current, err := core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name:              pulumi.String("example"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("example"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		exampleManagedInstance, err := mssql.NewManagedInstance(ctx, "example", &mssql.ManagedInstanceArgs{
			Name:                       pulumi.String("managedsqlinstance"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			LicenseType:                pulumi.String("BasePrice"),
			SkuName:                    pulumi.String("GP_Gen5"),
			StorageSizeInGb:            pulumi.Int(32),
			SubnetId:                   exampleSubnet.ID(),
			Vcores:                     pulumi.Int(4),
			AdministratorLogin:         pulumi.String("msadministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsDog11"),
			Identity: &mssql.ManagedInstanceIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		reader, err := azuread.NewDirectoryRole(ctx, "reader", &azuread.DirectoryRoleArgs{
			DisplayName: pulumi.String("Directory Readers"),
		})
		if err != nil {
			return err
		}
		_, err = azuread.NewDirectoryRoleMember(ctx, "example", &azuread.DirectoryRoleMemberArgs{
			RoleObjectId: reader.ObjectId,
			MemberObjectId: exampleManagedInstance.Identity.ApplyT(func(identity mssql.ManagedInstanceIdentity) (*string, error) {
				return &identity.PrincipalId, nil
			}).(pulumi.StringPtrOutput),
		})
		if err != nil {
			return err
		}
		admin, err := azuread.NewUser(ctx, "admin", &azuread.UserArgs{
			UserPrincipalName: pulumi.String("ms.admin@example.com"),
			DisplayName:       pulumi.String("Ms Admin"),
			MailNickname:      pulumi.String("ms.admin"),
			Password:          pulumi.String("SecretP@sswd99!"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewManagedInstanceActiveDirectoryAdministrator(ctx, "example", &mssql.ManagedInstanceActiveDirectoryAdministratorArgs{
			ManagedInstanceId: exampleManagedInstance.ID(),
			LoginUsername:     pulumi.String("msadmin"),
			ObjectId:          admin.ObjectId,
			TenantId:          pulumi.String(current.TenantId),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## 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

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

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

func NewManagedInstanceActiveDirectoryAdministrator

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

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

func (*ManagedInstanceActiveDirectoryAdministrator) ElementType

func (*ManagedInstanceActiveDirectoryAdministrator) ToManagedInstanceActiveDirectoryAdministratorOutput

func (i *ManagedInstanceActiveDirectoryAdministrator) ToManagedInstanceActiveDirectoryAdministratorOutput() ManagedInstanceActiveDirectoryAdministratorOutput

func (*ManagedInstanceActiveDirectoryAdministrator) ToManagedInstanceActiveDirectoryAdministratorOutputWithContext

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

type ManagedInstanceActiveDirectoryAdministratorArgs

type ManagedInstanceActiveDirectoryAdministratorArgs struct {
	// When `true`, only permit logins from AAD users and administrators. When `false`, also allow local database users.
	AzureadAuthenticationOnly pulumi.BoolPtrInput
	// The login name of the principal to set as the Managed Instance Administrator.
	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

type ManagedInstanceActiveDirectoryAdministratorArray

type ManagedInstanceActiveDirectoryAdministratorArray []ManagedInstanceActiveDirectoryAdministratorInput

func (ManagedInstanceActiveDirectoryAdministratorArray) ElementType

func (ManagedInstanceActiveDirectoryAdministratorArray) ToManagedInstanceActiveDirectoryAdministratorArrayOutput

func (i ManagedInstanceActiveDirectoryAdministratorArray) ToManagedInstanceActiveDirectoryAdministratorArrayOutput() ManagedInstanceActiveDirectoryAdministratorArrayOutput

func (ManagedInstanceActiveDirectoryAdministratorArray) ToManagedInstanceActiveDirectoryAdministratorArrayOutputWithContext

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

type ManagedInstanceActiveDirectoryAdministratorArrayInput

type ManagedInstanceActiveDirectoryAdministratorArrayInput interface {
	pulumi.Input

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

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

ManagedInstanceActiveDirectoryAdministratorArray{ ManagedInstanceActiveDirectoryAdministratorArgs{...} }

type ManagedInstanceActiveDirectoryAdministratorArrayOutput

type ManagedInstanceActiveDirectoryAdministratorArrayOutput struct{ *pulumi.OutputState }

func (ManagedInstanceActiveDirectoryAdministratorArrayOutput) ElementType

func (ManagedInstanceActiveDirectoryAdministratorArrayOutput) Index

func (ManagedInstanceActiveDirectoryAdministratorArrayOutput) ToManagedInstanceActiveDirectoryAdministratorArrayOutput

func (ManagedInstanceActiveDirectoryAdministratorArrayOutput) ToManagedInstanceActiveDirectoryAdministratorArrayOutputWithContext

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

type ManagedInstanceActiveDirectoryAdministratorInput

type ManagedInstanceActiveDirectoryAdministratorInput interface {
	pulumi.Input

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

type ManagedInstanceActiveDirectoryAdministratorMap

type ManagedInstanceActiveDirectoryAdministratorMap map[string]ManagedInstanceActiveDirectoryAdministratorInput

func (ManagedInstanceActiveDirectoryAdministratorMap) ElementType

func (ManagedInstanceActiveDirectoryAdministratorMap) ToManagedInstanceActiveDirectoryAdministratorMapOutput

func (i ManagedInstanceActiveDirectoryAdministratorMap) ToManagedInstanceActiveDirectoryAdministratorMapOutput() ManagedInstanceActiveDirectoryAdministratorMapOutput

func (ManagedInstanceActiveDirectoryAdministratorMap) ToManagedInstanceActiveDirectoryAdministratorMapOutputWithContext

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

type ManagedInstanceActiveDirectoryAdministratorMapInput

type ManagedInstanceActiveDirectoryAdministratorMapInput interface {
	pulumi.Input

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

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

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

type ManagedInstanceActiveDirectoryAdministratorMapOutput

type ManagedInstanceActiveDirectoryAdministratorMapOutput struct{ *pulumi.OutputState }

func (ManagedInstanceActiveDirectoryAdministratorMapOutput) ElementType

func (ManagedInstanceActiveDirectoryAdministratorMapOutput) MapIndex

func (ManagedInstanceActiveDirectoryAdministratorMapOutput) ToManagedInstanceActiveDirectoryAdministratorMapOutput

func (ManagedInstanceActiveDirectoryAdministratorMapOutput) ToManagedInstanceActiveDirectoryAdministratorMapOutputWithContext

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

type ManagedInstanceActiveDirectoryAdministratorOutput

type ManagedInstanceActiveDirectoryAdministratorOutput struct{ *pulumi.OutputState }

func (ManagedInstanceActiveDirectoryAdministratorOutput) AzureadAuthenticationOnly added in v5.5.0

When `true`, only permit logins from AAD users and administrators. When `false`, also allow local database users.

func (ManagedInstanceActiveDirectoryAdministratorOutput) ElementType

func (ManagedInstanceActiveDirectoryAdministratorOutput) LoginUsername added in v5.5.0

The login name of the principal to set as the Managed Instance Administrator.

func (ManagedInstanceActiveDirectoryAdministratorOutput) ManagedInstanceId added in v5.5.0

The ID of the Azure SQL Managed Instance for which to set the administrator. Changing this forces a new resource to be created.

func (ManagedInstanceActiveDirectoryAdministratorOutput) ObjectId added in v5.5.0

The Object ID of the principal to set as the Managed Instance Administrator.

func (ManagedInstanceActiveDirectoryAdministratorOutput) TenantId added in v5.5.0

The Azure Active Directory Tenant ID.

func (ManagedInstanceActiveDirectoryAdministratorOutput) ToManagedInstanceActiveDirectoryAdministratorOutput

func (o ManagedInstanceActiveDirectoryAdministratorOutput) ToManagedInstanceActiveDirectoryAdministratorOutput() ManagedInstanceActiveDirectoryAdministratorOutput

func (ManagedInstanceActiveDirectoryAdministratorOutput) ToManagedInstanceActiveDirectoryAdministratorOutputWithContext

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

type ManagedInstanceActiveDirectoryAdministratorState

type ManagedInstanceActiveDirectoryAdministratorState struct {
	// When `true`, only permit logins from AAD users and administrators. When `false`, also allow local database users.
	AzureadAuthenticationOnly pulumi.BoolPtrInput
	// The login name of the principal to set as the Managed Instance Administrator.
	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

type ManagedInstanceArgs

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 `sql.ManagedInstanceFailoverGroup`. Setting this after creation forces a new resource to be created.
	DnsZonePartnerId pulumi.StringPtrInput
	// An `identity` block as defined below.
	Identity ManagedInstanceIdentityPtrInput
	// What type of license the Managed Instance will use. Possible values are `LicenseIncluded` and `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 name of the Public Maintenance Configuration window to apply to the SQL Managed Instance. Valid values include `SQL_Default` or an Azure Location in the format `SQL_{Location}_MI_{Size}`(for example `SQL_EastUS_MI_1`). Defaults to `SQL_Default`.
	MaintenanceConfigurationName pulumi.StringPtrInput
	// The Minimum TLS Version. Default value is `1.2` Valid values include `1.0`, `1.1`, `1.2`.
	MinimumTlsVersion pulumi.StringPtrInput
	// The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies how the SQL Managed Instance will be accessed. Default value is `Default`. Valid values include `Default`, `Proxy`, and `Redirect`.
	ProxyOverride pulumi.StringPtrInput
	// Is the public data endpoint enabled? Default value is `false`.
	PublicDataEndpointEnabled pulumi.BoolPtrInput
	// The name of the resource group in which to create the SQL Managed Instance. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Specifies the SKU Name for the SQL Managed Instance. Valid values include `GP_Gen4`, `GP_Gen5`, `GP_Gen8IM`, `GP_Gen8IH`, `BC_Gen4`, `BC_Gen5`, `BC_Gen8IM` or `BC_Gen8IH`.
	SkuName pulumi.StringInput
	// Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are `GRS`, `LRS` and `ZRS`. Defaults to `GRS`.
	StorageAccountType pulumi.StringPtrInput
	// Maximum storage space for 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. Changing this forces a new resource to be created.
	SubnetId pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The TimeZone ID that the SQL Managed Instance will be operating in. Default value is `UTC`. Changing this forces a new resource to be created.
	TimezoneId pulumi.StringPtrInput
	// Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs.
	Vcores pulumi.IntInput
	// Specifies whether or not the SQL Managed Instance is zone redundant. Defaults to `false`.
	ZoneRedundantEnabled pulumi.BoolPtrInput
}

The set of arguments for constructing a ManagedInstance resource.

func (ManagedInstanceArgs) ElementType

func (ManagedInstanceArgs) ElementType() reflect.Type

type ManagedInstanceArray

type ManagedInstanceArray []ManagedInstanceInput

func (ManagedInstanceArray) ElementType

func (ManagedInstanceArray) ElementType() reflect.Type

func (ManagedInstanceArray) ToManagedInstanceArrayOutput

func (i ManagedInstanceArray) ToManagedInstanceArrayOutput() ManagedInstanceArrayOutput

func (ManagedInstanceArray) ToManagedInstanceArrayOutputWithContext

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

type ManagedInstanceArrayInput

type ManagedInstanceArrayInput interface {
	pulumi.Input

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

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

ManagedInstanceArray{ ManagedInstanceArgs{...} }

type ManagedInstanceArrayOutput

type ManagedInstanceArrayOutput struct{ *pulumi.OutputState }

func (ManagedInstanceArrayOutput) ElementType

func (ManagedInstanceArrayOutput) ElementType() reflect.Type

func (ManagedInstanceArrayOutput) Index

func (ManagedInstanceArrayOutput) ToManagedInstanceArrayOutput

func (o ManagedInstanceArrayOutput) ToManagedInstanceArrayOutput() ManagedInstanceArrayOutput

func (ManagedInstanceArrayOutput) ToManagedInstanceArrayOutputWithContext

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

type ManagedInstanceFailoverGroup

type ManagedInstanceFailoverGroup struct {
	pulumi.CustomResourceState

	// The Azure Region where the 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 `true`.
	ReadonlyEndpointFailoverPolicyEnabled pulumi.BoolPtrOutput `pulumi:"readonlyEndpointFailoverPolicyEnabled"`
	// The partner replication role of the Managed Instance Failover Group.
	Role pulumi.StringOutput `pulumi:"role"`
}

Manages an Azure SQL Managed Instance Failover Group.

## Example Usage

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

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name:              pulumi.String("example"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("example"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		exampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, "example", &network.NetworkSecurityGroupArgs{
			Name:              pulumi.String("example"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewSubnetNetworkSecurityGroupAssociation(ctx, "example", &network.SubnetNetworkSecurityGroupAssociationArgs{
			SubnetId:               exampleSubnet.ID(),
			NetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),
		})
		if err != nil {
			return err
		}
		exampleRouteTable, err := network.NewRouteTable(ctx, "example", &network.RouteTableArgs{
			Name:              pulumi.String("example"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewSubnetRouteTableAssociation(ctx, "example", &network.SubnetRouteTableAssociationArgs{
			SubnetId:     exampleSubnet.ID(),
			RouteTableId: exampleRouteTable.ID(),
		})
		if err != nil {
			return err
		}
		primary, err := mssql.NewManagedInstance(ctx, "primary", &mssql.ManagedInstanceArgs{
			Name:                       pulumi.String("example-primary"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			AdministratorLogin:         pulumi.String("mradministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsDog11"),
			LicenseType:                pulumi.String("BasePrice"),
			SubnetId:                   exampleSubnet.ID(),
			SkuName:                    pulumi.String("GP_Gen5"),
			Vcores:                     pulumi.Int(4),
			StorageSizeInGb:            pulumi.Int(32),
			Tags: pulumi.StringMap{
				"environment": pulumi.String("prod"),
			},
		})
		if err != nil {
			return err
		}
		secondary, err := mssql.NewManagedInstance(ctx, "secondary", &mssql.ManagedInstanceArgs{
			Name:                       pulumi.String("example-secondary"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			AdministratorLogin:         pulumi.String("mradministrator"),
			AdministratorLoginPassword: pulumi.String("thisIsDog11"),
			LicenseType:                pulumi.String("BasePrice"),
			SubnetId:                   exampleSubnet.ID(),
			SkuName:                    pulumi.String("GP_Gen5"),
			Vcores:                     pulumi.Int(4),
			StorageSizeInGb:            pulumi.Int(32),
			Tags: pulumi.StringMap{
				"environment": pulumi.String("prod"),
			},
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewManagedInstanceFailoverGroup(ctx, "example", &mssql.ManagedInstanceFailoverGroupArgs{
			Name:                     pulumi.String("example-failover-group"),
			Location:                 primary.Location,
			ManagedInstanceId:        primary.ID(),
			PartnerManagedInstanceId: secondary.ID(),
			ReadWriteEndpointFailoverPolicy: &mssql.ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs{
				Mode:         pulumi.String("Automatic"),
				GraceMinutes: pulumi.Int(60),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

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

func GetManagedInstanceFailoverGroup

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

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

func NewManagedInstanceFailoverGroup

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

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

func (*ManagedInstanceFailoverGroup) ElementType

func (*ManagedInstanceFailoverGroup) ElementType() reflect.Type

func (*ManagedInstanceFailoverGroup) ToManagedInstanceFailoverGroupOutput

func (i *ManagedInstanceFailoverGroup) ToManagedInstanceFailoverGroupOutput() ManagedInstanceFailoverGroupOutput

func (*ManagedInstanceFailoverGroup) ToManagedInstanceFailoverGroupOutputWithContext

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

type ManagedInstanceFailoverGroupArgs

type ManagedInstanceFailoverGroupArgs struct {
	// The Azure Region where the 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 `true`.
	ReadonlyEndpointFailoverPolicyEnabled pulumi.BoolPtrInput
}

The set of arguments for constructing a ManagedInstanceFailoverGroup resource.

func (ManagedInstanceFailoverGroupArgs) ElementType

type ManagedInstanceFailoverGroupArray

type ManagedInstanceFailoverGroupArray []ManagedInstanceFailoverGroupInput

func (ManagedInstanceFailoverGroupArray) ElementType

func (ManagedInstanceFailoverGroupArray) ToManagedInstanceFailoverGroupArrayOutput

func (i ManagedInstanceFailoverGroupArray) ToManagedInstanceFailoverGroupArrayOutput() ManagedInstanceFailoverGroupArrayOutput

func (ManagedInstanceFailoverGroupArray) ToManagedInstanceFailoverGroupArrayOutputWithContext

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

type ManagedInstanceFailoverGroupArrayInput

type ManagedInstanceFailoverGroupArrayInput interface {
	pulumi.Input

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

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

ManagedInstanceFailoverGroupArray{ ManagedInstanceFailoverGroupArgs{...} }

type ManagedInstanceFailoverGroupArrayOutput

type ManagedInstanceFailoverGroupArrayOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupArrayOutput) ElementType

func (ManagedInstanceFailoverGroupArrayOutput) Index

func (ManagedInstanceFailoverGroupArrayOutput) ToManagedInstanceFailoverGroupArrayOutput

func (o ManagedInstanceFailoverGroupArrayOutput) ToManagedInstanceFailoverGroupArrayOutput() ManagedInstanceFailoverGroupArrayOutput

func (ManagedInstanceFailoverGroupArrayOutput) ToManagedInstanceFailoverGroupArrayOutputWithContext

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

type ManagedInstanceFailoverGroupInput

type ManagedInstanceFailoverGroupInput interface {
	pulumi.Input

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

type ManagedInstanceFailoverGroupMap

type ManagedInstanceFailoverGroupMap map[string]ManagedInstanceFailoverGroupInput

func (ManagedInstanceFailoverGroupMap) ElementType

func (ManagedInstanceFailoverGroupMap) ToManagedInstanceFailoverGroupMapOutput

func (i ManagedInstanceFailoverGroupMap) ToManagedInstanceFailoverGroupMapOutput() ManagedInstanceFailoverGroupMapOutput

func (ManagedInstanceFailoverGroupMap) ToManagedInstanceFailoverGroupMapOutputWithContext

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

type ManagedInstanceFailoverGroupMapInput

type ManagedInstanceFailoverGroupMapInput interface {
	pulumi.Input

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

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

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

type ManagedInstanceFailoverGroupMapOutput

type ManagedInstanceFailoverGroupMapOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupMapOutput) ElementType

func (ManagedInstanceFailoverGroupMapOutput) MapIndex

func (ManagedInstanceFailoverGroupMapOutput) ToManagedInstanceFailoverGroupMapOutput

func (o ManagedInstanceFailoverGroupMapOutput) ToManagedInstanceFailoverGroupMapOutput() ManagedInstanceFailoverGroupMapOutput

func (ManagedInstanceFailoverGroupMapOutput) ToManagedInstanceFailoverGroupMapOutputWithContext

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

type ManagedInstanceFailoverGroupOutput

type ManagedInstanceFailoverGroupOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupOutput) ElementType

func (ManagedInstanceFailoverGroupOutput) Location added in v5.5.0

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

func (ManagedInstanceFailoverGroupOutput) ManagedInstanceId added in v5.5.0

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.

func (ManagedInstanceFailoverGroupOutput) Name added in v5.5.0

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

func (ManagedInstanceFailoverGroupOutput) PartnerManagedInstanceId added in v5.5.0

func (o ManagedInstanceFailoverGroupOutput) PartnerManagedInstanceId() pulumi.StringOutput

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

func (ManagedInstanceFailoverGroupOutput) PartnerRegions added in v5.5.0

A `partnerRegion` block as defined below.

func (ManagedInstanceFailoverGroupOutput) ReadWriteEndpointFailoverPolicy added in v5.5.0

A `readWriteEndpointFailoverPolicy` block as defined below.

func (ManagedInstanceFailoverGroupOutput) ReadonlyEndpointFailoverPolicyEnabled added in v5.5.0

func (o ManagedInstanceFailoverGroupOutput) ReadonlyEndpointFailoverPolicyEnabled() pulumi.BoolPtrOutput

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

func (ManagedInstanceFailoverGroupOutput) Role added in v5.5.0

The partner replication role of the Managed Instance Failover Group.

func (ManagedInstanceFailoverGroupOutput) ToManagedInstanceFailoverGroupOutput

func (o ManagedInstanceFailoverGroupOutput) ToManagedInstanceFailoverGroupOutput() ManagedInstanceFailoverGroupOutput

func (ManagedInstanceFailoverGroupOutput) ToManagedInstanceFailoverGroupOutputWithContext

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

type ManagedInstanceFailoverGroupPartnerRegion

type ManagedInstanceFailoverGroupPartnerRegion struct {
	// The Azure Region where the 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

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

func (ManagedInstanceFailoverGroupPartnerRegionArgs) ToManagedInstanceFailoverGroupPartnerRegionOutput

func (i ManagedInstanceFailoverGroupPartnerRegionArgs) ToManagedInstanceFailoverGroupPartnerRegionOutput() ManagedInstanceFailoverGroupPartnerRegionOutput

func (ManagedInstanceFailoverGroupPartnerRegionArgs) ToManagedInstanceFailoverGroupPartnerRegionOutputWithContext

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

type ManagedInstanceFailoverGroupPartnerRegionArray

type ManagedInstanceFailoverGroupPartnerRegionArray []ManagedInstanceFailoverGroupPartnerRegionInput

func (ManagedInstanceFailoverGroupPartnerRegionArray) ElementType

func (ManagedInstanceFailoverGroupPartnerRegionArray) ToManagedInstanceFailoverGroupPartnerRegionArrayOutput

func (i ManagedInstanceFailoverGroupPartnerRegionArray) ToManagedInstanceFailoverGroupPartnerRegionArrayOutput() ManagedInstanceFailoverGroupPartnerRegionArrayOutput

func (ManagedInstanceFailoverGroupPartnerRegionArray) ToManagedInstanceFailoverGroupPartnerRegionArrayOutputWithContext

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

type ManagedInstanceFailoverGroupPartnerRegionArrayInput

type ManagedInstanceFailoverGroupPartnerRegionArrayInput interface {
	pulumi.Input

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

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

ManagedInstanceFailoverGroupPartnerRegionArray{ ManagedInstanceFailoverGroupPartnerRegionArgs{...} }

type ManagedInstanceFailoverGroupPartnerRegionArrayOutput

type ManagedInstanceFailoverGroupPartnerRegionArrayOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupPartnerRegionArrayOutput) ElementType

func (ManagedInstanceFailoverGroupPartnerRegionArrayOutput) Index

func (ManagedInstanceFailoverGroupPartnerRegionArrayOutput) ToManagedInstanceFailoverGroupPartnerRegionArrayOutput

func (ManagedInstanceFailoverGroupPartnerRegionArrayOutput) ToManagedInstanceFailoverGroupPartnerRegionArrayOutputWithContext

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

type ManagedInstanceFailoverGroupPartnerRegionInput

type ManagedInstanceFailoverGroupPartnerRegionInput interface {
	pulumi.Input

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

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

ManagedInstanceFailoverGroupPartnerRegionArgs{...}

type ManagedInstanceFailoverGroupPartnerRegionOutput

type ManagedInstanceFailoverGroupPartnerRegionOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupPartnerRegionOutput) ElementType

func (ManagedInstanceFailoverGroupPartnerRegionOutput) Location

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

func (ManagedInstanceFailoverGroupPartnerRegionOutput) Role

The partner replication role of the Managed Instance Failover Group.

func (ManagedInstanceFailoverGroupPartnerRegionOutput) ToManagedInstanceFailoverGroupPartnerRegionOutput

func (o ManagedInstanceFailoverGroupPartnerRegionOutput) ToManagedInstanceFailoverGroupPartnerRegionOutput() ManagedInstanceFailoverGroupPartnerRegionOutput

func (ManagedInstanceFailoverGroupPartnerRegionOutput) ToManagedInstanceFailoverGroupPartnerRegionOutputWithContext

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

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicy

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

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs

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

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ElementType

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext

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

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext

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

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyInput

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyInput interface {
	pulumi.Input

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

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

ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs{...}

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ElementType

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) GraceMinutes

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

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) Mode

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

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutputWithContext

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

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext

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

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrInput

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrInput interface {
	pulumi.Input

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

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

        ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyArgs{...}

or:

        nil

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

type ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput struct{ *pulumi.OutputState }

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) Elem

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ElementType

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) GraceMinutes

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

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) Mode

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

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput

func (ManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutput) ToManagedInstanceFailoverGroupReadWriteEndpointFailoverPolicyPtrOutputWithContext

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

type ManagedInstanceFailoverGroupState

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 `true`.
	ReadonlyEndpointFailoverPolicyEnabled pulumi.BoolPtrInput
	// The partner replication role of the Managed Instance Failover Group.
	Role pulumi.StringPtrInput
}

func (ManagedInstanceFailoverGroupState) ElementType

type ManagedInstanceIdentity

type ManagedInstanceIdentity struct {
	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Managed Instance. Required when `type` is set to `UserAssigned`.
	//
	// > The assigned `principalId` and `tenantId` can be retrieved after the identity `type` has been set to `SystemAssigned` and SQL Managed Instance has been created.
	IdentityIds []string `pulumi:"identityIds"`
	// The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.
	PrincipalId *string `pulumi:"principalId"`
	// The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.
	TenantId *string `pulumi:"tenantId"`
	// Specifies the type of Managed Service Identity that should be configured on this SQL Managed Instance. Possible values are `SystemAssigned`, `UserAssigned`.
	Type string `pulumi:"type"`
}

type ManagedInstanceIdentityArgs

type ManagedInstanceIdentityArgs struct {
	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Managed Instance. Required when `type` is set to `UserAssigned`.
	//
	// > The assigned `principalId` and `tenantId` can be retrieved after the identity `type` has been set to `SystemAssigned` and SQL Managed Instance has been created.
	IdentityIds pulumi.StringArrayInput `pulumi:"identityIds"`
	// The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.
	PrincipalId pulumi.StringPtrInput `pulumi:"principalId"`
	// The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
	// Specifies the type of Managed Service Identity that should be configured on this SQL Managed Instance. Possible values are `SystemAssigned`, `UserAssigned`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (ManagedInstanceIdentityArgs) ElementType

func (ManagedInstanceIdentityArgs) ToManagedInstanceIdentityOutput

func (i ManagedInstanceIdentityArgs) ToManagedInstanceIdentityOutput() ManagedInstanceIdentityOutput

func (ManagedInstanceIdentityArgs) ToManagedInstanceIdentityOutputWithContext

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

func (ManagedInstanceIdentityArgs) ToManagedInstanceIdentityPtrOutput

func (i ManagedInstanceIdentityArgs) ToManagedInstanceIdentityPtrOutput() ManagedInstanceIdentityPtrOutput

func (ManagedInstanceIdentityArgs) ToManagedInstanceIdentityPtrOutputWithContext

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

type ManagedInstanceIdentityInput

type ManagedInstanceIdentityInput interface {
	pulumi.Input

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

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

ManagedInstanceIdentityArgs{...}

type ManagedInstanceIdentityOutput

type ManagedInstanceIdentityOutput struct{ *pulumi.OutputState }

func (ManagedInstanceIdentityOutput) ElementType

func (ManagedInstanceIdentityOutput) IdentityIds added in v5.26.1

Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Managed Instance. Required when `type` is set to `UserAssigned`.

> The assigned `principalId` and `tenantId` can be retrieved after the identity `type` has been set to `SystemAssigned` and SQL Managed Instance has been created.

func (ManagedInstanceIdentityOutput) PrincipalId

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

func (ManagedInstanceIdentityOutput) TenantId

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

func (ManagedInstanceIdentityOutput) ToManagedInstanceIdentityOutput

func (o ManagedInstanceIdentityOutput) ToManagedInstanceIdentityOutput() ManagedInstanceIdentityOutput

func (ManagedInstanceIdentityOutput) ToManagedInstanceIdentityOutputWithContext

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

func (ManagedInstanceIdentityOutput) ToManagedInstanceIdentityPtrOutput

func (o ManagedInstanceIdentityOutput) ToManagedInstanceIdentityPtrOutput() ManagedInstanceIdentityPtrOutput

func (ManagedInstanceIdentityOutput) ToManagedInstanceIdentityPtrOutputWithContext

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

func (ManagedInstanceIdentityOutput) Type

Specifies the type of Managed Service Identity that should be configured on this SQL Managed Instance. Possible values are `SystemAssigned`, `UserAssigned`.

type ManagedInstanceIdentityPtrInput

type ManagedInstanceIdentityPtrInput interface {
	pulumi.Input

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

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

        ManagedInstanceIdentityArgs{...}

or:

        nil

type ManagedInstanceIdentityPtrOutput

type ManagedInstanceIdentityPtrOutput struct{ *pulumi.OutputState }

func (ManagedInstanceIdentityPtrOutput) Elem

func (ManagedInstanceIdentityPtrOutput) ElementType

func (ManagedInstanceIdentityPtrOutput) IdentityIds added in v5.26.1

Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Managed Instance. Required when `type` is set to `UserAssigned`.

> The assigned `principalId` and `tenantId` can be retrieved after the identity `type` has been set to `SystemAssigned` and SQL Managed Instance has been created.

func (ManagedInstanceIdentityPtrOutput) PrincipalId

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

func (ManagedInstanceIdentityPtrOutput) TenantId

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

func (ManagedInstanceIdentityPtrOutput) ToManagedInstanceIdentityPtrOutput

func (o ManagedInstanceIdentityPtrOutput) ToManagedInstanceIdentityPtrOutput() ManagedInstanceIdentityPtrOutput

func (ManagedInstanceIdentityPtrOutput) ToManagedInstanceIdentityPtrOutputWithContext

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

func (ManagedInstanceIdentityPtrOutput) Type

Specifies the type of Managed Service Identity that should be configured on this SQL Managed Instance. Possible values are `SystemAssigned`, `UserAssigned`.

type ManagedInstanceInput

type ManagedInstanceInput interface {
	pulumi.Input

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

type ManagedInstanceMap

type ManagedInstanceMap map[string]ManagedInstanceInput

func (ManagedInstanceMap) ElementType

func (ManagedInstanceMap) ElementType() reflect.Type

func (ManagedInstanceMap) ToManagedInstanceMapOutput

func (i ManagedInstanceMap) ToManagedInstanceMapOutput() ManagedInstanceMapOutput

func (ManagedInstanceMap) ToManagedInstanceMapOutputWithContext

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

type ManagedInstanceMapInput

type ManagedInstanceMapInput interface {
	pulumi.Input

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

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

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

type ManagedInstanceMapOutput

type ManagedInstanceMapOutput struct{ *pulumi.OutputState }

func (ManagedInstanceMapOutput) ElementType

func (ManagedInstanceMapOutput) ElementType() reflect.Type

func (ManagedInstanceMapOutput) MapIndex

func (ManagedInstanceMapOutput) ToManagedInstanceMapOutput

func (o ManagedInstanceMapOutput) ToManagedInstanceMapOutput() ManagedInstanceMapOutput

func (ManagedInstanceMapOutput) ToManagedInstanceMapOutputWithContext

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

type ManagedInstanceOutput

type ManagedInstanceOutput struct{ *pulumi.OutputState }

func (ManagedInstanceOutput) AdministratorLogin added in v5.5.0

func (o ManagedInstanceOutput) AdministratorLogin() pulumi.StringOutput

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

func (ManagedInstanceOutput) AdministratorLoginPassword added in v5.5.0

func (o ManagedInstanceOutput) AdministratorLoginPassword() pulumi.StringOutput

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

func (ManagedInstanceOutput) Collation added in v5.5.0

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

func (ManagedInstanceOutput) DnsZone added in v5.63.0

The Dns Zone where the SQL Managed Instance is located.

func (ManagedInstanceOutput) DnsZonePartnerId added in v5.5.0

func (o ManagedInstanceOutput) DnsZonePartnerId() pulumi.StringPtrOutput

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

func (ManagedInstanceOutput) ElementType

func (ManagedInstanceOutput) ElementType() reflect.Type

func (ManagedInstanceOutput) Fqdn added in v5.5.0

The fully qualified domain name of the Azure Managed SQL Instance

func (ManagedInstanceOutput) Identity added in v5.5.0

An `identity` block as defined below.

func (ManagedInstanceOutput) LicenseType added in v5.5.0

func (o ManagedInstanceOutput) LicenseType() pulumi.StringOutput

What type of license the Managed Instance will use. Possible values are `LicenseIncluded` and `BasePrice`.

func (ManagedInstanceOutput) Location added in v5.5.0

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

func (ManagedInstanceOutput) MaintenanceConfigurationName added in v5.7.0

func (o ManagedInstanceOutput) MaintenanceConfigurationName() pulumi.StringPtrOutput

The name of the Public Maintenance Configuration window to apply to the SQL Managed Instance. Valid values include `SQL_Default` or an Azure Location in the format `SQL_{Location}_MI_{Size}`(for example `SQL_EastUS_MI_1`). Defaults to `SQL_Default`.

func (ManagedInstanceOutput) MinimumTlsVersion added in v5.5.0

func (o ManagedInstanceOutput) MinimumTlsVersion() pulumi.StringPtrOutput

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

func (ManagedInstanceOutput) Name added in v5.5.0

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

func (ManagedInstanceOutput) ProxyOverride added in v5.5.0

func (o ManagedInstanceOutput) ProxyOverride() pulumi.StringPtrOutput

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

func (ManagedInstanceOutput) PublicDataEndpointEnabled added in v5.5.0

func (o ManagedInstanceOutput) PublicDataEndpointEnabled() pulumi.BoolPtrOutput

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

func (ManagedInstanceOutput) ResourceGroupName added in v5.5.0

func (o ManagedInstanceOutput) ResourceGroupName() pulumi.StringOutput

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

func (ManagedInstanceOutput) SkuName added in v5.5.0

Specifies the SKU Name for the SQL Managed Instance. Valid values include `GP_Gen4`, `GP_Gen5`, `GP_Gen8IM`, `GP_Gen8IH`, `BC_Gen4`, `BC_Gen5`, `BC_Gen8IM` or `BC_Gen8IH`.

func (ManagedInstanceOutput) StorageAccountType added in v5.5.0

func (o ManagedInstanceOutput) StorageAccountType() pulumi.StringPtrOutput

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

func (ManagedInstanceOutput) StorageSizeInGb added in v5.5.0

func (o ManagedInstanceOutput) StorageSizeInGb() pulumi.IntOutput

Maximum storage space for the SQL Managed instance. This should be a multiple of 32 (GB).

func (ManagedInstanceOutput) SubnetId added in v5.5.0

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

func (ManagedInstanceOutput) Tags added in v5.5.0

A mapping of tags to assign to the resource.

func (ManagedInstanceOutput) TimezoneId added in v5.5.0

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

func (ManagedInstanceOutput) ToManagedInstanceOutput

func (o ManagedInstanceOutput) ToManagedInstanceOutput() ManagedInstanceOutput

func (ManagedInstanceOutput) ToManagedInstanceOutputWithContext

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

func (ManagedInstanceOutput) Vcores added in v5.5.0

Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs.

func (ManagedInstanceOutput) ZoneRedundantEnabled added in v5.68.0

func (o ManagedInstanceOutput) ZoneRedundantEnabled() pulumi.BoolPtrOutput

Specifies whether or not the SQL Managed Instance is zone redundant. Defaults to `false`.

type ManagedInstanceSecurityAlertPolicy added in v5.24.0

type ManagedInstanceSecurityAlertPolicy struct {
	pulumi.CustomResourceState

	// Specifies an array of alerts that are disabled. Possible values are `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action` and `Brute_Force`.
	DisabledAlerts pulumi.StringArrayOutput `pulumi:"disabledAlerts"`
	// Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to `false`.
	EmailAccountAdminsEnabled pulumi.BoolPtrOutput `pulumi:"emailAccountAdminsEnabled"`
	// Specifies an array of email addresses to which the alert is sent.
	EmailAddresses pulumi.StringArrayOutput `pulumi:"emailAddresses"`
	// Specifies the state of the Security Alert Policy, whether it is enabled or disabled. Possible values are `true`, `false`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// Specifies the name of the MS SQL Managed Instance. Changing this forces a new resource to be created.
	ManagedInstanceName pulumi.StringOutput `pulumi:"managedInstanceName"`
	// The name of the resource group that contains the MS SQL Managed Instance. 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 identifier key of the Threat Detection audit storage account. This is mandatory when you use `storageEndpoint` to specify a storage account blob endpoint.
	//
	// > **NOTE:**  Please note that storage accounts configured with `sharedAccessKeyEnabled = false` cannot be used to configure `mssql.ManagedInstanceSecurityAlertPolicy` with `storageEndpoint` for now.
	StorageAccountAccessKey pulumi.StringPtrOutput `pulumi:"storageAccountAccessKey"`
	// Specifies the blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.
	StorageEndpoint pulumi.StringPtrOutput `pulumi:"storageEndpoint"`
}

Manages a Security Alert Policy for an MS SQL Managed Instance.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("database-rg"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, "example", &network.NetworkSecurityGroupArgs{
			Name:              pulumi.String("mi-security-group"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allow_management_inbound", &network.NetworkSecurityRuleArgs{
			Name:            pulumi.String("allow_management_inbound"),
			Priority:        pulumi.Int(106),
			Direction:       pulumi.String("Inbound"),
			Access:          pulumi.String("Allow"),
			Protocol:        pulumi.String("Tcp"),
			SourcePortRange: pulumi.String("*"),
			DestinationPortRanges: pulumi.StringArray{
				pulumi.String("9000"),
				pulumi.String("9003"),
				pulumi.String("1438"),
				pulumi.String("1440"),
				pulumi.String("1452"),
			},
			SourceAddressPrefix:      pulumi.String("*"),
			DestinationAddressPrefix: pulumi.String("*"),
			ResourceGroupName:        example.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allow_misubnet_inbound", &network.NetworkSecurityRuleArgs{
			Name:                     pulumi.String("allow_misubnet_inbound"),
			Priority:                 pulumi.Int(200),
			Direction:                pulumi.String("Inbound"),
			Access:                   pulumi.String("Allow"),
			Protocol:                 pulumi.String("*"),
			SourcePortRange:          pulumi.String("*"),
			DestinationPortRange:     pulumi.String("*"),
			SourceAddressPrefix:      pulumi.String("10.0.0.0/24"),
			DestinationAddressPrefix: pulumi.String("*"),
			ResourceGroupName:        example.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allow_health_probe_inbound", &network.NetworkSecurityRuleArgs{
			Name:                     pulumi.String("allow_health_probe_inbound"),
			Priority:                 pulumi.Int(300),
			Direction:                pulumi.String("Inbound"),
			Access:                   pulumi.String("Allow"),
			Protocol:                 pulumi.String("*"),
			SourcePortRange:          pulumi.String("*"),
			DestinationPortRange:     pulumi.String("*"),
			SourceAddressPrefix:      pulumi.String("AzureLoadBalancer"),
			DestinationAddressPrefix: pulumi.String("*"),
			ResourceGroupName:        example.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allow_tds_inbound", &network.NetworkSecurityRuleArgs{
			Name:                     pulumi.String("allow_tds_inbound"),
			Priority:                 pulumi.Int(1000),
			Direction:                pulumi.String("Inbound"),
			Access:                   pulumi.String("Allow"),
			Protocol:                 pulumi.String("Tcp"),
			SourcePortRange:          pulumi.String("*"),
			DestinationPortRange:     pulumi.String("1433"),
			SourceAddressPrefix:      pulumi.String("VirtualNetwork"),
			DestinationAddressPrefix: pulumi.String("*"),
			ResourceGroupName:        example.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "deny_all_inbound", &network.NetworkSecurityRuleArgs{
			Name:                     pulumi.String("deny_all_inbound"),
			Priority:                 pulumi.Int(4096),
			Direction:                pulumi.String("Inbound"),
			Access:                   pulumi.String("Deny"),
			Protocol:                 pulumi.String("*"),
			SourcePortRange:          pulumi.String("*"),
			DestinationPortRange:     pulumi.String("*"),
			SourceAddressPrefix:      pulumi.String("*"),
			DestinationAddressPrefix: pulumi.String("*"),
			ResourceGroupName:        example.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allow_management_outbound", &network.NetworkSecurityRuleArgs{
			Name:            pulumi.String("allow_management_outbound"),
			Priority:        pulumi.Int(102),
			Direction:       pulumi.String("Outbound"),
			Access:          pulumi.String("Allow"),
			Protocol:        pulumi.String("Tcp"),
			SourcePortRange: pulumi.String("*"),
			DestinationPortRanges: pulumi.StringArray{
				pulumi.String("80"),
				pulumi.String("443"),
				pulumi.String("12000"),
			},
			SourceAddressPrefix:      pulumi.String("*"),
			DestinationAddressPrefix: pulumi.String("*"),
			ResourceGroupName:        example.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "allow_misubnet_outbound", &network.NetworkSecurityRuleArgs{
			Name:                     pulumi.String("allow_misubnet_outbound"),
			Priority:                 pulumi.Int(200),
			Direction:                pulumi.String("Outbound"),
			Access:                   pulumi.String("Allow"),
			Protocol:                 pulumi.String("*"),
			SourcePortRange:          pulumi.String("*"),
			DestinationPortRange:     pulumi.String("*"),
			SourceAddressPrefix:      pulumi.String("10.0.0.0/24"),
			DestinationAddressPrefix: pulumi.String("*"),
			ResourceGroupName:        example.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = network.NewNetworkSecurityRule(ctx, "deny_all_outbound", &network.NetworkSecurityRuleArgs{
			Name:                     pulumi.String("deny_all_outbound"),
			Priority:                 pulumi.Int(4096),
			Direction:                pulumi.String("Outbound"),
			Access:                   pulumi.String("Deny"),
			Protocol:                 pulumi.String("*"),
			SourcePortRange:          pulumi.String("*"),
			DestinationPortRange:     pulumi.String("*"),
			SourceAddressPrefix:      pulumi.String("*"),
			DestinationAddressPrefix: pulumi.String("*"),
			ResourceGroupName:        example.Name,
			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name:              pulumi.String("vnet-mi"),
			ResourceGroupName: example.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
			Location: example.Location,
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("subnet-mi"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.0.0/24"),
			},
			Delegations: network.SubnetDelegationArray{
				&network.SubnetDelegationArgs{
					Name: pulumi.String("managedinstancedelegation"),
					ServiceDelegation: &network.SubnetDelegationServiceDelegationArgs{
						Name: pulumi.String("Microsoft.Sql/managedInstances"),
						Actions: pulumi.StringArray{
							pulumi.String("Microsoft.Network/virtualNetworks/subnets/join/action"),
							pulumi.String("Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action"),
							pulumi.String("Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = network.NewSubnetNetworkSecurityGroupAssociation(ctx, "example", &network.SubnetNetworkSecurityGroupAssociationArgs{
			SubnetId:               exampleSubnet.ID(),
			NetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),
		})
		if err != nil {
			return err
		}
		exampleRouteTable, err := network.NewRouteTable(ctx, "example", &network.RouteTableArgs{
			Name:                       pulumi.String("routetable-mi"),
			Location:                   example.Location,
			ResourceGroupName:          example.Name,
			DisableBgpRoutePropagation: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = network.NewSubnetRouteTableAssociation(ctx, "example", &network.SubnetRouteTableAssociationArgs{
			SubnetId:     exampleSubnet.ID(),
			RouteTableId: exampleRouteTable.ID(),
		})
		if err != nil {
			return err
		}
		exampleManagedInstance, err := mssql.NewManagedInstance(ctx, "example", &mssql.ManagedInstanceArgs{
			Name:                       pulumi.String("managedsqlinstance"),
			ResourceGroupName:          example.Name,
			Location:                   example.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"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewManagedInstanceSecurityAlertPolicy(ctx, "example", &mssql.ManagedInstanceSecurityAlertPolicyArgs{
			ResourceGroupName:       example.Name,
			ManagedInstanceName:     exampleManagedInstance.Name,
			Enabled:                 pulumi.Bool(true),
			StorageEndpoint:         pulumi.Any(exampleAzurermStorageAccount.PrimaryBlobEndpoint),
			StorageAccountAccessKey: pulumi.Any(exampleAzurermStorageAccount.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 Managed Instance Security Alert Policy can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:mssql/managedInstanceSecurityAlertPolicy:ManagedInstanceSecurityAlertPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acceptanceTestResourceGroup1/providers/Microsoft.Sql/managedInstances/instance1/securityAlertPolicies/Default ```

func GetManagedInstanceSecurityAlertPolicy added in v5.24.0

func GetManagedInstanceSecurityAlertPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ManagedInstanceSecurityAlertPolicyState, opts ...pulumi.ResourceOption) (*ManagedInstanceSecurityAlertPolicy, error)

GetManagedInstanceSecurityAlertPolicy gets an existing ManagedInstanceSecurityAlertPolicy 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 NewManagedInstanceSecurityAlertPolicy added in v5.24.0

func NewManagedInstanceSecurityAlertPolicy(ctx *pulumi.Context,
	name string, args *ManagedInstanceSecurityAlertPolicyArgs, opts ...pulumi.ResourceOption) (*ManagedInstanceSecurityAlertPolicy, error)

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

func (*ManagedInstanceSecurityAlertPolicy) ElementType added in v5.24.0

func (*ManagedInstanceSecurityAlertPolicy) ToManagedInstanceSecurityAlertPolicyOutput added in v5.24.0

func (i *ManagedInstanceSecurityAlertPolicy) ToManagedInstanceSecurityAlertPolicyOutput() ManagedInstanceSecurityAlertPolicyOutput

func (*ManagedInstanceSecurityAlertPolicy) ToManagedInstanceSecurityAlertPolicyOutputWithContext added in v5.24.0

func (i *ManagedInstanceSecurityAlertPolicy) ToManagedInstanceSecurityAlertPolicyOutputWithContext(ctx context.Context) ManagedInstanceSecurityAlertPolicyOutput

type ManagedInstanceSecurityAlertPolicyArgs added in v5.24.0

type ManagedInstanceSecurityAlertPolicyArgs struct {
	// Specifies an array of alerts that are disabled. Possible values are `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action` and `Brute_Force`.
	DisabledAlerts pulumi.StringArrayInput
	// Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to `false`.
	EmailAccountAdminsEnabled pulumi.BoolPtrInput
	// Specifies an array of email addresses to which the alert is sent.
	EmailAddresses pulumi.StringArrayInput
	// Specifies the state of the Security Alert Policy, whether it is enabled or disabled. Possible values are `true`, `false`.
	Enabled pulumi.BoolPtrInput
	// Specifies the name of the MS SQL Managed Instance. Changing this forces a new resource to be created.
	ManagedInstanceName pulumi.StringInput
	// The name of the resource group that contains the MS SQL Managed Instance. 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 identifier key of the Threat Detection audit storage account. This is mandatory when you use `storageEndpoint` to specify a storage account blob endpoint.
	//
	// > **NOTE:**  Please note that storage accounts configured with `sharedAccessKeyEnabled = false` cannot be used to configure `mssql.ManagedInstanceSecurityAlertPolicy` with `storageEndpoint` for now.
	StorageAccountAccessKey pulumi.StringPtrInput
	// Specifies the blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.
	StorageEndpoint pulumi.StringPtrInput
}

The set of arguments for constructing a ManagedInstanceSecurityAlertPolicy resource.

func (ManagedInstanceSecurityAlertPolicyArgs) ElementType added in v5.24.0

type ManagedInstanceSecurityAlertPolicyArray added in v5.24.0

type ManagedInstanceSecurityAlertPolicyArray []ManagedInstanceSecurityAlertPolicyInput

func (ManagedInstanceSecurityAlertPolicyArray) ElementType added in v5.24.0

func (ManagedInstanceSecurityAlertPolicyArray) ToManagedInstanceSecurityAlertPolicyArrayOutput added in v5.24.0

func (i ManagedInstanceSecurityAlertPolicyArray) ToManagedInstanceSecurityAlertPolicyArrayOutput() ManagedInstanceSecurityAlertPolicyArrayOutput

func (ManagedInstanceSecurityAlertPolicyArray) ToManagedInstanceSecurityAlertPolicyArrayOutputWithContext added in v5.24.0

func (i ManagedInstanceSecurityAlertPolicyArray) ToManagedInstanceSecurityAlertPolicyArrayOutputWithContext(ctx context.Context) ManagedInstanceSecurityAlertPolicyArrayOutput

type ManagedInstanceSecurityAlertPolicyArrayInput added in v5.24.0

type ManagedInstanceSecurityAlertPolicyArrayInput interface {
	pulumi.Input

	ToManagedInstanceSecurityAlertPolicyArrayOutput() ManagedInstanceSecurityAlertPolicyArrayOutput
	ToManagedInstanceSecurityAlertPolicyArrayOutputWithContext(context.Context) ManagedInstanceSecurityAlertPolicyArrayOutput
}

ManagedInstanceSecurityAlertPolicyArrayInput is an input type that accepts ManagedInstanceSecurityAlertPolicyArray and ManagedInstanceSecurityAlertPolicyArrayOutput values. You can construct a concrete instance of `ManagedInstanceSecurityAlertPolicyArrayInput` via:

ManagedInstanceSecurityAlertPolicyArray{ ManagedInstanceSecurityAlertPolicyArgs{...} }

type ManagedInstanceSecurityAlertPolicyArrayOutput added in v5.24.0

type ManagedInstanceSecurityAlertPolicyArrayOutput struct{ *pulumi.OutputState }

func (ManagedInstanceSecurityAlertPolicyArrayOutput) ElementType added in v5.24.0

func (ManagedInstanceSecurityAlertPolicyArrayOutput) Index added in v5.24.0

func (ManagedInstanceSecurityAlertPolicyArrayOutput) ToManagedInstanceSecurityAlertPolicyArrayOutput added in v5.24.0

func (o ManagedInstanceSecurityAlertPolicyArrayOutput) ToManagedInstanceSecurityAlertPolicyArrayOutput() ManagedInstanceSecurityAlertPolicyArrayOutput

func (ManagedInstanceSecurityAlertPolicyArrayOutput) ToManagedInstanceSecurityAlertPolicyArrayOutputWithContext added in v5.24.0

func (o ManagedInstanceSecurityAlertPolicyArrayOutput) ToManagedInstanceSecurityAlertPolicyArrayOutputWithContext(ctx context.Context) ManagedInstanceSecurityAlertPolicyArrayOutput

type ManagedInstanceSecurityAlertPolicyInput added in v5.24.0

type ManagedInstanceSecurityAlertPolicyInput interface {
	pulumi.Input

	ToManagedInstanceSecurityAlertPolicyOutput() ManagedInstanceSecurityAlertPolicyOutput
	ToManagedInstanceSecurityAlertPolicyOutputWithContext(ctx context.Context) ManagedInstanceSecurityAlertPolicyOutput
}

type ManagedInstanceSecurityAlertPolicyMap added in v5.24.0

type ManagedInstanceSecurityAlertPolicyMap map[string]ManagedInstanceSecurityAlertPolicyInput

func (ManagedInstanceSecurityAlertPolicyMap) ElementType added in v5.24.0

func (ManagedInstanceSecurityAlertPolicyMap) ToManagedInstanceSecurityAlertPolicyMapOutput added in v5.24.0

func (i ManagedInstanceSecurityAlertPolicyMap) ToManagedInstanceSecurityAlertPolicyMapOutput() ManagedInstanceSecurityAlertPolicyMapOutput

func (ManagedInstanceSecurityAlertPolicyMap) ToManagedInstanceSecurityAlertPolicyMapOutputWithContext added in v5.24.0

func (i ManagedInstanceSecurityAlertPolicyMap) ToManagedInstanceSecurityAlertPolicyMapOutputWithContext(ctx context.Context) ManagedInstanceSecurityAlertPolicyMapOutput

type ManagedInstanceSecurityAlertPolicyMapInput added in v5.24.0

type ManagedInstanceSecurityAlertPolicyMapInput interface {
	pulumi.Input

	ToManagedInstanceSecurityAlertPolicyMapOutput() ManagedInstanceSecurityAlertPolicyMapOutput
	ToManagedInstanceSecurityAlertPolicyMapOutputWithContext(context.Context) ManagedInstanceSecurityAlertPolicyMapOutput
}

ManagedInstanceSecurityAlertPolicyMapInput is an input type that accepts ManagedInstanceSecurityAlertPolicyMap and ManagedInstanceSecurityAlertPolicyMapOutput values. You can construct a concrete instance of `ManagedInstanceSecurityAlertPolicyMapInput` via:

ManagedInstanceSecurityAlertPolicyMap{ "key": ManagedInstanceSecurityAlertPolicyArgs{...} }

type ManagedInstanceSecurityAlertPolicyMapOutput added in v5.24.0

type ManagedInstanceSecurityAlertPolicyMapOutput struct{ *pulumi.OutputState }

func (ManagedInstanceSecurityAlertPolicyMapOutput) ElementType added in v5.24.0

func (ManagedInstanceSecurityAlertPolicyMapOutput) MapIndex added in v5.24.0

func (ManagedInstanceSecurityAlertPolicyMapOutput) ToManagedInstanceSecurityAlertPolicyMapOutput added in v5.24.0

func (o ManagedInstanceSecurityAlertPolicyMapOutput) ToManagedInstanceSecurityAlertPolicyMapOutput() ManagedInstanceSecurityAlertPolicyMapOutput

func (ManagedInstanceSecurityAlertPolicyMapOutput) ToManagedInstanceSecurityAlertPolicyMapOutputWithContext added in v5.24.0

func (o ManagedInstanceSecurityAlertPolicyMapOutput) ToManagedInstanceSecurityAlertPolicyMapOutputWithContext(ctx context.Context) ManagedInstanceSecurityAlertPolicyMapOutput

type ManagedInstanceSecurityAlertPolicyOutput added in v5.24.0

type ManagedInstanceSecurityAlertPolicyOutput struct{ *pulumi.OutputState }

func (ManagedInstanceSecurityAlertPolicyOutput) DisabledAlerts added in v5.24.0

Specifies an array of alerts that are disabled. Possible values are `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action` and `Brute_Force`.

func (ManagedInstanceSecurityAlertPolicyOutput) ElementType added in v5.24.0

func (ManagedInstanceSecurityAlertPolicyOutput) EmailAccountAdminsEnabled added in v5.24.0

func (o ManagedInstanceSecurityAlertPolicyOutput) EmailAccountAdminsEnabled() pulumi.BoolPtrOutput

Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to `false`.

func (ManagedInstanceSecurityAlertPolicyOutput) EmailAddresses added in v5.24.0

Specifies an array of email addresses to which the alert is sent.

func (ManagedInstanceSecurityAlertPolicyOutput) Enabled added in v5.24.0

Specifies the state of the Security Alert Policy, whether it is enabled or disabled. Possible values are `true`, `false`.

func (ManagedInstanceSecurityAlertPolicyOutput) ManagedInstanceName added in v5.24.0

Specifies the name of the MS SQL Managed Instance. Changing this forces a new resource to be created.

func (ManagedInstanceSecurityAlertPolicyOutput) ResourceGroupName added in v5.24.0

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

func (ManagedInstanceSecurityAlertPolicyOutput) RetentionDays added in v5.24.0

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

func (ManagedInstanceSecurityAlertPolicyOutput) StorageAccountAccessKey added in v5.24.0

Specifies the identifier key of the Threat Detection audit storage account. This is mandatory when you use `storageEndpoint` to specify a storage account blob endpoint.

> **NOTE:** Please note that storage accounts configured with `sharedAccessKeyEnabled = false` cannot be used to configure `mssql.ManagedInstanceSecurityAlertPolicy` with `storageEndpoint` for now.

func (ManagedInstanceSecurityAlertPolicyOutput) StorageEndpoint added in v5.24.0

Specifies the blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.

func (ManagedInstanceSecurityAlertPolicyOutput) ToManagedInstanceSecurityAlertPolicyOutput added in v5.24.0

func (o ManagedInstanceSecurityAlertPolicyOutput) ToManagedInstanceSecurityAlertPolicyOutput() ManagedInstanceSecurityAlertPolicyOutput

func (ManagedInstanceSecurityAlertPolicyOutput) ToManagedInstanceSecurityAlertPolicyOutputWithContext added in v5.24.0

func (o ManagedInstanceSecurityAlertPolicyOutput) ToManagedInstanceSecurityAlertPolicyOutputWithContext(ctx context.Context) ManagedInstanceSecurityAlertPolicyOutput

type ManagedInstanceSecurityAlertPolicyState added in v5.24.0

type ManagedInstanceSecurityAlertPolicyState struct {
	// Specifies an array of alerts that are disabled. Possible values are `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action` and `Brute_Force`.
	DisabledAlerts pulumi.StringArrayInput
	// Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to `false`.
	EmailAccountAdminsEnabled pulumi.BoolPtrInput
	// Specifies an array of email addresses to which the alert is sent.
	EmailAddresses pulumi.StringArrayInput
	// Specifies the state of the Security Alert Policy, whether it is enabled or disabled. Possible values are `true`, `false`.
	Enabled pulumi.BoolPtrInput
	// Specifies the name of the MS SQL Managed Instance. Changing this forces a new resource to be created.
	ManagedInstanceName pulumi.StringPtrInput
	// The name of the resource group that contains the MS SQL Managed Instance. 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 identifier key of the Threat Detection audit storage account. This is mandatory when you use `storageEndpoint` to specify a storage account blob endpoint.
	//
	// > **NOTE:**  Please note that storage accounts configured with `sharedAccessKeyEnabled = false` cannot be used to configure `mssql.ManagedInstanceSecurityAlertPolicy` with `storageEndpoint` for now.
	StorageAccountAccessKey pulumi.StringPtrInput
	// Specifies the blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.
	StorageEndpoint pulumi.StringPtrInput
}

func (ManagedInstanceSecurityAlertPolicyState) ElementType added in v5.24.0

type ManagedInstanceState

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 Dns Zone where the SQL Managed Instance is located.
	DnsZone pulumi.StringPtrInput
	// The ID of the SQL Managed Instance which will share the DNS zone. This is a prerequisite for creating an `sql.ManagedInstanceFailoverGroup`. Setting this after creation forces a new resource to be created.
	DnsZonePartnerId pulumi.StringPtrInput
	// The fully qualified domain name of the Azure Managed SQL Instance
	Fqdn pulumi.StringPtrInput
	// An `identity` block as defined below.
	Identity ManagedInstanceIdentityPtrInput
	// What type of license the Managed Instance will use. 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 name of the Public Maintenance Configuration window to apply to the SQL Managed Instance. Valid values include `SQL_Default` or an Azure Location in the format `SQL_{Location}_MI_{Size}`(for example `SQL_EastUS_MI_1`). Defaults to `SQL_Default`.
	MaintenanceConfigurationName pulumi.StringPtrInput
	// The Minimum TLS Version. Default value is `1.2` Valid values include `1.0`, `1.1`, `1.2`.
	MinimumTlsVersion pulumi.StringPtrInput
	// The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies how the SQL Managed Instance will be accessed. Default value is `Default`. Valid values include `Default`, `Proxy`, and `Redirect`.
	ProxyOverride pulumi.StringPtrInput
	// Is the public data endpoint enabled? Default value is `false`.
	PublicDataEndpointEnabled pulumi.BoolPtrInput
	// The name of the resource group in which to create the SQL Managed Instance. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the SKU Name for the SQL Managed Instance. Valid values include `GP_Gen4`, `GP_Gen5`, `GP_Gen8IM`, `GP_Gen8IH`, `BC_Gen4`, `BC_Gen5`, `BC_Gen8IM` or `BC_Gen8IH`.
	SkuName pulumi.StringPtrInput
	// Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are `GRS`, `LRS` and `ZRS`. Defaults to `GRS`.
	StorageAccountType pulumi.StringPtrInput
	// Maximum storage space for 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. Changing this forces a new resource to be created.
	SubnetId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The TimeZone ID that the SQL Managed Instance will be operating in. Default value is `UTC`. Changing this forces a new resource to be created.
	TimezoneId pulumi.StringPtrInput
	// Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs.
	Vcores pulumi.IntPtrInput
	// Specifies whether or not the SQL Managed Instance is zone redundant. Defaults to `false`.
	ZoneRedundantEnabled pulumi.BoolPtrInput
}

func (ManagedInstanceState) ElementType

func (ManagedInstanceState) ElementType() reflect.Type

type ManagedInstanceTransparentDataEncryption added in v5.26.1

type ManagedInstanceTransparentDataEncryption struct {
	pulumi.CustomResourceState

	// When enabled, the SQL Managed Instance will continuously check the key vault for any new versions of the key being used as the TDE protector. If a new version of the key is detected, the TDE protector on the SQL Managed Instance will be automatically rotated to the latest key version within 60 minutes.
	AutoRotationEnabled pulumi.BoolPtrOutput `pulumi:"autoRotationEnabled"`
	// To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.
	//
	// > **NOTE:** In order to use customer managed keys, the identity of the MSSQL Managed Instance must have the following permissions on the key vault: 'get', 'wrapKey' and 'unwrapKey'
	//
	// > **NOTE:** If `managedInstanceId` denotes a secondary instance deployed for disaster recovery purposes, then the `keyVaultKeyId` should be the same key used for the primary instance's transparent data encryption. Both primary and secondary instances should be encrypted with same key material.
	KeyVaultKeyId pulumi.StringPtrOutput `pulumi:"keyVaultKeyId"`
	// Specifies the name of the MS SQL Managed Instance. Changing this forces a new resource to be created.
	ManagedInstanceId pulumi.StringOutput `pulumi:"managedInstanceId"`
}

Manages the transparent data encryption configuration for a MSSQL Managed Instance

> **NOTE:** Once transparent data encryption(TDE) 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 Managed Instance 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/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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("EastUs"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name:              pulumi.String("acctest-vnet1-mssql"),
			ResourceGroupName: example.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
			Location: pulumi.Any(test.Location),
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("subnet1-mssql"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.0.0/24"),
			},
			Delegations: network.SubnetDelegationArray{
				&network.SubnetDelegationArgs{
					Name: pulumi.String("managedinstancedelegation"),
					ServiceDelegation: &network.SubnetDelegationServiceDelegationArgs{
						Name: pulumi.String("Microsoft.Sql/managedInstances"),
						Actions: pulumi.StringArray{
							pulumi.String("Microsoft.Network/virtualNetworks/subnets/join/action"),
							pulumi.String("Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action"),
							pulumi.String("Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		exampleManagedInstance, err := mssql.NewManagedInstance(ctx, "example", &mssql.ManagedInstanceArgs{
			Name:                       pulumi.String("mssqlinstance"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			LicenseType:                pulumi.String("BasePrice"),
			SkuName:                    pulumi.String("GP_Gen5"),
			StorageSizeInGb:            pulumi.Int(32),
			SubnetId:                   exampleSubnet.ID(),
			Vcores:                     pulumi.Int(4),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("NCC-1701-D"),
			Identity: &mssql.ManagedInstanceIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewManagedInstanceTransparentDataEncryption(ctx, "example", &mssql.ManagedInstanceTransparentDataEncryptionArgs{
			ManagedInstanceId: exampleManagedInstance.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### With Customer Managed Key

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("EastUs"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name:              pulumi.String("acctest-vnet1-mssql"),
			ResourceGroupName: example.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
			Location: pulumi.Any(test.Location),
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("subnet1-mssql"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.0.0/24"),
			},
			Delegations: network.SubnetDelegationArray{
				&network.SubnetDelegationArgs{
					Name: pulumi.String("managedinstancedelegation"),
					ServiceDelegation: &network.SubnetDelegationServiceDelegationArgs{
						Name: pulumi.String("Microsoft.Sql/managedInstances"),
						Actions: pulumi.StringArray{
							pulumi.String("Microsoft.Network/virtualNetworks/subnets/join/action"),
							pulumi.String("Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action"),
							pulumi.String("Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		exampleManagedInstance, err := mssql.NewManagedInstance(ctx, "example", &mssql.ManagedInstanceArgs{
			Name:                       pulumi.String("mssqlinstance"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			LicenseType:                pulumi.String("BasePrice"),
			SkuName:                    pulumi.String("GP_Gen5"),
			StorageSizeInGb:            pulumi.Int(32),
			SubnetId:                   exampleSubnet.ID(),
			Vcores:                     pulumi.Int(4),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("NCC-1701-D"),
			Identity: &mssql.ManagedInstanceIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		// Create a key vault with policies for the deployer to create a key & SQL Managed Instance to wrap/unwrap/get key
		exampleKeyVault, err := keyvault.NewKeyVault(ctx, "example", &keyvault.KeyVaultArgs{
			Name:                     pulumi.String("example"),
			Location:                 example.Location,
			ResourceGroupName:        example.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"),
						pulumi.String("GetRotationPolicy"),
					},
				},
				&keyvault.KeyVaultAccessPolicyArgs{
					TenantId: exampleManagedInstance.Identity.ApplyT(func(identity mssql.ManagedInstanceIdentity) (*string, error) {
						return &identity.TenantId, nil
					}).(pulumi.StringPtrOutput),
					ObjectId: exampleManagedInstance.Identity.ApplyT(func(identity mssql.ManagedInstanceIdentity) (*string, error) {
						return &identity.PrincipalId, nil
					}).(pulumi.StringPtrOutput),
					KeyPermissions: pulumi.StringArray{
						pulumi.String("Get"),
						pulumi.String("WrapKey"),
						pulumi.String("UnwrapKey"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		exampleKey, err := keyvault.NewKey(ctx, "example", &keyvault.KeyArgs{
			Name:       pulumi.String("byok"),
			KeyVaultId: exampleKeyVault.ID(),
			KeyType:    pulumi.String("RSA"),
			KeySize:    pulumi.Int(2048),
			KeyOpts: pulumi.StringArray{
				pulumi.String("unwrapKey"),
				pulumi.String("wrapKey"),
			},
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewManagedInstanceTransparentDataEncryption(ctx, "example", &mssql.ManagedInstanceTransparentDataEncryptionArgs{
			ManagedInstanceId: exampleManagedInstance.ID(),
			KeyVaultKeyId:     exampleKey.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:mssql/managedInstanceTransparentDataEncryption:ManagedInstanceTransparentDataEncryption example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Sql/managedInstances/instance1/encryptionProtector/current ```

func GetManagedInstanceTransparentDataEncryption added in v5.26.1

func GetManagedInstanceTransparentDataEncryption(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ManagedInstanceTransparentDataEncryptionState, opts ...pulumi.ResourceOption) (*ManagedInstanceTransparentDataEncryption, error)

GetManagedInstanceTransparentDataEncryption gets an existing ManagedInstanceTransparentDataEncryption 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 NewManagedInstanceTransparentDataEncryption added in v5.26.1

func NewManagedInstanceTransparentDataEncryption(ctx *pulumi.Context,
	name string, args *ManagedInstanceTransparentDataEncryptionArgs, opts ...pulumi.ResourceOption) (*ManagedInstanceTransparentDataEncryption, error)

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

func (*ManagedInstanceTransparentDataEncryption) ElementType added in v5.26.1

func (*ManagedInstanceTransparentDataEncryption) ToManagedInstanceTransparentDataEncryptionOutput added in v5.26.1

func (i *ManagedInstanceTransparentDataEncryption) ToManagedInstanceTransparentDataEncryptionOutput() ManagedInstanceTransparentDataEncryptionOutput

func (*ManagedInstanceTransparentDataEncryption) ToManagedInstanceTransparentDataEncryptionOutputWithContext added in v5.26.1

func (i *ManagedInstanceTransparentDataEncryption) ToManagedInstanceTransparentDataEncryptionOutputWithContext(ctx context.Context) ManagedInstanceTransparentDataEncryptionOutput

type ManagedInstanceTransparentDataEncryptionArgs added in v5.26.1

type ManagedInstanceTransparentDataEncryptionArgs struct {
	// When enabled, the SQL Managed Instance will continuously check the key vault for any new versions of the key being used as the TDE protector. If a new version of the key is detected, the TDE protector on the SQL Managed Instance will be automatically rotated to the latest key version within 60 minutes.
	AutoRotationEnabled pulumi.BoolPtrInput
	// To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.
	//
	// > **NOTE:** In order to use customer managed keys, the identity of the MSSQL Managed Instance must have the following permissions on the key vault: 'get', 'wrapKey' and 'unwrapKey'
	//
	// > **NOTE:** If `managedInstanceId` denotes a secondary instance deployed for disaster recovery purposes, then the `keyVaultKeyId` should be the same key used for the primary instance's transparent data encryption. Both primary and secondary instances should be encrypted with same key material.
	KeyVaultKeyId pulumi.StringPtrInput
	// Specifies the name of the MS SQL Managed Instance. Changing this forces a new resource to be created.
	ManagedInstanceId pulumi.StringInput
}

The set of arguments for constructing a ManagedInstanceTransparentDataEncryption resource.

func (ManagedInstanceTransparentDataEncryptionArgs) ElementType added in v5.26.1

type ManagedInstanceTransparentDataEncryptionArray added in v5.26.1

type ManagedInstanceTransparentDataEncryptionArray []ManagedInstanceTransparentDataEncryptionInput

func (ManagedInstanceTransparentDataEncryptionArray) ElementType added in v5.26.1

func (ManagedInstanceTransparentDataEncryptionArray) ToManagedInstanceTransparentDataEncryptionArrayOutput added in v5.26.1

func (i ManagedInstanceTransparentDataEncryptionArray) ToManagedInstanceTransparentDataEncryptionArrayOutput() ManagedInstanceTransparentDataEncryptionArrayOutput

func (ManagedInstanceTransparentDataEncryptionArray) ToManagedInstanceTransparentDataEncryptionArrayOutputWithContext added in v5.26.1

func (i ManagedInstanceTransparentDataEncryptionArray) ToManagedInstanceTransparentDataEncryptionArrayOutputWithContext(ctx context.Context) ManagedInstanceTransparentDataEncryptionArrayOutput

type ManagedInstanceTransparentDataEncryptionArrayInput added in v5.26.1

type ManagedInstanceTransparentDataEncryptionArrayInput interface {
	pulumi.Input

	ToManagedInstanceTransparentDataEncryptionArrayOutput() ManagedInstanceTransparentDataEncryptionArrayOutput
	ToManagedInstanceTransparentDataEncryptionArrayOutputWithContext(context.Context) ManagedInstanceTransparentDataEncryptionArrayOutput
}

ManagedInstanceTransparentDataEncryptionArrayInput is an input type that accepts ManagedInstanceTransparentDataEncryptionArray and ManagedInstanceTransparentDataEncryptionArrayOutput values. You can construct a concrete instance of `ManagedInstanceTransparentDataEncryptionArrayInput` via:

ManagedInstanceTransparentDataEncryptionArray{ ManagedInstanceTransparentDataEncryptionArgs{...} }

type ManagedInstanceTransparentDataEncryptionArrayOutput added in v5.26.1

type ManagedInstanceTransparentDataEncryptionArrayOutput struct{ *pulumi.OutputState }

func (ManagedInstanceTransparentDataEncryptionArrayOutput) ElementType added in v5.26.1

func (ManagedInstanceTransparentDataEncryptionArrayOutput) Index added in v5.26.1

func (ManagedInstanceTransparentDataEncryptionArrayOutput) ToManagedInstanceTransparentDataEncryptionArrayOutput added in v5.26.1

func (o ManagedInstanceTransparentDataEncryptionArrayOutput) ToManagedInstanceTransparentDataEncryptionArrayOutput() ManagedInstanceTransparentDataEncryptionArrayOutput

func (ManagedInstanceTransparentDataEncryptionArrayOutput) ToManagedInstanceTransparentDataEncryptionArrayOutputWithContext added in v5.26.1

func (o ManagedInstanceTransparentDataEncryptionArrayOutput) ToManagedInstanceTransparentDataEncryptionArrayOutputWithContext(ctx context.Context) ManagedInstanceTransparentDataEncryptionArrayOutput

type ManagedInstanceTransparentDataEncryptionInput added in v5.26.1

type ManagedInstanceTransparentDataEncryptionInput interface {
	pulumi.Input

	ToManagedInstanceTransparentDataEncryptionOutput() ManagedInstanceTransparentDataEncryptionOutput
	ToManagedInstanceTransparentDataEncryptionOutputWithContext(ctx context.Context) ManagedInstanceTransparentDataEncryptionOutput
}

type ManagedInstanceTransparentDataEncryptionMap added in v5.26.1

type ManagedInstanceTransparentDataEncryptionMap map[string]ManagedInstanceTransparentDataEncryptionInput

func (ManagedInstanceTransparentDataEncryptionMap) ElementType added in v5.26.1

func (ManagedInstanceTransparentDataEncryptionMap) ToManagedInstanceTransparentDataEncryptionMapOutput added in v5.26.1

func (i ManagedInstanceTransparentDataEncryptionMap) ToManagedInstanceTransparentDataEncryptionMapOutput() ManagedInstanceTransparentDataEncryptionMapOutput

func (ManagedInstanceTransparentDataEncryptionMap) ToManagedInstanceTransparentDataEncryptionMapOutputWithContext added in v5.26.1

func (i ManagedInstanceTransparentDataEncryptionMap) ToManagedInstanceTransparentDataEncryptionMapOutputWithContext(ctx context.Context) ManagedInstanceTransparentDataEncryptionMapOutput

type ManagedInstanceTransparentDataEncryptionMapInput added in v5.26.1

type ManagedInstanceTransparentDataEncryptionMapInput interface {
	pulumi.Input

	ToManagedInstanceTransparentDataEncryptionMapOutput() ManagedInstanceTransparentDataEncryptionMapOutput
	ToManagedInstanceTransparentDataEncryptionMapOutputWithContext(context.Context) ManagedInstanceTransparentDataEncryptionMapOutput
}

ManagedInstanceTransparentDataEncryptionMapInput is an input type that accepts ManagedInstanceTransparentDataEncryptionMap and ManagedInstanceTransparentDataEncryptionMapOutput values. You can construct a concrete instance of `ManagedInstanceTransparentDataEncryptionMapInput` via:

ManagedInstanceTransparentDataEncryptionMap{ "key": ManagedInstanceTransparentDataEncryptionArgs{...} }

type ManagedInstanceTransparentDataEncryptionMapOutput added in v5.26.1

type ManagedInstanceTransparentDataEncryptionMapOutput struct{ *pulumi.OutputState }

func (ManagedInstanceTransparentDataEncryptionMapOutput) ElementType added in v5.26.1

func (ManagedInstanceTransparentDataEncryptionMapOutput) MapIndex added in v5.26.1

func (ManagedInstanceTransparentDataEncryptionMapOutput) ToManagedInstanceTransparentDataEncryptionMapOutput added in v5.26.1

func (o ManagedInstanceTransparentDataEncryptionMapOutput) ToManagedInstanceTransparentDataEncryptionMapOutput() ManagedInstanceTransparentDataEncryptionMapOutput

func (ManagedInstanceTransparentDataEncryptionMapOutput) ToManagedInstanceTransparentDataEncryptionMapOutputWithContext added in v5.26.1

func (o ManagedInstanceTransparentDataEncryptionMapOutput) ToManagedInstanceTransparentDataEncryptionMapOutputWithContext(ctx context.Context) ManagedInstanceTransparentDataEncryptionMapOutput

type ManagedInstanceTransparentDataEncryptionOutput added in v5.26.1

type ManagedInstanceTransparentDataEncryptionOutput struct{ *pulumi.OutputState }

func (ManagedInstanceTransparentDataEncryptionOutput) AutoRotationEnabled added in v5.26.1

When enabled, the SQL Managed Instance will continuously check the key vault for any new versions of the key being used as the TDE protector. If a new version of the key is detected, the TDE protector on the SQL Managed Instance will be automatically rotated to the latest key version within 60 minutes.

func (ManagedInstanceTransparentDataEncryptionOutput) ElementType added in v5.26.1

func (ManagedInstanceTransparentDataEncryptionOutput) KeyVaultKeyId added in v5.26.1

To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.

> **NOTE:** In order to use customer managed keys, the identity of the MSSQL Managed Instance must have the following permissions on the key vault: 'get', 'wrapKey' and 'unwrapKey'

> **NOTE:** If `managedInstanceId` denotes a secondary instance deployed for disaster recovery purposes, then the `keyVaultKeyId` should be the same key used for the primary instance's transparent data encryption. Both primary and secondary instances should be encrypted with same key material.

func (ManagedInstanceTransparentDataEncryptionOutput) ManagedInstanceId added in v5.26.1

Specifies the name of the MS SQL Managed Instance. Changing this forces a new resource to be created.

func (ManagedInstanceTransparentDataEncryptionOutput) ToManagedInstanceTransparentDataEncryptionOutput added in v5.26.1

func (o ManagedInstanceTransparentDataEncryptionOutput) ToManagedInstanceTransparentDataEncryptionOutput() ManagedInstanceTransparentDataEncryptionOutput

func (ManagedInstanceTransparentDataEncryptionOutput) ToManagedInstanceTransparentDataEncryptionOutputWithContext added in v5.26.1

func (o ManagedInstanceTransparentDataEncryptionOutput) ToManagedInstanceTransparentDataEncryptionOutputWithContext(ctx context.Context) ManagedInstanceTransparentDataEncryptionOutput

type ManagedInstanceTransparentDataEncryptionState added in v5.26.1

type ManagedInstanceTransparentDataEncryptionState struct {
	// When enabled, the SQL Managed Instance will continuously check the key vault for any new versions of the key being used as the TDE protector. If a new version of the key is detected, the TDE protector on the SQL Managed Instance will be automatically rotated to the latest key version within 60 minutes.
	AutoRotationEnabled pulumi.BoolPtrInput
	// To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.
	//
	// > **NOTE:** In order to use customer managed keys, the identity of the MSSQL Managed Instance must have the following permissions on the key vault: 'get', 'wrapKey' and 'unwrapKey'
	//
	// > **NOTE:** If `managedInstanceId` denotes a secondary instance deployed for disaster recovery purposes, then the `keyVaultKeyId` should be the same key used for the primary instance's transparent data encryption. Both primary and secondary instances should be encrypted with same key material.
	KeyVaultKeyId pulumi.StringPtrInput
	// Specifies the name of the MS SQL Managed Instance. Changing this forces a new resource to be created.
	ManagedInstanceId pulumi.StringPtrInput
}

func (ManagedInstanceTransparentDataEncryptionState) ElementType added in v5.26.1

type ManagedInstanceVulnerabilityAssessment added in v5.6.0

type ManagedInstanceVulnerabilityAssessment struct {
	pulumi.CustomResourceState

	// The id of the MS SQL Managed Instance. Changing this forces a new resource to be created.
	ManagedInstanceId pulumi.StringOutput `pulumi:"managedInstanceId"`
	// The recurring scans settings. The `recurringScans` block supports fields documented below.
	RecurringScans ManagedInstanceVulnerabilityAssessmentRecurringScansOutput `pulumi:"recurringScans"`
	// Specifies the identifier key of the storage account for vulnerability assessment scan results. If `storageContainerSasKey` isn't specified, `storageAccountAccessKey` is required.
	//
	// > **NOTE** The `storageAccountAccessKey` only applies if the storage account is not behind a virtual network or a firewall.
	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.
	//
	// > **NOTE** The `storageContainerSasKey` only applies if the storage account is not behind a virtual network or a firewall.
	StorageContainerSasKey pulumi.StringPtrOutput `pulumi:"storageContainerSasKey"`
}

Manages the Vulnerability Assessment for an MS Managed Instance.

## Example Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name:              pulumi.String("example"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("example"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		exampleManagedInstance, err := mssql.NewManagedInstance(ctx, "example", &mssql.ManagedInstanceArgs{
			Name:                       pulumi.String("exampleinstance"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			LicenseType:                pulumi.String("BasePrice"),
			SkuName:                    pulumi.String("GP_Gen5"),
			StorageSizeInGb:            pulumi.Int(32),
			SubnetId:                   exampleSubnet.ID(),
			Vcores:                     pulumi.Int(4),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("NCC-1701-D"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("accteststorageaccount"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("GRS"),
		})
		if err != nil {
			return err
		}
		exampleContainer, err := storage.NewContainer(ctx, "example", &storage.ContainerArgs{
			Name:                pulumi.String("accteststoragecontainer"),
			StorageAccountName:  exampleAccount.Name,
			ContainerAccessType: pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewManagedInstanceSecurityAlertPolicy(ctx, "example", &mssql.ManagedInstanceSecurityAlertPolicyArgs{
			ResourceGroupName:       pulumi.Any(testAzurermResourceGroup.Name),
			ManagedInstanceName:     pulumi.Any(test.Name),
			Enabled:                 pulumi.Bool(true),
			StorageEndpoint:         pulumi.Any(testAzurermStorageAccount.PrimaryBlobEndpoint),
			StorageAccountAccessKey: pulumi.Any(testAzurermStorageAccount.PrimaryAccessKey),
			RetentionDays:           pulumi.Int(30),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewManagedInstanceVulnerabilityAssessment(ctx, "example", &mssql.ManagedInstanceVulnerabilityAssessmentArgs{
			ManagedInstanceId: exampleManagedInstance.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/", primaryBlobEndpoint, name), nil
			}).(pulumi.StringOutput),
			StorageAccountAccessKey: exampleAccount.PrimaryAccessKey,
			RecurringScans: &mssql.ManagedInstanceVulnerabilityAssessmentRecurringScansArgs{
				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

The Vulnerability Assessment can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:mssql/managedInstanceVulnerabilityAssessment:ManagedInstanceVulnerabilityAssessment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acceptanceTestResourceGroup1/providers/Microsoft.Sql/managedInstances/instance1/vulnerabilityAssessments/Default ```

func GetManagedInstanceVulnerabilityAssessment added in v5.6.0

func GetManagedInstanceVulnerabilityAssessment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ManagedInstanceVulnerabilityAssessmentState, opts ...pulumi.ResourceOption) (*ManagedInstanceVulnerabilityAssessment, error)

GetManagedInstanceVulnerabilityAssessment gets an existing ManagedInstanceVulnerabilityAssessment 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 NewManagedInstanceVulnerabilityAssessment added in v5.6.0

func NewManagedInstanceVulnerabilityAssessment(ctx *pulumi.Context,
	name string, args *ManagedInstanceVulnerabilityAssessmentArgs, opts ...pulumi.ResourceOption) (*ManagedInstanceVulnerabilityAssessment, error)

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

func (*ManagedInstanceVulnerabilityAssessment) ElementType added in v5.6.0

func (*ManagedInstanceVulnerabilityAssessment) ToManagedInstanceVulnerabilityAssessmentOutput added in v5.6.0

func (i *ManagedInstanceVulnerabilityAssessment) ToManagedInstanceVulnerabilityAssessmentOutput() ManagedInstanceVulnerabilityAssessmentOutput

func (*ManagedInstanceVulnerabilityAssessment) ToManagedInstanceVulnerabilityAssessmentOutputWithContext added in v5.6.0

func (i *ManagedInstanceVulnerabilityAssessment) ToManagedInstanceVulnerabilityAssessmentOutputWithContext(ctx context.Context) ManagedInstanceVulnerabilityAssessmentOutput

type ManagedInstanceVulnerabilityAssessmentArgs added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentArgs struct {
	// The id of the MS SQL Managed Instance. Changing this forces a new resource to be created.
	ManagedInstanceId pulumi.StringInput
	// The recurring scans settings. The `recurringScans` block supports fields documented below.
	RecurringScans ManagedInstanceVulnerabilityAssessmentRecurringScansPtrInput
	// Specifies the identifier key of the storage account for vulnerability assessment scan results. If `storageContainerSasKey` isn't specified, `storageAccountAccessKey` is required.
	//
	// > **NOTE** The `storageAccountAccessKey` only applies if the storage account is not behind a virtual network or a firewall.
	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.
	//
	// > **NOTE** The `storageContainerSasKey` only applies if the storage account is not behind a virtual network or a firewall.
	StorageContainerSasKey pulumi.StringPtrInput
}

The set of arguments for constructing a ManagedInstanceVulnerabilityAssessment resource.

func (ManagedInstanceVulnerabilityAssessmentArgs) ElementType added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentArray added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentArray []ManagedInstanceVulnerabilityAssessmentInput

func (ManagedInstanceVulnerabilityAssessmentArray) ElementType added in v5.6.0

func (ManagedInstanceVulnerabilityAssessmentArray) ToManagedInstanceVulnerabilityAssessmentArrayOutput added in v5.6.0

func (i ManagedInstanceVulnerabilityAssessmentArray) ToManagedInstanceVulnerabilityAssessmentArrayOutput() ManagedInstanceVulnerabilityAssessmentArrayOutput

func (ManagedInstanceVulnerabilityAssessmentArray) ToManagedInstanceVulnerabilityAssessmentArrayOutputWithContext added in v5.6.0

func (i ManagedInstanceVulnerabilityAssessmentArray) ToManagedInstanceVulnerabilityAssessmentArrayOutputWithContext(ctx context.Context) ManagedInstanceVulnerabilityAssessmentArrayOutput

type ManagedInstanceVulnerabilityAssessmentArrayInput added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentArrayInput interface {
	pulumi.Input

	ToManagedInstanceVulnerabilityAssessmentArrayOutput() ManagedInstanceVulnerabilityAssessmentArrayOutput
	ToManagedInstanceVulnerabilityAssessmentArrayOutputWithContext(context.Context) ManagedInstanceVulnerabilityAssessmentArrayOutput
}

ManagedInstanceVulnerabilityAssessmentArrayInput is an input type that accepts ManagedInstanceVulnerabilityAssessmentArray and ManagedInstanceVulnerabilityAssessmentArrayOutput values. You can construct a concrete instance of `ManagedInstanceVulnerabilityAssessmentArrayInput` via:

ManagedInstanceVulnerabilityAssessmentArray{ ManagedInstanceVulnerabilityAssessmentArgs{...} }

type ManagedInstanceVulnerabilityAssessmentArrayOutput added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentArrayOutput struct{ *pulumi.OutputState }

func (ManagedInstanceVulnerabilityAssessmentArrayOutput) ElementType added in v5.6.0

func (ManagedInstanceVulnerabilityAssessmentArrayOutput) Index added in v5.6.0

func (ManagedInstanceVulnerabilityAssessmentArrayOutput) ToManagedInstanceVulnerabilityAssessmentArrayOutput added in v5.6.0

func (o ManagedInstanceVulnerabilityAssessmentArrayOutput) ToManagedInstanceVulnerabilityAssessmentArrayOutput() ManagedInstanceVulnerabilityAssessmentArrayOutput

func (ManagedInstanceVulnerabilityAssessmentArrayOutput) ToManagedInstanceVulnerabilityAssessmentArrayOutputWithContext added in v5.6.0

func (o ManagedInstanceVulnerabilityAssessmentArrayOutput) ToManagedInstanceVulnerabilityAssessmentArrayOutputWithContext(ctx context.Context) ManagedInstanceVulnerabilityAssessmentArrayOutput

type ManagedInstanceVulnerabilityAssessmentInput added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentInput interface {
	pulumi.Input

	ToManagedInstanceVulnerabilityAssessmentOutput() ManagedInstanceVulnerabilityAssessmentOutput
	ToManagedInstanceVulnerabilityAssessmentOutputWithContext(ctx context.Context) ManagedInstanceVulnerabilityAssessmentOutput
}

type ManagedInstanceVulnerabilityAssessmentMap added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentMap map[string]ManagedInstanceVulnerabilityAssessmentInput

func (ManagedInstanceVulnerabilityAssessmentMap) ElementType added in v5.6.0

func (ManagedInstanceVulnerabilityAssessmentMap) ToManagedInstanceVulnerabilityAssessmentMapOutput added in v5.6.0

func (i ManagedInstanceVulnerabilityAssessmentMap) ToManagedInstanceVulnerabilityAssessmentMapOutput() ManagedInstanceVulnerabilityAssessmentMapOutput

func (ManagedInstanceVulnerabilityAssessmentMap) ToManagedInstanceVulnerabilityAssessmentMapOutputWithContext added in v5.6.0

func (i ManagedInstanceVulnerabilityAssessmentMap) ToManagedInstanceVulnerabilityAssessmentMapOutputWithContext(ctx context.Context) ManagedInstanceVulnerabilityAssessmentMapOutput

type ManagedInstanceVulnerabilityAssessmentMapInput added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentMapInput interface {
	pulumi.Input

	ToManagedInstanceVulnerabilityAssessmentMapOutput() ManagedInstanceVulnerabilityAssessmentMapOutput
	ToManagedInstanceVulnerabilityAssessmentMapOutputWithContext(context.Context) ManagedInstanceVulnerabilityAssessmentMapOutput
}

ManagedInstanceVulnerabilityAssessmentMapInput is an input type that accepts ManagedInstanceVulnerabilityAssessmentMap and ManagedInstanceVulnerabilityAssessmentMapOutput values. You can construct a concrete instance of `ManagedInstanceVulnerabilityAssessmentMapInput` via:

ManagedInstanceVulnerabilityAssessmentMap{ "key": ManagedInstanceVulnerabilityAssessmentArgs{...} }

type ManagedInstanceVulnerabilityAssessmentMapOutput added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentMapOutput struct{ *pulumi.OutputState }

func (ManagedInstanceVulnerabilityAssessmentMapOutput) ElementType added in v5.6.0

func (ManagedInstanceVulnerabilityAssessmentMapOutput) MapIndex added in v5.6.0

func (ManagedInstanceVulnerabilityAssessmentMapOutput) ToManagedInstanceVulnerabilityAssessmentMapOutput added in v5.6.0

func (o ManagedInstanceVulnerabilityAssessmentMapOutput) ToManagedInstanceVulnerabilityAssessmentMapOutput() ManagedInstanceVulnerabilityAssessmentMapOutput

func (ManagedInstanceVulnerabilityAssessmentMapOutput) ToManagedInstanceVulnerabilityAssessmentMapOutputWithContext added in v5.6.0

func (o ManagedInstanceVulnerabilityAssessmentMapOutput) ToManagedInstanceVulnerabilityAssessmentMapOutputWithContext(ctx context.Context) ManagedInstanceVulnerabilityAssessmentMapOutput

type ManagedInstanceVulnerabilityAssessmentOutput added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentOutput struct{ *pulumi.OutputState }

func (ManagedInstanceVulnerabilityAssessmentOutput) ElementType added in v5.6.0

func (ManagedInstanceVulnerabilityAssessmentOutput) ManagedInstanceId added in v5.6.0

The id of the MS SQL Managed Instance. Changing this forces a new resource to be created.

func (ManagedInstanceVulnerabilityAssessmentOutput) RecurringScans added in v5.6.0

The recurring scans settings. The `recurringScans` block supports fields documented below.

func (ManagedInstanceVulnerabilityAssessmentOutput) StorageAccountAccessKey added in v5.6.0

Specifies the identifier key of the storage account for vulnerability assessment scan results. If `storageContainerSasKey` isn't specified, `storageAccountAccessKey` is required.

> **NOTE** The `storageAccountAccessKey` only applies if the storage account is not behind a virtual network or a firewall.

func (ManagedInstanceVulnerabilityAssessmentOutput) StorageContainerPath added in v5.6.0

A blob storage container path to hold the scan results (e.g. <https://myStorage.blob.core.windows.net/VaScans/>).

func (ManagedInstanceVulnerabilityAssessmentOutput) StorageContainerSasKey added in v5.6.0

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.

> **NOTE** The `storageContainerSasKey` only applies if the storage account is not behind a virtual network or a firewall.

func (ManagedInstanceVulnerabilityAssessmentOutput) ToManagedInstanceVulnerabilityAssessmentOutput added in v5.6.0

func (o ManagedInstanceVulnerabilityAssessmentOutput) ToManagedInstanceVulnerabilityAssessmentOutput() ManagedInstanceVulnerabilityAssessmentOutput

func (ManagedInstanceVulnerabilityAssessmentOutput) ToManagedInstanceVulnerabilityAssessmentOutputWithContext added in v5.6.0

func (o ManagedInstanceVulnerabilityAssessmentOutput) ToManagedInstanceVulnerabilityAssessmentOutputWithContext(ctx context.Context) ManagedInstanceVulnerabilityAssessmentOutput

type ManagedInstanceVulnerabilityAssessmentRecurringScans added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentRecurringScans struct {
	// Boolean flag which specifies if the schedule scan notification will be sent to the subscription administrators. Defaults to `true`.
	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 ManagedInstanceVulnerabilityAssessmentRecurringScansArgs added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentRecurringScansArgs struct {
	// Boolean flag which specifies if the schedule scan notification will be sent to the subscription administrators. Defaults to `true`.
	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 (ManagedInstanceVulnerabilityAssessmentRecurringScansArgs) ElementType added in v5.6.0

func (ManagedInstanceVulnerabilityAssessmentRecurringScansArgs) ToManagedInstanceVulnerabilityAssessmentRecurringScansOutput added in v5.6.0

func (ManagedInstanceVulnerabilityAssessmentRecurringScansArgs) ToManagedInstanceVulnerabilityAssessmentRecurringScansOutputWithContext added in v5.6.0

func (i ManagedInstanceVulnerabilityAssessmentRecurringScansArgs) ToManagedInstanceVulnerabilityAssessmentRecurringScansOutputWithContext(ctx context.Context) ManagedInstanceVulnerabilityAssessmentRecurringScansOutput

func (ManagedInstanceVulnerabilityAssessmentRecurringScansArgs) ToManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput added in v5.6.0

func (i ManagedInstanceVulnerabilityAssessmentRecurringScansArgs) ToManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput() ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput

func (ManagedInstanceVulnerabilityAssessmentRecurringScansArgs) ToManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutputWithContext added in v5.6.0

func (i ManagedInstanceVulnerabilityAssessmentRecurringScansArgs) ToManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutputWithContext(ctx context.Context) ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput

type ManagedInstanceVulnerabilityAssessmentRecurringScansInput added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentRecurringScansInput interface {
	pulumi.Input

	ToManagedInstanceVulnerabilityAssessmentRecurringScansOutput() ManagedInstanceVulnerabilityAssessmentRecurringScansOutput
	ToManagedInstanceVulnerabilityAssessmentRecurringScansOutputWithContext(context.Context) ManagedInstanceVulnerabilityAssessmentRecurringScansOutput
}

ManagedInstanceVulnerabilityAssessmentRecurringScansInput is an input type that accepts ManagedInstanceVulnerabilityAssessmentRecurringScansArgs and ManagedInstanceVulnerabilityAssessmentRecurringScansOutput values. You can construct a concrete instance of `ManagedInstanceVulnerabilityAssessmentRecurringScansInput` via:

ManagedInstanceVulnerabilityAssessmentRecurringScansArgs{...}

type ManagedInstanceVulnerabilityAssessmentRecurringScansOutput added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentRecurringScansOutput struct{ *pulumi.OutputState }

func (ManagedInstanceVulnerabilityAssessmentRecurringScansOutput) ElementType added in v5.6.0

func (ManagedInstanceVulnerabilityAssessmentRecurringScansOutput) EmailSubscriptionAdmins added in v5.6.0

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

func (ManagedInstanceVulnerabilityAssessmentRecurringScansOutput) Emails added in v5.6.0

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

func (ManagedInstanceVulnerabilityAssessmentRecurringScansOutput) Enabled added in v5.6.0

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

func (ManagedInstanceVulnerabilityAssessmentRecurringScansOutput) ToManagedInstanceVulnerabilityAssessmentRecurringScansOutput added in v5.6.0

func (ManagedInstanceVulnerabilityAssessmentRecurringScansOutput) ToManagedInstanceVulnerabilityAssessmentRecurringScansOutputWithContext added in v5.6.0

func (o ManagedInstanceVulnerabilityAssessmentRecurringScansOutput) ToManagedInstanceVulnerabilityAssessmentRecurringScansOutputWithContext(ctx context.Context) ManagedInstanceVulnerabilityAssessmentRecurringScansOutput

func (ManagedInstanceVulnerabilityAssessmentRecurringScansOutput) ToManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput added in v5.6.0

func (ManagedInstanceVulnerabilityAssessmentRecurringScansOutput) ToManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutputWithContext added in v5.6.0

func (o ManagedInstanceVulnerabilityAssessmentRecurringScansOutput) ToManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutputWithContext(ctx context.Context) ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput

type ManagedInstanceVulnerabilityAssessmentRecurringScansPtrInput added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentRecurringScansPtrInput interface {
	pulumi.Input

	ToManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput() ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput
	ToManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutputWithContext(context.Context) ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput
}

ManagedInstanceVulnerabilityAssessmentRecurringScansPtrInput is an input type that accepts ManagedInstanceVulnerabilityAssessmentRecurringScansArgs, ManagedInstanceVulnerabilityAssessmentRecurringScansPtr and ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput values. You can construct a concrete instance of `ManagedInstanceVulnerabilityAssessmentRecurringScansPtrInput` via:

        ManagedInstanceVulnerabilityAssessmentRecurringScansArgs{...}

or:

        nil

type ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput struct{ *pulumi.OutputState }

func (ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput) Elem added in v5.6.0

func (ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput) ElementType added in v5.6.0

func (ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput) EmailSubscriptionAdmins added in v5.6.0

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

func (ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput) Emails added in v5.6.0

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

func (ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput) Enabled added in v5.6.0

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

func (ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput) ToManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput added in v5.6.0

func (ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput) ToManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutputWithContext added in v5.6.0

func (o ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput) ToManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutputWithContext(ctx context.Context) ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput

type ManagedInstanceVulnerabilityAssessmentState added in v5.6.0

type ManagedInstanceVulnerabilityAssessmentState struct {
	// The id of the MS SQL Managed Instance. Changing this forces a new resource to be created.
	ManagedInstanceId pulumi.StringPtrInput
	// The recurring scans settings. The `recurringScans` block supports fields documented below.
	RecurringScans ManagedInstanceVulnerabilityAssessmentRecurringScansPtrInput
	// Specifies the identifier key of the storage account for vulnerability assessment scan results. If `storageContainerSasKey` isn't specified, `storageAccountAccessKey` is required.
	//
	// > **NOTE** The `storageAccountAccessKey` only applies if the storage account is not behind a virtual network or a firewall.
	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.
	//
	// > **NOTE** The `storageContainerSasKey` only applies if the storage account is not behind a virtual network or a firewall.
	StorageContainerSasKey pulumi.StringPtrInput
}

func (ManagedInstanceVulnerabilityAssessmentState) ElementType added in v5.6.0

type OutboundFirewallRule

type OutboundFirewallRule struct {
	pulumi.CustomResourceState

	// The name of the outbound firewall rule. This should be a FQDN. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The resource ID of the SQL Server on which to create the Outbound Firewall Rule. Changing this forces a new resource to be created.
	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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                              pulumi.String("mysqlserver"),
			ResourceGroupName:                 example.Name,
			Location:                          example.Location,
			Version:                           pulumi.String("12.0"),
			AdministratorLogin:                pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword:        pulumi.String("4-v3ry-53cr37-p455w0rd"),
			OutboundNetworkRestrictionEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewOutboundFirewallRule(ctx, "example", &mssql.OutboundFirewallRuleArgs{
			Name:     pulumi.String("sqlexamplefdqn.database.windows.net"),
			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

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

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

func (*OutboundFirewallRule) ElementType() reflect.Type

func (*OutboundFirewallRule) ToOutboundFirewallRuleOutput

func (i *OutboundFirewallRule) ToOutboundFirewallRuleOutput() OutboundFirewallRuleOutput

func (*OutboundFirewallRule) ToOutboundFirewallRuleOutputWithContext

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

type OutboundFirewallRuleArgs

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

The set of arguments for constructing a OutboundFirewallRule resource.

func (OutboundFirewallRuleArgs) ElementType

func (OutboundFirewallRuleArgs) ElementType() reflect.Type

type OutboundFirewallRuleArray

type OutboundFirewallRuleArray []OutboundFirewallRuleInput

func (OutboundFirewallRuleArray) ElementType

func (OutboundFirewallRuleArray) ElementType() reflect.Type

func (OutboundFirewallRuleArray) ToOutboundFirewallRuleArrayOutput

func (i OutboundFirewallRuleArray) ToOutboundFirewallRuleArrayOutput() OutboundFirewallRuleArrayOutput

func (OutboundFirewallRuleArray) ToOutboundFirewallRuleArrayOutputWithContext

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

type OutboundFirewallRuleArrayInput

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

type OutboundFirewallRuleArrayOutput struct{ *pulumi.OutputState }

func (OutboundFirewallRuleArrayOutput) ElementType

func (OutboundFirewallRuleArrayOutput) Index

func (OutboundFirewallRuleArrayOutput) ToOutboundFirewallRuleArrayOutput

func (o OutboundFirewallRuleArrayOutput) ToOutboundFirewallRuleArrayOutput() OutboundFirewallRuleArrayOutput

func (OutboundFirewallRuleArrayOutput) ToOutboundFirewallRuleArrayOutputWithContext

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

type OutboundFirewallRuleInput

type OutboundFirewallRuleInput interface {
	pulumi.Input

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

type OutboundFirewallRuleMap

type OutboundFirewallRuleMap map[string]OutboundFirewallRuleInput

func (OutboundFirewallRuleMap) ElementType

func (OutboundFirewallRuleMap) ElementType() reflect.Type

func (OutboundFirewallRuleMap) ToOutboundFirewallRuleMapOutput

func (i OutboundFirewallRuleMap) ToOutboundFirewallRuleMapOutput() OutboundFirewallRuleMapOutput

func (OutboundFirewallRuleMap) ToOutboundFirewallRuleMapOutputWithContext

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

type OutboundFirewallRuleMapInput

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

type OutboundFirewallRuleMapOutput struct{ *pulumi.OutputState }

func (OutboundFirewallRuleMapOutput) ElementType

func (OutboundFirewallRuleMapOutput) MapIndex

func (OutboundFirewallRuleMapOutput) ToOutboundFirewallRuleMapOutput

func (o OutboundFirewallRuleMapOutput) ToOutboundFirewallRuleMapOutput() OutboundFirewallRuleMapOutput

func (OutboundFirewallRuleMapOutput) ToOutboundFirewallRuleMapOutputWithContext

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

type OutboundFirewallRuleOutput

type OutboundFirewallRuleOutput struct{ *pulumi.OutputState }

func (OutboundFirewallRuleOutput) ElementType

func (OutboundFirewallRuleOutput) ElementType() reflect.Type

func (OutboundFirewallRuleOutput) Name added in v5.5.0

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

func (OutboundFirewallRuleOutput) ServerId added in v5.5.0

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

func (OutboundFirewallRuleOutput) ToOutboundFirewallRuleOutput

func (o OutboundFirewallRuleOutput) ToOutboundFirewallRuleOutput() OutboundFirewallRuleOutput

func (OutboundFirewallRuleOutput) ToOutboundFirewallRuleOutputWithContext

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

type OutboundFirewallRuleState

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

func (OutboundFirewallRuleState) ElementType

func (OutboundFirewallRuleState) ElementType() reflect.Type

type Server

type Server struct {
	pulumi.CustomResourceState

	// The administrator login name for the new server. Required unless `azureadAuthenticationOnly` in the `azureadAdministrator` block is `true`. When omitted, Azure will generate a default username which cannot be subsequently changed. 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). Required unless `azureadAuthenticationOnly` in the `azureadAdministrator` block is `true`.
	AdministratorLoginPassword pulumi.StringPtrOutput `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"`
	// 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` , `1.2` and `Disabled`. Defaults to `1.2`.
	//
	// > **NOTE:** The `minimumTlsVersion` is set to `Disabled` means all TLS versions are allowed. After you enforce a version of `minimumTlsVersion`, it's not possible to revert to `Disabled`.
	MinimumTlsVersion pulumi.StringPtrOutput `pulumi:"minimumTlsVersion"`
	// The name of the Microsoft SQL Server. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// 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` within the `identity` block is set to either `SystemAssigned, UserAssigned` or `UserAssigned` and should be set at same time as setting `identityIds`.
	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. Changing this forces a new resource to be created.
	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 fully versioned `Key Vault` `Key` URL (e.g. `'https://<YourVaultName>.vault.azure.net/keys/<YourKeyName>/<YourKeyVersion>`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.
	//
	// > **NOTE:** To successfully deploy a `Microsoft SQL Server` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` `tenant`.
	//
	// > **NOTE:**  Cross-tenant `Key Vault` and `Microsoft SQL Server` interactions are not supported. Please see the [product documentation](https://learn.microsoft.com/azure/azure-sql/database/transparent-data-encryption-byok-overview?view=azuresql#requirements-for-configuring-customer-managed-tde) for more information.
	//
	// > **NOTE:** When using a firewall with a `Key Vault`, you must enable the option `Allow trusted Microsoft services to bypass the firewall`.
	TransparentDataEncryptionKeyVaultKeyId pulumi.StringPtrOutput `pulumi:"transparentDataEncryptionKeyVaultKeyId"`
	// The version for the new server. Valid values are: 2.0 (for v11 server) and 12.0 (for v12 server). Changing this forces a new resource to be created.
	Version pulumi.StringOutput `pulumi:"version"`
}

Manages a Microsoft SQL Azure Database Server.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("database-rg"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("mssqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.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
	})
}

```

### Transparent Data Encryption(TDE) With A Customer Managed Key(CMK) During Create

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault"
"github.com/pulumi/pulumi-azure/sdk/v5/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
		}
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "example", &authorization.UserAssignedIdentityArgs{
			Name:              pulumi.String("example-admin"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		// Create a key vault with access policies which allow for the current user to get, list, create, delete, update, recover, purge and getRotationPolicy for the key vault key and also add a key vault access policy for the Microsoft Sql Server instance User Managed Identity to get, wrap, and unwrap key(s)
		exampleKeyVault, err := keyvault.NewKeyVault(ctx, "example", &keyvault.KeyVaultArgs{
			Name:                     pulumi.String("mssqltdeexample"),
			Location:                 example.Location,
			ResourceGroupName:        example.Name,
			EnabledForDiskEncryption: pulumi.Bool(true),
			TenantId:                 exampleUserAssignedIdentity.TenantId,
			SoftDeleteRetentionDays:  pulumi.Int(7),
			PurgeProtectionEnabled:   pulumi.Bool(true),
			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"),
						pulumi.String("GetRotationPolicy"),
					},
				},
				&keyvault.KeyVaultAccessPolicyArgs{
					TenantId: exampleUserAssignedIdentity.TenantId,
					ObjectId: exampleUserAssignedIdentity.PrincipalId,
					KeyPermissions: pulumi.StringArray{
						pulumi.String("Get"),
						pulumi.String("WrapKey"),
						pulumi.String("UnwrapKey"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		exampleKey, err := keyvault.NewKey(ctx, "example", &keyvault.KeyArgs{
			Name:       pulumi.String("example-key"),
			KeyVaultId: exampleKeyVault.ID(),
			KeyType:    pulumi.String("RSA"),
			KeySize:    pulumi.Int(2048),
			KeyOpts: pulumi.StringArray{
				pulumi.String("unwrapKey"),
				pulumi.String("wrapKey"),
			},
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("example-resource"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("Example-Administrator"),
			AdministratorLoginPassword: pulumi.String("Example_Password!"),
			MinimumTlsVersion:          pulumi.String("1.2"),
			AzureadAdministrator: &mssql.ServerAzureadAdministratorArgs{
				LoginUsername: exampleUserAssignedIdentity.Name,
				ObjectId:      exampleUserAssignedIdentity.PrincipalId,
			},
			Identity: &mssql.ServerIdentityArgs{
				Type: pulumi.String("UserAssigned"),
				IdentityIds: pulumi.StringArray{
					exampleUserAssignedIdentity.ID(),
				},
			},
			PrimaryUserAssignedIdentityId:          exampleUserAssignedIdentity.ID(),
			TransparentDataEncryptionKeyVaultKeyId: exampleKey.ID(),
		})
		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. Required unless `azureadAuthenticationOnly` in the `azureadAdministrator` block is `true`. When omitted, Azure will generate a default username which cannot be subsequently changed. 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). Required unless `azureadAuthenticationOnly` in the `azureadAdministrator` block is `true`.
	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
	// 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` , `1.2` and `Disabled`. Defaults to `1.2`.
	//
	// > **NOTE:** The `minimumTlsVersion` is set to `Disabled` means all TLS versions are allowed. After you enforce a version of `minimumTlsVersion`, it's not possible to revert to `Disabled`.
	MinimumTlsVersion pulumi.StringPtrInput
	// The name of the Microsoft SQL Server. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// 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` within the `identity` block is set to either `SystemAssigned, UserAssigned` or `UserAssigned` and should be set at same time as setting `identityIds`.
	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. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The fully versioned `Key Vault` `Key` URL (e.g. `'https://<YourVaultName>.vault.azure.net/keys/<YourKeyName>/<YourKeyVersion>`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.
	//
	// > **NOTE:** To successfully deploy a `Microsoft SQL Server` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` `tenant`.
	//
	// > **NOTE:**  Cross-tenant `Key Vault` and `Microsoft SQL Server` interactions are not supported. Please see the [product documentation](https://learn.microsoft.com/azure/azure-sql/database/transparent-data-encryption-byok-overview?view=azuresql#requirements-for-configuring-customer-managed-tde) for more information.
	//
	// > **NOTE:** When using a firewall with a `Key Vault`, you must enable the option `Allow trusted Microsoft services to bypass the firewall`.
	TransparentDataEncryptionKeyVaultKeyId pulumi.StringPtrInput
	// The version for the new server. Valid values are: 2.0 (for v11 server) and 12.0 (for v12 server). Changing this forces a new resource to be created.
	Version pulumi.StringInput
}

The set of arguments for constructing a 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 (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administratorLogin`). When `true`, the `administratorLogin` and `administratorLoginPassword` properties can be omitted.
	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 (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administratorLogin`). When `true`, the `administratorLogin` and `administratorLoginPassword` properties can be omitted.
	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

func (o ServerAzureadAdministratorOutput) AzureadAuthenticationOnly() pulumi.BoolPtrOutput

Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administratorLogin`). When `true`, the `administratorLogin` and `administratorLoginPassword` properties can be omitted.

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

func (o ServerAzureadAdministratorPtrOutput) AzureadAuthenticationOnly() pulumi.BoolPtrOutput

Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administratorLogin`). When `true`, the `administratorLogin` and `administratorLoginPassword` properties can be omitted.

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 ServerDnsAlias added in v5.8.0

type ServerDnsAlias struct {
	pulumi.CustomResourceState

	// The fully qualified DNS record for alias.
	DnsRecord pulumi.StringOutput `pulumi:"dnsRecord"`
	// The ID of the mssql server. Changing this forces a new MSSQL Server DNS Alias to be created.
	MssqlServerId pulumi.StringOutput `pulumi:"mssqlServerId"`
	// The name which should be used for this MSSQL Server DNS Alias. Changing this forces a new MSSQL Server DNS Alias to be created.
	Name pulumi.StringOutput `pulumi:"name"`
}

Manages a MS SQL Server DNS Alias.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("example-sqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("AdminPassword123!"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewServerDnsAlias(ctx, "example", &mssql.ServerDnsAliasArgs{
			Name:          pulumi.String("example-dns-alias"),
			MssqlServerId: exampleServer.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

MSSQL Server DNS Aliass can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:mssql/serverDnsAlias:ServerDnsAlias example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/dnsAliases/default ```

func GetServerDnsAlias added in v5.8.0

func GetServerDnsAlias(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerDnsAliasState, opts ...pulumi.ResourceOption) (*ServerDnsAlias, error)

GetServerDnsAlias gets an existing ServerDnsAlias 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 NewServerDnsAlias added in v5.8.0

func NewServerDnsAlias(ctx *pulumi.Context,
	name string, args *ServerDnsAliasArgs, opts ...pulumi.ResourceOption) (*ServerDnsAlias, error)

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

func (*ServerDnsAlias) ElementType added in v5.8.0

func (*ServerDnsAlias) ElementType() reflect.Type

func (*ServerDnsAlias) ToServerDnsAliasOutput added in v5.8.0

func (i *ServerDnsAlias) ToServerDnsAliasOutput() ServerDnsAliasOutput

func (*ServerDnsAlias) ToServerDnsAliasOutputWithContext added in v5.8.0

func (i *ServerDnsAlias) ToServerDnsAliasOutputWithContext(ctx context.Context) ServerDnsAliasOutput

type ServerDnsAliasArgs added in v5.8.0

type ServerDnsAliasArgs struct {
	// The ID of the mssql server. Changing this forces a new MSSQL Server DNS Alias to be created.
	MssqlServerId pulumi.StringInput
	// The name which should be used for this MSSQL Server DNS Alias. Changing this forces a new MSSQL Server DNS Alias to be created.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a ServerDnsAlias resource.

func (ServerDnsAliasArgs) ElementType added in v5.8.0

func (ServerDnsAliasArgs) ElementType() reflect.Type

type ServerDnsAliasArray added in v5.8.0

type ServerDnsAliasArray []ServerDnsAliasInput

func (ServerDnsAliasArray) ElementType added in v5.8.0

func (ServerDnsAliasArray) ElementType() reflect.Type

func (ServerDnsAliasArray) ToServerDnsAliasArrayOutput added in v5.8.0

func (i ServerDnsAliasArray) ToServerDnsAliasArrayOutput() ServerDnsAliasArrayOutput

func (ServerDnsAliasArray) ToServerDnsAliasArrayOutputWithContext added in v5.8.0

func (i ServerDnsAliasArray) ToServerDnsAliasArrayOutputWithContext(ctx context.Context) ServerDnsAliasArrayOutput

type ServerDnsAliasArrayInput added in v5.8.0

type ServerDnsAliasArrayInput interface {
	pulumi.Input

	ToServerDnsAliasArrayOutput() ServerDnsAliasArrayOutput
	ToServerDnsAliasArrayOutputWithContext(context.Context) ServerDnsAliasArrayOutput
}

ServerDnsAliasArrayInput is an input type that accepts ServerDnsAliasArray and ServerDnsAliasArrayOutput values. You can construct a concrete instance of `ServerDnsAliasArrayInput` via:

ServerDnsAliasArray{ ServerDnsAliasArgs{...} }

type ServerDnsAliasArrayOutput added in v5.8.0

type ServerDnsAliasArrayOutput struct{ *pulumi.OutputState }

func (ServerDnsAliasArrayOutput) ElementType added in v5.8.0

func (ServerDnsAliasArrayOutput) ElementType() reflect.Type

func (ServerDnsAliasArrayOutput) Index added in v5.8.0

func (ServerDnsAliasArrayOutput) ToServerDnsAliasArrayOutput added in v5.8.0

func (o ServerDnsAliasArrayOutput) ToServerDnsAliasArrayOutput() ServerDnsAliasArrayOutput

func (ServerDnsAliasArrayOutput) ToServerDnsAliasArrayOutputWithContext added in v5.8.0

func (o ServerDnsAliasArrayOutput) ToServerDnsAliasArrayOutputWithContext(ctx context.Context) ServerDnsAliasArrayOutput

type ServerDnsAliasInput added in v5.8.0

type ServerDnsAliasInput interface {
	pulumi.Input

	ToServerDnsAliasOutput() ServerDnsAliasOutput
	ToServerDnsAliasOutputWithContext(ctx context.Context) ServerDnsAliasOutput
}

type ServerDnsAliasMap added in v5.8.0

type ServerDnsAliasMap map[string]ServerDnsAliasInput

func (ServerDnsAliasMap) ElementType added in v5.8.0

func (ServerDnsAliasMap) ElementType() reflect.Type

func (ServerDnsAliasMap) ToServerDnsAliasMapOutput added in v5.8.0

func (i ServerDnsAliasMap) ToServerDnsAliasMapOutput() ServerDnsAliasMapOutput

func (ServerDnsAliasMap) ToServerDnsAliasMapOutputWithContext added in v5.8.0

func (i ServerDnsAliasMap) ToServerDnsAliasMapOutputWithContext(ctx context.Context) ServerDnsAliasMapOutput

type ServerDnsAliasMapInput added in v5.8.0

type ServerDnsAliasMapInput interface {
	pulumi.Input

	ToServerDnsAliasMapOutput() ServerDnsAliasMapOutput
	ToServerDnsAliasMapOutputWithContext(context.Context) ServerDnsAliasMapOutput
}

ServerDnsAliasMapInput is an input type that accepts ServerDnsAliasMap and ServerDnsAliasMapOutput values. You can construct a concrete instance of `ServerDnsAliasMapInput` via:

ServerDnsAliasMap{ "key": ServerDnsAliasArgs{...} }

type ServerDnsAliasMapOutput added in v5.8.0

type ServerDnsAliasMapOutput struct{ *pulumi.OutputState }

func (ServerDnsAliasMapOutput) ElementType added in v5.8.0

func (ServerDnsAliasMapOutput) ElementType() reflect.Type

func (ServerDnsAliasMapOutput) MapIndex added in v5.8.0

func (ServerDnsAliasMapOutput) ToServerDnsAliasMapOutput added in v5.8.0

func (o ServerDnsAliasMapOutput) ToServerDnsAliasMapOutput() ServerDnsAliasMapOutput

func (ServerDnsAliasMapOutput) ToServerDnsAliasMapOutputWithContext added in v5.8.0

func (o ServerDnsAliasMapOutput) ToServerDnsAliasMapOutputWithContext(ctx context.Context) ServerDnsAliasMapOutput

type ServerDnsAliasOutput added in v5.8.0

type ServerDnsAliasOutput struct{ *pulumi.OutputState }

func (ServerDnsAliasOutput) DnsRecord added in v5.8.0

The fully qualified DNS record for alias.

func (ServerDnsAliasOutput) ElementType added in v5.8.0

func (ServerDnsAliasOutput) ElementType() reflect.Type

func (ServerDnsAliasOutput) MssqlServerId added in v5.8.0

func (o ServerDnsAliasOutput) MssqlServerId() pulumi.StringOutput

The ID of the mssql server. Changing this forces a new MSSQL Server DNS Alias to be created.

func (ServerDnsAliasOutput) Name added in v5.8.0

The name which should be used for this MSSQL Server DNS Alias. Changing this forces a new MSSQL Server DNS Alias to be created.

func (ServerDnsAliasOutput) ToServerDnsAliasOutput added in v5.8.0

func (o ServerDnsAliasOutput) ToServerDnsAliasOutput() ServerDnsAliasOutput

func (ServerDnsAliasOutput) ToServerDnsAliasOutputWithContext added in v5.8.0

func (o ServerDnsAliasOutput) ToServerDnsAliasOutputWithContext(ctx context.Context) ServerDnsAliasOutput

type ServerDnsAliasState added in v5.8.0

type ServerDnsAliasState struct {
	// The fully qualified DNS record for alias.
	DnsRecord pulumi.StringPtrInput
	// The ID of the mssql server. Changing this forces a new MSSQL Server DNS Alias to be created.
	MssqlServerId pulumi.StringPtrInput
	// The name which should be used for this MSSQL Server DNS Alias. Changing this forces a new MSSQL Server DNS Alias to be created.
	Name pulumi.StringPtrInput
}

func (ServerDnsAliasState) ElementType added in v5.8.0

func (ServerDnsAliasState) ElementType() reflect.Type

type ServerExtendedAuditingPolicy

type ServerExtendedAuditingPolicy struct {
	pulumi.CustomResourceState

	// A list of Actions-Groups and Actions to audit.
	AuditActionsAndGroups pulumi.StringArrayOutput `pulumi:"auditActionsAndGroups"`
	// Whether to enable the extended auditing policy. Possible values are `true` and `false`. Defaults to `true`.
	//
	// ->**NOTE:**  If `enabled` is `true`, `storageEndpoint` or `logMonitoringEnabled` are required.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor. Defaults to `true`.
	LogMonitoringEnabled pulumi.BoolPtrOutput `pulumi:"logMonitoringEnabled"`
	// Specifies condition of where clause when creating an audit.
	PredicateExpression pulumi.StringPtrOutput `pulumi:"predicateExpression"`
	// The number of days to retain logs for in the storage account. Defaults to `0`.
	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://example.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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("example-sqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("AdminPassword123!"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("examplesa"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewServerExtendedAuditingPolicy(ctx, "example", &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/v5/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		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, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name: pulumi.String("virtnetname-1"),
			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, "example", &network.SubnetArgs{
			Name:               pulumi.String("subnetname-1"),
			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, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("example-sqlserver"),
			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
		}
		_, err = authorization.NewAssignment(ctx, "example", &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.StringPtrOutput),
		})
		if err != nil {
			return err
		}
		_, err = sql.NewVirtualNetworkRule(ctx, "sqlvnetrule", &sql.VirtualNetworkRuleArgs{
			Name:              pulumi.String("sql-vnet-rule"),
			ResourceGroupName: exampleResourceGroup.Name,
			ServerName:        exampleServer.Name,
			SubnetId:          exampleSubnet.ID(),
		})
		if err != nil {
			return err
		}
		_, err = sql.NewFirewallRule(ctx, "example", &sql.FirewallRuleArgs{
			Name:              pulumi.String("FirewallRule1"),
			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, "example", &storage.AccountArgs{
			Name:                       pulumi.String("examplesa"),
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			AccountTier:                pulumi.String("Standard"),
			AccountReplicationType:     pulumi.String("LRS"),
			AccountKind:                pulumi.String("StorageV2"),
			AllowNestedItemsToBePublic: pulumi.Bool(false),
			NetworkRules: &storage.AccountNetworkRulesTypeArgs{
				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, "example", &mssql.ServerExtendedAuditingPolicyArgs{
			StorageEndpoint:              exampleAccount.PrimaryBlobEndpoint,
			ServerId:                     exampleServer.ID(),
			RetentionInDays:              pulumi.Int(6),
			LogMonitoringEnabled:         pulumi.Bool(false),
			StorageAccountSubscriptionId: pulumi.Any(primaryAzurermSubscription.SubscriptionId),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

MS SQL Server Extended Auditing Policies 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 {
	// A list of Actions-Groups and Actions to audit.
	AuditActionsAndGroups pulumi.StringArrayInput
	// Whether to enable the extended auditing policy. Possible values are `true` and `false`. Defaults to `true`.
	//
	// ->**NOTE:**  If `enabled` is `true`, `storageEndpoint` or `logMonitoringEnabled` are required.
	Enabled pulumi.BoolPtrInput
	// Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor. Defaults to `true`.
	LogMonitoringEnabled pulumi.BoolPtrInput
	// Specifies condition of where clause when creating an audit.
	PredicateExpression pulumi.StringPtrInput
	// The number of days to retain logs for in the storage account. Defaults to `0`.
	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://example.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) AuditActionsAndGroups added in v5.71.0

A list of Actions-Groups and Actions to audit.

func (ServerExtendedAuditingPolicyOutput) ElementType

func (ServerExtendedAuditingPolicyOutput) Enabled added in v5.5.0

Whether to enable the extended auditing policy. Possible values are `true` and `false`. Defaults to `true`.

->**NOTE:** If `enabled` is `true`, `storageEndpoint` or `logMonitoringEnabled` are required.

func (ServerExtendedAuditingPolicyOutput) LogMonitoringEnabled added in v5.5.0

func (o ServerExtendedAuditingPolicyOutput) LogMonitoringEnabled() pulumi.BoolPtrOutput

Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor. Defaults to `true`.

func (ServerExtendedAuditingPolicyOutput) PredicateExpression added in v5.71.0

Specifies condition of where clause when creating an audit.

func (ServerExtendedAuditingPolicyOutput) RetentionInDays added in v5.5.0

The number of days to retain logs for in the storage account. Defaults to `0`.

func (ServerExtendedAuditingPolicyOutput) ServerId added in v5.5.0

The ID of the SQL Server to set the extended auditing policy. Changing this forces a new resource to be created.

func (ServerExtendedAuditingPolicyOutput) StorageAccountAccessKey added in v5.5.0

func (o ServerExtendedAuditingPolicyOutput) StorageAccountAccessKey() pulumi.StringPtrOutput

The access key to use for the auditing storage account.

func (ServerExtendedAuditingPolicyOutput) StorageAccountAccessKeyIsSecondary added in v5.5.0

func (o ServerExtendedAuditingPolicyOutput) StorageAccountAccessKeyIsSecondary() pulumi.BoolPtrOutput

Is `storageAccountAccessKey` value the storage's secondary key?

func (ServerExtendedAuditingPolicyOutput) StorageAccountSubscriptionId added in v5.5.0

func (o ServerExtendedAuditingPolicyOutput) StorageAccountSubscriptionId() pulumi.StringPtrOutput

The ID of the Subscription containing the Storage Account.

func (ServerExtendedAuditingPolicyOutput) StorageEndpoint added in v5.5.0

The blob storage endpoint (e.g. <https://example.blob.core.windows.net>). This blob storage will hold all extended auditing logs.

func (ServerExtendedAuditingPolicyOutput) ToServerExtendedAuditingPolicyOutput

func (o ServerExtendedAuditingPolicyOutput) ToServerExtendedAuditingPolicyOutput() ServerExtendedAuditingPolicyOutput

func (ServerExtendedAuditingPolicyOutput) ToServerExtendedAuditingPolicyOutputWithContext

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

type ServerExtendedAuditingPolicyState

type ServerExtendedAuditingPolicyState struct {
	// A list of Actions-Groups and Actions to audit.
	AuditActionsAndGroups pulumi.StringArrayInput
	// Whether to enable the extended auditing policy. Possible values are `true` and `false`. Defaults to `true`.
	//
	// ->**NOTE:**  If `enabled` is `true`, `storageEndpoint` or `logMonitoringEnabled` are required.
	Enabled pulumi.BoolPtrInput
	// Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor. Defaults to `true`.
	LogMonitoringEnabled pulumi.BoolPtrInput
	// Specifies condition of where clause when creating an audit.
	PredicateExpression pulumi.StringPtrInput
	// The number of days to retain logs for in the storage account. Defaults to `0`.
	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://example.blob.core.windows.net>). This blob storage will hold all extended auditing logs.
	StorageEndpoint pulumi.StringPtrInput
}

func (ServerExtendedAuditingPolicyState) ElementType

type ServerIdentity

type ServerIdentity struct {
	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Server.
	//
	// > **NOTE:** This is required when `type` is set to `UserAssigned`
	//
	// > **NOTE:** When `type` is set to `SystemAssigned`, the assigned `principalId` and `tenantId` can be retrieved after the Microsoft SQL Server has been created. More details are available below.
	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 for the Service Principal associated with the Identity of this SQL Server.
	TenantId *string `pulumi:"tenantId"`
	// Specifies the type of Managed Service Identity that should be configured on this SQL Server. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).
	Type string `pulumi:"type"`
}

type ServerIdentityArgs

type ServerIdentityArgs struct {
	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Server.
	//
	// > **NOTE:** This is required when `type` is set to `UserAssigned`
	//
	// > **NOTE:** When `type` is set to `SystemAssigned`, the assigned `principalId` and `tenantId` can be retrieved after the Microsoft SQL Server has been created. More details are available below.
	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 for the Service Principal associated with the Identity of this SQL Server.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
	// Specifies the type of Managed Service Identity that should be configured on this SQL Server. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).
	Type pulumi.StringInput `pulumi:"type"`
}

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

Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Server.

> **NOTE:** This is required when `type` is set to `UserAssigned`

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

func (ServerIdentityOutput) PrincipalId

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

func (ServerIdentityOutput) TenantId

The Tenant ID for the Service Principal associated with the Identity 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 type of Managed Service Identity that should be configured on this SQL Server. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).

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

Specifies a list of User Assigned Managed Identity IDs to be assigned to this SQL Server.

> **NOTE:** This is required when `type` is set to `UserAssigned`

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

func (ServerIdentityPtrOutput) PrincipalId

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

func (ServerIdentityPtrOutput) TenantId

The Tenant ID for the Service Principal associated with the Identity 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 type of Managed Service Identity that should be configured on this SQL Server. Possible values are `SystemAssigned`, `UserAssigned`, `SystemAssigned, UserAssigned` (to enable both).

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 ServerMicrosoftSupportAuditingPolicy added in v5.24.0

type ServerMicrosoftSupportAuditingPolicy struct {
	pulumi.CustomResourceState

	// The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all Microsoft support auditing logs.
	BlobStorageEndpoint pulumi.StringPtrOutput `pulumi:"blobStorageEndpoint"`
	// Whether to enable the extended auditing policy. Possible values are `true` and `false`. Defaults to `true`.
	//
	// ->**NOTE:**  If `enabled` is `true`, `blobStorageEndpoint` or `logMonitoringEnabled` are required.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor. Defaults to `true`.
	LogMonitoringEnabled pulumi.BoolPtrOutput `pulumi:"logMonitoringEnabled"`
	// 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"`
	// The ID of the Subscription containing the Storage Account.
	StorageAccountSubscriptionId pulumi.StringPtrOutput `pulumi:"storageAccountSubscriptionId"`
}

Manages a MS SQL Server Microsoft Support Auditing Policy.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("example-sqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("missadministrator"),
			AdministratorLoginPassword: pulumi.String("AdminPassword123!"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("examplesa"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewServerMicrosoftSupportAuditingPolicy(ctx, "example", &mssql.ServerMicrosoftSupportAuditingPolicyArgs{
			ServerId:                exampleServer.ID(),
			BlobStorageEndpoint:     exampleAccount.PrimaryBlobEndpoint,
			StorageAccountAccessKey: exampleAccount.PrimaryAccessKey,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		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, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name: pulumi.String("virtnetname-1"),
			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, "example", &network.SubnetArgs{
			Name:               pulumi.String("subnetname-1"),
			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, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("example-sqlserver"),
			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
		}
		_, err = authorization.NewAssignment(ctx, "example", &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.StringPtrOutput),
		})
		if err != nil {
			return err
		}
		_, err = sql.NewVirtualNetworkRule(ctx, "sqlvnetrule", &sql.VirtualNetworkRuleArgs{
			Name:              pulumi.String("sql-vnet-rule"),
			ResourceGroupName: exampleResourceGroup.Name,
			ServerName:        exampleServer.Name,
			SubnetId:          exampleSubnet.ID(),
		})
		if err != nil {
			return err
		}
		_, err = sql.NewFirewallRule(ctx, "example", &sql.FirewallRuleArgs{
			Name:              pulumi.String("FirewallRule1"),
			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, "example", &storage.AccountArgs{
			Name:                       pulumi.String("examplesa"),
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			AccountTier:                pulumi.String("Standard"),
			AccountReplicationType:     pulumi.String("LRS"),
			AccountKind:                pulumi.String("StorageV2"),
			AllowNestedItemsToBePublic: pulumi.Bool(false),
			NetworkRules: &storage.AccountNetworkRulesTypeArgs{
				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.NewServerMicrosoftSupportAuditingPolicy(ctx, "example", &mssql.ServerMicrosoftSupportAuditingPolicyArgs{
			BlobStorageEndpoint:          exampleAccount.PrimaryBlobEndpoint,
			ServerId:                     exampleServer.ID(),
			LogMonitoringEnabled:         pulumi.Bool(false),
			StorageAccountSubscriptionId: pulumi.Any(primaryAzurermSubscription.SubscriptionId),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

MS SQL Server Microsoft Support Auditing Policies can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:mssql/serverMicrosoftSupportAuditingPolicy:ServerMicrosoftSupportAuditingPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlServer1/devOpsAuditingSettings/default ```

func GetServerMicrosoftSupportAuditingPolicy added in v5.24.0

func GetServerMicrosoftSupportAuditingPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerMicrosoftSupportAuditingPolicyState, opts ...pulumi.ResourceOption) (*ServerMicrosoftSupportAuditingPolicy, error)

GetServerMicrosoftSupportAuditingPolicy gets an existing ServerMicrosoftSupportAuditingPolicy 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 NewServerMicrosoftSupportAuditingPolicy added in v5.24.0

func NewServerMicrosoftSupportAuditingPolicy(ctx *pulumi.Context,
	name string, args *ServerMicrosoftSupportAuditingPolicyArgs, opts ...pulumi.ResourceOption) (*ServerMicrosoftSupportAuditingPolicy, error)

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

func (*ServerMicrosoftSupportAuditingPolicy) ElementType added in v5.24.0

func (*ServerMicrosoftSupportAuditingPolicy) ToServerMicrosoftSupportAuditingPolicyOutput added in v5.24.0

func (i *ServerMicrosoftSupportAuditingPolicy) ToServerMicrosoftSupportAuditingPolicyOutput() ServerMicrosoftSupportAuditingPolicyOutput

func (*ServerMicrosoftSupportAuditingPolicy) ToServerMicrosoftSupportAuditingPolicyOutputWithContext added in v5.24.0

func (i *ServerMicrosoftSupportAuditingPolicy) ToServerMicrosoftSupportAuditingPolicyOutputWithContext(ctx context.Context) ServerMicrosoftSupportAuditingPolicyOutput

type ServerMicrosoftSupportAuditingPolicyArgs added in v5.24.0

type ServerMicrosoftSupportAuditingPolicyArgs struct {
	// The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all Microsoft support auditing logs.
	BlobStorageEndpoint pulumi.StringPtrInput
	// Whether to enable the extended auditing policy. Possible values are `true` and `false`. Defaults to `true`.
	//
	// ->**NOTE:**  If `enabled` is `true`, `blobStorageEndpoint` or `logMonitoringEnabled` are required.
	Enabled pulumi.BoolPtrInput
	// Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor. Defaults to `true`.
	LogMonitoringEnabled pulumi.BoolPtrInput
	// 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
	// The ID of the Subscription containing the Storage Account.
	StorageAccountSubscriptionId pulumi.StringPtrInput
}

The set of arguments for constructing a ServerMicrosoftSupportAuditingPolicy resource.

func (ServerMicrosoftSupportAuditingPolicyArgs) ElementType added in v5.24.0

type ServerMicrosoftSupportAuditingPolicyArray added in v5.24.0

type ServerMicrosoftSupportAuditingPolicyArray []ServerMicrosoftSupportAuditingPolicyInput

func (ServerMicrosoftSupportAuditingPolicyArray) ElementType added in v5.24.0

func (ServerMicrosoftSupportAuditingPolicyArray) ToServerMicrosoftSupportAuditingPolicyArrayOutput added in v5.24.0

func (i ServerMicrosoftSupportAuditingPolicyArray) ToServerMicrosoftSupportAuditingPolicyArrayOutput() ServerMicrosoftSupportAuditingPolicyArrayOutput

func (ServerMicrosoftSupportAuditingPolicyArray) ToServerMicrosoftSupportAuditingPolicyArrayOutputWithContext added in v5.24.0

func (i ServerMicrosoftSupportAuditingPolicyArray) ToServerMicrosoftSupportAuditingPolicyArrayOutputWithContext(ctx context.Context) ServerMicrosoftSupportAuditingPolicyArrayOutput

type ServerMicrosoftSupportAuditingPolicyArrayInput added in v5.24.0

type ServerMicrosoftSupportAuditingPolicyArrayInput interface {
	pulumi.Input

	ToServerMicrosoftSupportAuditingPolicyArrayOutput() ServerMicrosoftSupportAuditingPolicyArrayOutput
	ToServerMicrosoftSupportAuditingPolicyArrayOutputWithContext(context.Context) ServerMicrosoftSupportAuditingPolicyArrayOutput
}

ServerMicrosoftSupportAuditingPolicyArrayInput is an input type that accepts ServerMicrosoftSupportAuditingPolicyArray and ServerMicrosoftSupportAuditingPolicyArrayOutput values. You can construct a concrete instance of `ServerMicrosoftSupportAuditingPolicyArrayInput` via:

ServerMicrosoftSupportAuditingPolicyArray{ ServerMicrosoftSupportAuditingPolicyArgs{...} }

type ServerMicrosoftSupportAuditingPolicyArrayOutput added in v5.24.0

type ServerMicrosoftSupportAuditingPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServerMicrosoftSupportAuditingPolicyArrayOutput) ElementType added in v5.24.0

func (ServerMicrosoftSupportAuditingPolicyArrayOutput) Index added in v5.24.0

func (ServerMicrosoftSupportAuditingPolicyArrayOutput) ToServerMicrosoftSupportAuditingPolicyArrayOutput added in v5.24.0

func (o ServerMicrosoftSupportAuditingPolicyArrayOutput) ToServerMicrosoftSupportAuditingPolicyArrayOutput() ServerMicrosoftSupportAuditingPolicyArrayOutput

func (ServerMicrosoftSupportAuditingPolicyArrayOutput) ToServerMicrosoftSupportAuditingPolicyArrayOutputWithContext added in v5.24.0

func (o ServerMicrosoftSupportAuditingPolicyArrayOutput) ToServerMicrosoftSupportAuditingPolicyArrayOutputWithContext(ctx context.Context) ServerMicrosoftSupportAuditingPolicyArrayOutput

type ServerMicrosoftSupportAuditingPolicyInput added in v5.24.0

type ServerMicrosoftSupportAuditingPolicyInput interface {
	pulumi.Input

	ToServerMicrosoftSupportAuditingPolicyOutput() ServerMicrosoftSupportAuditingPolicyOutput
	ToServerMicrosoftSupportAuditingPolicyOutputWithContext(ctx context.Context) ServerMicrosoftSupportAuditingPolicyOutput
}

type ServerMicrosoftSupportAuditingPolicyMap added in v5.24.0

type ServerMicrosoftSupportAuditingPolicyMap map[string]ServerMicrosoftSupportAuditingPolicyInput

func (ServerMicrosoftSupportAuditingPolicyMap) ElementType added in v5.24.0

func (ServerMicrosoftSupportAuditingPolicyMap) ToServerMicrosoftSupportAuditingPolicyMapOutput added in v5.24.0

func (i ServerMicrosoftSupportAuditingPolicyMap) ToServerMicrosoftSupportAuditingPolicyMapOutput() ServerMicrosoftSupportAuditingPolicyMapOutput

func (ServerMicrosoftSupportAuditingPolicyMap) ToServerMicrosoftSupportAuditingPolicyMapOutputWithContext added in v5.24.0

func (i ServerMicrosoftSupportAuditingPolicyMap) ToServerMicrosoftSupportAuditingPolicyMapOutputWithContext(ctx context.Context) ServerMicrosoftSupportAuditingPolicyMapOutput

type ServerMicrosoftSupportAuditingPolicyMapInput added in v5.24.0

type ServerMicrosoftSupportAuditingPolicyMapInput interface {
	pulumi.Input

	ToServerMicrosoftSupportAuditingPolicyMapOutput() ServerMicrosoftSupportAuditingPolicyMapOutput
	ToServerMicrosoftSupportAuditingPolicyMapOutputWithContext(context.Context) ServerMicrosoftSupportAuditingPolicyMapOutput
}

ServerMicrosoftSupportAuditingPolicyMapInput is an input type that accepts ServerMicrosoftSupportAuditingPolicyMap and ServerMicrosoftSupportAuditingPolicyMapOutput values. You can construct a concrete instance of `ServerMicrosoftSupportAuditingPolicyMapInput` via:

ServerMicrosoftSupportAuditingPolicyMap{ "key": ServerMicrosoftSupportAuditingPolicyArgs{...} }

type ServerMicrosoftSupportAuditingPolicyMapOutput added in v5.24.0

type ServerMicrosoftSupportAuditingPolicyMapOutput struct{ *pulumi.OutputState }

func (ServerMicrosoftSupportAuditingPolicyMapOutput) ElementType added in v5.24.0

func (ServerMicrosoftSupportAuditingPolicyMapOutput) MapIndex added in v5.24.0

func (ServerMicrosoftSupportAuditingPolicyMapOutput) ToServerMicrosoftSupportAuditingPolicyMapOutput added in v5.24.0

func (o ServerMicrosoftSupportAuditingPolicyMapOutput) ToServerMicrosoftSupportAuditingPolicyMapOutput() ServerMicrosoftSupportAuditingPolicyMapOutput

func (ServerMicrosoftSupportAuditingPolicyMapOutput) ToServerMicrosoftSupportAuditingPolicyMapOutputWithContext added in v5.24.0

func (o ServerMicrosoftSupportAuditingPolicyMapOutput) ToServerMicrosoftSupportAuditingPolicyMapOutputWithContext(ctx context.Context) ServerMicrosoftSupportAuditingPolicyMapOutput

type ServerMicrosoftSupportAuditingPolicyOutput added in v5.24.0

type ServerMicrosoftSupportAuditingPolicyOutput struct{ *pulumi.OutputState }

func (ServerMicrosoftSupportAuditingPolicyOutput) BlobStorageEndpoint added in v5.24.0

The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all Microsoft support auditing logs.

func (ServerMicrosoftSupportAuditingPolicyOutput) ElementType added in v5.24.0

func (ServerMicrosoftSupportAuditingPolicyOutput) Enabled added in v5.24.0

Whether to enable the extended auditing policy. Possible values are `true` and `false`. Defaults to `true`.

->**NOTE:** If `enabled` is `true`, `blobStorageEndpoint` or `logMonitoringEnabled` are required.

func (ServerMicrosoftSupportAuditingPolicyOutput) LogMonitoringEnabled added in v5.24.0

Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor. Defaults to `true`.

func (ServerMicrosoftSupportAuditingPolicyOutput) ServerId added in v5.24.0

The ID of the SQL Server to set the extended auditing policy. Changing this forces a new resource to be created.

func (ServerMicrosoftSupportAuditingPolicyOutput) StorageAccountAccessKey added in v5.24.0

The access key to use for the auditing storage account.

func (ServerMicrosoftSupportAuditingPolicyOutput) StorageAccountSubscriptionId added in v5.24.0

func (o ServerMicrosoftSupportAuditingPolicyOutput) StorageAccountSubscriptionId() pulumi.StringPtrOutput

The ID of the Subscription containing the Storage Account.

func (ServerMicrosoftSupportAuditingPolicyOutput) ToServerMicrosoftSupportAuditingPolicyOutput added in v5.24.0

func (o ServerMicrosoftSupportAuditingPolicyOutput) ToServerMicrosoftSupportAuditingPolicyOutput() ServerMicrosoftSupportAuditingPolicyOutput

func (ServerMicrosoftSupportAuditingPolicyOutput) ToServerMicrosoftSupportAuditingPolicyOutputWithContext added in v5.24.0

func (o ServerMicrosoftSupportAuditingPolicyOutput) ToServerMicrosoftSupportAuditingPolicyOutputWithContext(ctx context.Context) ServerMicrosoftSupportAuditingPolicyOutput

type ServerMicrosoftSupportAuditingPolicyState added in v5.24.0

type ServerMicrosoftSupportAuditingPolicyState struct {
	// The blob storage endpoint (e.g. https://example.blob.core.windows.net). This blob storage will hold all Microsoft support auditing logs.
	BlobStorageEndpoint pulumi.StringPtrInput
	// Whether to enable the extended auditing policy. Possible values are `true` and `false`. Defaults to `true`.
	//
	// ->**NOTE:**  If `enabled` is `true`, `blobStorageEndpoint` or `logMonitoringEnabled` are required.
	Enabled pulumi.BoolPtrInput
	// Enable audit events to Azure Monitor? To enable server audit events to Azure Monitor, please enable its main database audit events to Azure Monitor. Defaults to `true`.
	LogMonitoringEnabled pulumi.BoolPtrInput
	// 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
	// The ID of the Subscription containing the Storage Account.
	StorageAccountSubscriptionId pulumi.StringPtrInput
}

func (ServerMicrosoftSupportAuditingPolicyState) ElementType added in v5.24.0

type ServerOutput

type ServerOutput struct{ *pulumi.OutputState }

func (ServerOutput) AdministratorLogin added in v5.5.0

func (o ServerOutput) AdministratorLogin() pulumi.StringOutput

The administrator login name for the new server. Required unless `azureadAuthenticationOnly` in the `azureadAdministrator` block is `true`. When omitted, Azure will generate a default username which cannot be subsequently changed. Changing this forces a new resource to be created.

func (ServerOutput) AdministratorLoginPassword added in v5.5.0

func (o ServerOutput) AdministratorLoginPassword() pulumi.StringPtrOutput

The password associated with the `administratorLogin` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx). Required unless `azureadAuthenticationOnly` in the `azureadAdministrator` block is `true`.

func (ServerOutput) AzureadAdministrator added in v5.5.0

func (o ServerOutput) AzureadAdministrator() ServerAzureadAdministratorPtrOutput

An `azureadAdministrator` block as defined below.

func (ServerOutput) ConnectionPolicy added in v5.5.0

func (o ServerOutput) ConnectionPolicy() pulumi.StringPtrOutput

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

func (ServerOutput) ElementType

func (ServerOutput) ElementType() reflect.Type

func (ServerOutput) FullyQualifiedDomainName added in v5.5.0

func (o ServerOutput) FullyQualifiedDomainName() pulumi.StringOutput

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

func (ServerOutput) Identity added in v5.5.0

An `identity` block as defined below.

func (ServerOutput) Location added in v5.5.0

func (o ServerOutput) Location() pulumi.StringOutput

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

func (ServerOutput) MinimumTlsVersion added in v5.5.0

func (o ServerOutput) MinimumTlsVersion() pulumi.StringPtrOutput

The Minimum TLS Version for all SQL Database and SQL Data Warehouse databases associated with the server. Valid values are: `1.0`, `1.1` , `1.2` and `Disabled`. Defaults to `1.2`.

> **NOTE:** The `minimumTlsVersion` is set to `Disabled` means all TLS versions are allowed. After you enforce a version of `minimumTlsVersion`, it's not possible to revert to `Disabled`.

func (ServerOutput) Name added in v5.5.0

func (o ServerOutput) Name() pulumi.StringOutput

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

func (ServerOutput) OutboundNetworkRestrictionEnabled added in v5.5.0

func (o ServerOutput) OutboundNetworkRestrictionEnabled() pulumi.BoolPtrOutput

Whether outbound network traffic is restricted for this server. Defaults to `false`.

func (ServerOutput) PrimaryUserAssignedIdentityId added in v5.5.0

func (o ServerOutput) PrimaryUserAssignedIdentityId() pulumi.StringOutput

Specifies the primary user managed identity id. Required if `type` within the `identity` block is set to either `SystemAssigned, UserAssigned` or `UserAssigned` and should be set at same time as setting `identityIds`.

func (ServerOutput) PublicNetworkAccessEnabled added in v5.5.0

func (o ServerOutput) PublicNetworkAccessEnabled() pulumi.BoolPtrOutput

Whether public network access is allowed for this server. Defaults to `true`.

func (ServerOutput) ResourceGroupName added in v5.5.0

func (o ServerOutput) ResourceGroupName() pulumi.StringOutput

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

func (ServerOutput) RestorableDroppedDatabaseIds added in v5.5.0

func (o ServerOutput) RestorableDroppedDatabaseIds() pulumi.StringArrayOutput

A list of dropped restorable database IDs on the server.

func (ServerOutput) Tags added in v5.5.0

A mapping of tags to assign to the resource.

func (ServerOutput) ToServerOutput

func (o ServerOutput) ToServerOutput() ServerOutput

func (ServerOutput) ToServerOutputWithContext

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

func (ServerOutput) TransparentDataEncryptionKeyVaultKeyId added in v5.44.0

func (o ServerOutput) TransparentDataEncryptionKeyVaultKeyId() pulumi.StringPtrOutput

The fully versioned `Key Vault` `Key` URL (e.g. `'https://<YourVaultName>.vault.azure.net/keys/<YourKeyName>/<YourKeyVersion>`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.

> **NOTE:** To successfully deploy a `Microsoft SQL Server` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` `tenant`.

> **NOTE:** Cross-tenant `Key Vault` and `Microsoft SQL Server` interactions are not supported. Please see the [product documentation](https://learn.microsoft.com/azure/azure-sql/database/transparent-data-encryption-byok-overview?view=azuresql#requirements-for-configuring-customer-managed-tde) for more information.

> **NOTE:** When using a firewall with a `Key Vault`, you must enable the option `Allow trusted Microsoft services to bypass the firewall`.

func (ServerOutput) Version added in v5.5.0

func (o ServerOutput) Version() pulumi.StringOutput

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

type 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 email 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. Possible values are `Disabled`, `Enabled` and `New`.
	State pulumi.StringOutput `pulumi:"state"`
	// Specifies the identifier key of the Threat Detection audit storage account. This is mandatory when you use `storageEndpoint` to specify a storage account blob endpoint.
	//
	// > **NOTE:**  Please note that storage accounts configured with `sharedAccessKeyEnabled = false` cannot be used to configure `mssql.ServerSecurityAlertPolicy` with `storageEndpoint` for now.
	StorageAccountAccessKey pulumi.StringPtrOutput `pulumi:"storageAccountAccessKey"`
	// Specifies the blob storage endpoint (e.g. <https://example.blob.core.windows.net>). This blob storage will hold all Threat Detection audit logs.
	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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleSqlServer, err := sql.NewSqlServer(ctx, "example", &sql.SqlServerArgs{
			Name:                       pulumi.String("mysqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("accteststorageaccount"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("GRS"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewServerSecurityAlertPolicy(ctx, "example", &mssql.ServerSecurityAlertPolicyArgs{
			ResourceGroupName:       example.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 email 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. Possible values are `Disabled`, `Enabled` and `New`.
	State pulumi.StringInput
	// Specifies the identifier key of the Threat Detection audit storage account. This is mandatory when you use `storageEndpoint` to specify a storage account blob endpoint.
	//
	// > **NOTE:**  Please note that storage accounts configured with `sharedAccessKeyEnabled = false` cannot be used to configure `mssql.ServerSecurityAlertPolicy` with `storageEndpoint` for now.
	StorageAccountAccessKey pulumi.StringPtrInput
	// Specifies the blob storage endpoint (e.g. <https://example.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) DisabledAlerts added in v5.5.0

Specifies an array of alerts that are disabled. Allowed values are: `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration`, `Unsafe_Action`.

func (ServerSecurityAlertPolicyOutput) ElementType

func (ServerSecurityAlertPolicyOutput) EmailAccountAdmins added in v5.5.0

func (o ServerSecurityAlertPolicyOutput) EmailAccountAdmins() pulumi.BoolPtrOutput

Boolean flag which specifies if the alert is sent to the account administrators or not. Defaults to `false`.

func (ServerSecurityAlertPolicyOutput) EmailAddresses added in v5.5.0

Specifies an array of email addresses to which the alert is sent.

func (ServerSecurityAlertPolicyOutput) ResourceGroupName added in v5.5.0

func (o ServerSecurityAlertPolicyOutput) ResourceGroupName() pulumi.StringOutput

The name of the resource group that contains the MS SQL Server. Changing this forces a new resource to be created.

func (ServerSecurityAlertPolicyOutput) RetentionDays added in v5.5.0

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

func (ServerSecurityAlertPolicyOutput) ServerName added in v5.5.0

Specifies the name of the MS SQL Server. Changing this forces a new resource to be created.

func (ServerSecurityAlertPolicyOutput) State added in v5.5.0

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. Possible values are `Disabled`, `Enabled` and `New`.

func (ServerSecurityAlertPolicyOutput) StorageAccountAccessKey added in v5.5.0

func (o ServerSecurityAlertPolicyOutput) StorageAccountAccessKey() pulumi.StringPtrOutput

Specifies the identifier key of the Threat Detection audit storage account. This is mandatory when you use `storageEndpoint` to specify a storage account blob endpoint.

> **NOTE:** Please note that storage accounts configured with `sharedAccessKeyEnabled = false` cannot be used to configure `mssql.ServerSecurityAlertPolicy` with `storageEndpoint` for now.

func (ServerSecurityAlertPolicyOutput) StorageEndpoint added in v5.5.0

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

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 email 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. Possible values are `Disabled`, `Enabled` and `New`.
	State pulumi.StringPtrInput
	// Specifies the identifier key of the Threat Detection audit storage account. This is mandatory when you use `storageEndpoint` to specify a storage account blob endpoint.
	//
	// > **NOTE:**  Please note that storage accounts configured with `sharedAccessKeyEnabled = false` cannot be used to configure `mssql.ServerSecurityAlertPolicy` with `storageEndpoint` for now.
	StorageAccountAccessKey pulumi.StringPtrInput
	// Specifies the blob storage endpoint (e.g. <https://example.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. Required unless `azureadAuthenticationOnly` in the `azureadAdministrator` block is `true`. When omitted, Azure will generate a default username which cannot be subsequently changed. 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). Required unless `azureadAuthenticationOnly` in the `azureadAdministrator` block is `true`.
	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
	// 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` , `1.2` and `Disabled`. Defaults to `1.2`.
	//
	// > **NOTE:** The `minimumTlsVersion` is set to `Disabled` means all TLS versions are allowed. After you enforce a version of `minimumTlsVersion`, it's not possible to revert to `Disabled`.
	MinimumTlsVersion pulumi.StringPtrInput
	// The name of the Microsoft SQL Server. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// 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` within the `identity` block is set to either `SystemAssigned, UserAssigned` or `UserAssigned` and should be set at same time as setting `identityIds`.
	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. Changing this forces a new resource to be created.
	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 fully versioned `Key Vault` `Key` URL (e.g. `'https://<YourVaultName>.vault.azure.net/keys/<YourKeyName>/<YourKeyVersion>`) to be used as the `Customer Managed Key`(CMK/BYOK) for the `Transparent Data Encryption`(TDE) layer.
	//
	// > **NOTE:** To successfully deploy a `Microsoft SQL Server` in CMK/BYOK TDE the `Key Vault` must have `Soft-delete` and `purge protection` enabled to protect from data loss due to accidental key and/or key vault deletion. The `Key Vault` and the `Microsoft SQL Server` `User Managed Identity Instance` must belong to the same `Azure Active Directory` `tenant`.
	//
	// > **NOTE:**  Cross-tenant `Key Vault` and `Microsoft SQL Server` interactions are not supported. Please see the [product documentation](https://learn.microsoft.com/azure/azure-sql/database/transparent-data-encryption-byok-overview?view=azuresql#requirements-for-configuring-customer-managed-tde) for more information.
	//
	// > **NOTE:** When using a firewall with a `Key Vault`, you must enable the option `Allow trusted Microsoft services to bypass the firewall`.
	TransparentDataEncryptionKeyVaultKeyId pulumi.StringPtrInput
	// The version for the new server. Valid values are: 2.0 (for v11 server) and 12.0 (for v12 server). Changing this forces a new resource to be created.
	Version pulumi.StringPtrInput
}

func (ServerState) ElementType

func (ServerState) ElementType() reflect.Type

type ServerTransparentDataEncryption

type ServerTransparentDataEncryption struct {
	pulumi.CustomResourceState

	// When enabled, the server will continuously check the key vault for any new versions of the key being used as the TDE protector. If a new version of the key is detected, the TDE protector on the server will be automatically rotated to the latest key version within 60 minutes.
	AutoRotationEnabled pulumi.BoolPtrOutput `pulumi:"autoRotationEnabled"`
	// To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.
	//
	// > **NOTE:** In order to use customer managed keys, the identity of the MSSQL server must have the following permissions on the key vault: 'get', 'wrapKey' and 'unwrapKey'
	//
	// > **NOTE:** If `serverId` denotes a secondary server deployed for disaster recovery purposes, then the `keyVaultKeyId` should be the same key used for the primary server's transparent data encryption. Both primary and secondary servers should be encrypted with same key material.
	KeyVaultKeyId pulumi.StringPtrOutput `pulumi:"keyVaultKeyId"`
	// Specifies the name of the MS SQL Server. Changing this forces a new resource to be created.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
}

Manages the transparent data encryption configuration for a MSSQL Server

!> **IMPORTANT:** This resource should only be used with pre-existing MS SQL Instances that are over 2 years old. For new MS SQL Instances that will be created through the use of the `mssql.Server` resource, please enable Transparent Data Encryption through `mssql.Server` resource itself by configuring an identity block. By default all new MS SQL Instances are deployed with System Managed Transparent Data Encryption enabled.

> **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/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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("EastUs"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("mssqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.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
		}
		_, err = mssql.NewServerTransparentDataEncryption(ctx, "example", &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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault"
"github.com/pulumi/pulumi-azure/sdk/v5/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
		}
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("EastUs"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("mssqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.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"),
			},
			Identity: &mssql.ServerIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		// Create a key vault with policies for the deployer to create a key & SQL Server to wrap/unwrap/get key
		exampleKeyVault, err := keyvault.NewKeyVault(ctx, "example", &keyvault.KeyVaultArgs{
			Name:                     pulumi.String("example"),
			Location:                 example.Location,
			ResourceGroupName:        example.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"),
						pulumi.String("GetRotationPolicy"),
					},
				},
				&keyvault.KeyVaultAccessPolicyArgs{
					TenantId: exampleServer.Identity.ApplyT(func(identity mssql.ServerIdentity) (*string, error) {
						return &identity.TenantId, nil
					}).(pulumi.StringPtrOutput),
					ObjectId: exampleServer.Identity.ApplyT(func(identity mssql.ServerIdentity) (*string, error) {
						return &identity.PrincipalId, nil
					}).(pulumi.StringPtrOutput),
					KeyPermissions: pulumi.StringArray{
						pulumi.String("Get"),
						pulumi.String("WrapKey"),
						pulumi.String("UnwrapKey"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		exampleKey, err := keyvault.NewKey(ctx, "example", &keyvault.KeyArgs{
			Name:       pulumi.String("byok"),
			KeyVaultId: exampleKeyVault.ID(),
			KeyType:    pulumi.String("RSA"),
			KeySize:    pulumi.Int(2048),
			KeyOpts: pulumi.StringArray{
				pulumi.String("unwrapKey"),
				pulumi.String("wrapKey"),
			},
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewServerTransparentDataEncryption(ctx, "example", &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

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

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

func (*ServerTransparentDataEncryption) ToServerTransparentDataEncryptionOutput

func (i *ServerTransparentDataEncryption) ToServerTransparentDataEncryptionOutput() ServerTransparentDataEncryptionOutput

func (*ServerTransparentDataEncryption) ToServerTransparentDataEncryptionOutputWithContext

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

type ServerTransparentDataEncryptionArgs

type ServerTransparentDataEncryptionArgs struct {
	// When enabled, the server will continuously check the key vault for any new versions of the key being used as the TDE protector. If a new version of the key is detected, the TDE protector on the server will be automatically rotated to the latest key version within 60 minutes.
	AutoRotationEnabled pulumi.BoolPtrInput
	// To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.
	//
	// > **NOTE:** In order to use customer managed keys, the identity of the MSSQL server must have the following permissions on the key vault: 'get', 'wrapKey' and 'unwrapKey'
	//
	// > **NOTE:** If `serverId` denotes a secondary server deployed for disaster recovery purposes, then the `keyVaultKeyId` should be the same key used for the primary server's transparent data encryption. Both primary and secondary servers should be encrypted with same key material.
	KeyVaultKeyId pulumi.StringPtrInput
	// Specifies the name of the MS SQL Server. Changing this forces a new resource to be created.
	ServerId pulumi.StringInput
}

The set of arguments for constructing a ServerTransparentDataEncryption resource.

func (ServerTransparentDataEncryptionArgs) ElementType

type ServerTransparentDataEncryptionArray

type ServerTransparentDataEncryptionArray []ServerTransparentDataEncryptionInput

func (ServerTransparentDataEncryptionArray) ElementType

func (ServerTransparentDataEncryptionArray) ToServerTransparentDataEncryptionArrayOutput

func (i ServerTransparentDataEncryptionArray) ToServerTransparentDataEncryptionArrayOutput() ServerTransparentDataEncryptionArrayOutput

func (ServerTransparentDataEncryptionArray) ToServerTransparentDataEncryptionArrayOutputWithContext

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

type ServerTransparentDataEncryptionArrayInput

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

type ServerTransparentDataEncryptionArrayOutput struct{ *pulumi.OutputState }

func (ServerTransparentDataEncryptionArrayOutput) ElementType

func (ServerTransparentDataEncryptionArrayOutput) Index

func (ServerTransparentDataEncryptionArrayOutput) ToServerTransparentDataEncryptionArrayOutput

func (o ServerTransparentDataEncryptionArrayOutput) ToServerTransparentDataEncryptionArrayOutput() ServerTransparentDataEncryptionArrayOutput

func (ServerTransparentDataEncryptionArrayOutput) ToServerTransparentDataEncryptionArrayOutputWithContext

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

type ServerTransparentDataEncryptionInput

type ServerTransparentDataEncryptionInput interface {
	pulumi.Input

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

type ServerTransparentDataEncryptionMap

type ServerTransparentDataEncryptionMap map[string]ServerTransparentDataEncryptionInput

func (ServerTransparentDataEncryptionMap) ElementType

func (ServerTransparentDataEncryptionMap) ToServerTransparentDataEncryptionMapOutput

func (i ServerTransparentDataEncryptionMap) ToServerTransparentDataEncryptionMapOutput() ServerTransparentDataEncryptionMapOutput

func (ServerTransparentDataEncryptionMap) ToServerTransparentDataEncryptionMapOutputWithContext

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

type ServerTransparentDataEncryptionMapInput

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

type ServerTransparentDataEncryptionMapOutput struct{ *pulumi.OutputState }

func (ServerTransparentDataEncryptionMapOutput) ElementType

func (ServerTransparentDataEncryptionMapOutput) MapIndex

func (ServerTransparentDataEncryptionMapOutput) ToServerTransparentDataEncryptionMapOutput

func (o ServerTransparentDataEncryptionMapOutput) ToServerTransparentDataEncryptionMapOutput() ServerTransparentDataEncryptionMapOutput

func (ServerTransparentDataEncryptionMapOutput) ToServerTransparentDataEncryptionMapOutputWithContext

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

type ServerTransparentDataEncryptionOutput

type ServerTransparentDataEncryptionOutput struct{ *pulumi.OutputState }

func (ServerTransparentDataEncryptionOutput) AutoRotationEnabled added in v5.24.0

When enabled, the server will continuously check the key vault for any new versions of the key being used as the TDE protector. If a new version of the key is detected, the TDE protector on the server will be automatically rotated to the latest key version within 60 minutes.

func (ServerTransparentDataEncryptionOutput) ElementType

func (ServerTransparentDataEncryptionOutput) KeyVaultKeyId added in v5.5.0

To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.

> **NOTE:** In order to use customer managed keys, the identity of the MSSQL server must have the following permissions on the key vault: 'get', 'wrapKey' and 'unwrapKey'

> **NOTE:** If `serverId` denotes a secondary server deployed for disaster recovery purposes, then the `keyVaultKeyId` should be the same key used for the primary server's transparent data encryption. Both primary and secondary servers should be encrypted with same key material.

func (ServerTransparentDataEncryptionOutput) ServerId added in v5.5.0

Specifies the name of the MS SQL Server. Changing this forces a new resource to be created.

func (ServerTransparentDataEncryptionOutput) ToServerTransparentDataEncryptionOutput

func (o ServerTransparentDataEncryptionOutput) ToServerTransparentDataEncryptionOutput() ServerTransparentDataEncryptionOutput

func (ServerTransparentDataEncryptionOutput) ToServerTransparentDataEncryptionOutputWithContext

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

type ServerTransparentDataEncryptionState

type ServerTransparentDataEncryptionState struct {
	// When enabled, the server will continuously check the key vault for any new versions of the key being used as the TDE protector. If a new version of the key is detected, the TDE protector on the server will be automatically rotated to the latest key version within 60 minutes.
	AutoRotationEnabled pulumi.BoolPtrInput
	// To use customer managed keys from Azure Key Vault, provide the AKV Key ID. To use service managed keys, omit this field.
	//
	// > **NOTE:** In order to use customer managed keys, the identity of the MSSQL server must have the following permissions on the key vault: 'get', 'wrapKey' and 'unwrapKey'
	//
	// > **NOTE:** If `serverId` denotes a secondary server deployed for disaster recovery purposes, then the `keyVaultKeyId` should be the same key used for the primary server's transparent data encryption. Both primary and secondary servers should be encrypted with same key material.
	KeyVaultKeyId pulumi.StringPtrInput
	// Specifies the name of the MS SQL Server. Changing this forces a new resource to be created.
	ServerId pulumi.StringPtrInput
}

func (ServerTransparentDataEncryptionState) ElementType

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.
	//
	// > **NOTE** The `storageAccountAccessKey` only applies if the storage account is not behind a virtual network or a firewall.
	StorageAccountAccessKey pulumi.StringPtrOutput `pulumi:"storageAccountAccessKey"`
	// A blob storage container path to hold the scan results (e.g. <https://example.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.
	//
	// > **NOTE** The `storageContainerSasKey` only applies if the storage account is not behind a virtual network or a firewall.
	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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("mysqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("accteststorageaccount"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("GRS"),
		})
		if err != nil {
			return err
		}
		exampleContainer, err := storage.NewContainer(ctx, "example", &storage.ContainerArgs{
			Name:                pulumi.String("accteststoragecontainer"),
			StorageAccountName:  exampleAccount.Name,
			ContainerAccessType: pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		exampleServerSecurityAlertPolicy, err := mssql.NewServerSecurityAlertPolicy(ctx, "example", &mssql.ServerSecurityAlertPolicyArgs{
			ResourceGroupName: example.Name,
			ServerName:        exampleServer.Name,
			State:             pulumi.String("Enabled"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewServerVulnerabilityAssessment(ctx, "example", &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/", 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.
	//
	// > **NOTE** The `storageAccountAccessKey` only applies if the storage account is not behind a virtual network or a firewall.
	StorageAccountAccessKey pulumi.StringPtrInput
	// A blob storage container path to hold the scan results (e.g. <https://example.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.
	//
	// > **NOTE** The `storageContainerSasKey` only applies if the storage account is not behind a virtual network or a firewall.
	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) RecurringScans added in v5.5.0

The recurring scans settings. The `recurringScans` block supports fields documented below.

func (ServerVulnerabilityAssessmentOutput) ServerSecurityAlertPolicyId added in v5.5.0

func (o ServerVulnerabilityAssessmentOutput) ServerSecurityAlertPolicyId() pulumi.StringOutput

The id of the security alert policy of the MS SQL Server. Changing this forces a new resource to be created.

func (ServerVulnerabilityAssessmentOutput) StorageAccountAccessKey added in v5.5.0

func (o ServerVulnerabilityAssessmentOutput) StorageAccountAccessKey() pulumi.StringPtrOutput

Specifies the identifier key of the storage account for vulnerability assessment scan results. If `storageContainerSasKey` isn't specified, `storageAccountAccessKey` is required.

> **NOTE** The `storageAccountAccessKey` only applies if the storage account is not behind a virtual network or a firewall.

func (ServerVulnerabilityAssessmentOutput) StorageContainerPath added in v5.5.0

func (o ServerVulnerabilityAssessmentOutput) StorageContainerPath() pulumi.StringOutput

A blob storage container path to hold the scan results (e.g. <https://example.blob.core.windows.net/VaScans/>).

func (ServerVulnerabilityAssessmentOutput) StorageContainerSasKey added in v5.5.0

func (o ServerVulnerabilityAssessmentOutput) StorageContainerSasKey() pulumi.StringPtrOutput

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.

> **NOTE** The `storageContainerSasKey` only applies if the storage account is not behind a virtual network or a firewall.

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 email 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 email 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 email 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 email 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.
	//
	// > **NOTE** The `storageAccountAccessKey` only applies if the storage account is not behind a virtual network or a firewall.
	StorageAccountAccessKey pulumi.StringPtrInput
	// A blob storage container path to hold the scan results (e.g. <https://example.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.
	//
	// > **NOTE** The `storageContainerSasKey` only applies if the storage account is not behind a virtual network or a firewall.
	StorageContainerSasKey pulumi.StringPtrInput
}

func (ServerVulnerabilityAssessmentState) ElementType

type VirtualMachine

type VirtualMachine struct {
	pulumi.CustomResourceState

	// An `assessment` block as defined below.
	Assessment VirtualMachineAssessmentPtrOutput `pulumi:"assessment"`
	// 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"`
	// 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. Possible values are `LOCAL`, `PRIVATE` and `PUBLIC`. 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"`
	// A `sqlInstance` block as defined below.
	SqlInstance VirtualMachineSqlInstancePtrOutput `pulumi:"sqlInstance"`
	// 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.StringPtrOutput `pulumi:"sqlLicenseType"`
	// The ID of the SQL Virtual Machine Group that the SQL Virtual Machine belongs to.
	SqlVirtualMachineGroupId pulumi.StringPtrOutput `pulumi:"sqlVirtualMachineGroupId"`
	// 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"`
	// A `wsfcDomainCredential` block as defined below
	WsfcDomainCredential VirtualMachineWsfcDomainCredentialPtrOutput `pulumi:"wsfcDomainCredential"`
}

Manages a Microsoft SQL Virtual Machine

## Example Usage

This example provisions a brief Managed Microsoft SQL Virtual Machine.

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := compute.LookupVirtualMachine(ctx, &compute.LookupVirtualMachineArgs{
			Name:              "example-vm",
			ResourceGroupName: "example-resources",
		}, nil)
		if err != nil {
			return err
		}
		_, err = mssql.NewVirtualMachine(ctx, "example", &mssql.VirtualMachineArgs{
			VirtualMachineId:              pulumi.String(example.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

Microsoft 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 `assessment` block as defined below.
	Assessment VirtualMachineAssessmentPtrInput
	// 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
	// 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. Possible values are `LOCAL`, `PRIVATE` and `PUBLIC`. 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
	// A `sqlInstance` block as defined below.
	SqlInstance VirtualMachineSqlInstancePtrInput
	// 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
	// The ID of the SQL Virtual Machine Group that the SQL Virtual Machine belongs to.
	SqlVirtualMachineGroupId 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.StringInput
	// A `wsfcDomainCredential` block as defined below
	WsfcDomainCredential VirtualMachineWsfcDomainCredentialPtrInput
}

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 VirtualMachineAssessment added in v5.24.0

type VirtualMachineAssessment struct {
	// Should Assessment be enabled? Defaults to `true`.
	Enabled *bool `pulumi:"enabled"`
	// Should Assessment be run immediately? Defaults to `false`.
	RunImmediately *bool `pulumi:"runImmediately"`
	// An `schedule` block as defined below.
	Schedule *VirtualMachineAssessmentSchedule `pulumi:"schedule"`
}

type VirtualMachineAssessmentArgs added in v5.24.0

type VirtualMachineAssessmentArgs struct {
	// Should Assessment be enabled? Defaults to `true`.
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// Should Assessment be run immediately? Defaults to `false`.
	RunImmediately pulumi.BoolPtrInput `pulumi:"runImmediately"`
	// An `schedule` block as defined below.
	Schedule VirtualMachineAssessmentSchedulePtrInput `pulumi:"schedule"`
}

func (VirtualMachineAssessmentArgs) ElementType added in v5.24.0

func (VirtualMachineAssessmentArgs) ToVirtualMachineAssessmentOutput added in v5.24.0

func (i VirtualMachineAssessmentArgs) ToVirtualMachineAssessmentOutput() VirtualMachineAssessmentOutput

func (VirtualMachineAssessmentArgs) ToVirtualMachineAssessmentOutputWithContext added in v5.24.0

func (i VirtualMachineAssessmentArgs) ToVirtualMachineAssessmentOutputWithContext(ctx context.Context) VirtualMachineAssessmentOutput

func (VirtualMachineAssessmentArgs) ToVirtualMachineAssessmentPtrOutput added in v5.24.0

func (i VirtualMachineAssessmentArgs) ToVirtualMachineAssessmentPtrOutput() VirtualMachineAssessmentPtrOutput

func (VirtualMachineAssessmentArgs) ToVirtualMachineAssessmentPtrOutputWithContext added in v5.24.0

func (i VirtualMachineAssessmentArgs) ToVirtualMachineAssessmentPtrOutputWithContext(ctx context.Context) VirtualMachineAssessmentPtrOutput

type VirtualMachineAssessmentInput added in v5.24.0

type VirtualMachineAssessmentInput interface {
	pulumi.Input

	ToVirtualMachineAssessmentOutput() VirtualMachineAssessmentOutput
	ToVirtualMachineAssessmentOutputWithContext(context.Context) VirtualMachineAssessmentOutput
}

VirtualMachineAssessmentInput is an input type that accepts VirtualMachineAssessmentArgs and VirtualMachineAssessmentOutput values. You can construct a concrete instance of `VirtualMachineAssessmentInput` via:

VirtualMachineAssessmentArgs{...}

type VirtualMachineAssessmentOutput added in v5.24.0

type VirtualMachineAssessmentOutput struct{ *pulumi.OutputState }

func (VirtualMachineAssessmentOutput) ElementType added in v5.24.0

func (VirtualMachineAssessmentOutput) Enabled added in v5.24.0

Should Assessment be enabled? Defaults to `true`.

func (VirtualMachineAssessmentOutput) RunImmediately added in v5.24.0

Should Assessment be run immediately? Defaults to `false`.

func (VirtualMachineAssessmentOutput) Schedule added in v5.24.0

An `schedule` block as defined below.

func (VirtualMachineAssessmentOutput) ToVirtualMachineAssessmentOutput added in v5.24.0

func (o VirtualMachineAssessmentOutput) ToVirtualMachineAssessmentOutput() VirtualMachineAssessmentOutput

func (VirtualMachineAssessmentOutput) ToVirtualMachineAssessmentOutputWithContext added in v5.24.0

func (o VirtualMachineAssessmentOutput) ToVirtualMachineAssessmentOutputWithContext(ctx context.Context) VirtualMachineAssessmentOutput

func (VirtualMachineAssessmentOutput) ToVirtualMachineAssessmentPtrOutput added in v5.24.0

func (o VirtualMachineAssessmentOutput) ToVirtualMachineAssessmentPtrOutput() VirtualMachineAssessmentPtrOutput

func (VirtualMachineAssessmentOutput) ToVirtualMachineAssessmentPtrOutputWithContext added in v5.24.0

func (o VirtualMachineAssessmentOutput) ToVirtualMachineAssessmentPtrOutputWithContext(ctx context.Context) VirtualMachineAssessmentPtrOutput

type VirtualMachineAssessmentPtrInput added in v5.24.0

type VirtualMachineAssessmentPtrInput interface {
	pulumi.Input

	ToVirtualMachineAssessmentPtrOutput() VirtualMachineAssessmentPtrOutput
	ToVirtualMachineAssessmentPtrOutputWithContext(context.Context) VirtualMachineAssessmentPtrOutput
}

VirtualMachineAssessmentPtrInput is an input type that accepts VirtualMachineAssessmentArgs, VirtualMachineAssessmentPtr and VirtualMachineAssessmentPtrOutput values. You can construct a concrete instance of `VirtualMachineAssessmentPtrInput` via:

        VirtualMachineAssessmentArgs{...}

or:

        nil

func VirtualMachineAssessmentPtr added in v5.24.0

func VirtualMachineAssessmentPtr(v *VirtualMachineAssessmentArgs) VirtualMachineAssessmentPtrInput

type VirtualMachineAssessmentPtrOutput added in v5.24.0

type VirtualMachineAssessmentPtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineAssessmentPtrOutput) Elem added in v5.24.0

func (VirtualMachineAssessmentPtrOutput) ElementType added in v5.24.0

func (VirtualMachineAssessmentPtrOutput) Enabled added in v5.24.0

Should Assessment be enabled? Defaults to `true`.

func (VirtualMachineAssessmentPtrOutput) RunImmediately added in v5.24.0

Should Assessment be run immediately? Defaults to `false`.

func (VirtualMachineAssessmentPtrOutput) Schedule added in v5.24.0

An `schedule` block as defined below.

func (VirtualMachineAssessmentPtrOutput) ToVirtualMachineAssessmentPtrOutput added in v5.24.0

func (o VirtualMachineAssessmentPtrOutput) ToVirtualMachineAssessmentPtrOutput() VirtualMachineAssessmentPtrOutput

func (VirtualMachineAssessmentPtrOutput) ToVirtualMachineAssessmentPtrOutputWithContext added in v5.24.0

func (o VirtualMachineAssessmentPtrOutput) ToVirtualMachineAssessmentPtrOutputWithContext(ctx context.Context) VirtualMachineAssessmentPtrOutput

type VirtualMachineAssessmentSchedule added in v5.24.0

type VirtualMachineAssessmentSchedule struct {
	// What day of the week the assessment will be run. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.
	DayOfWeek string `pulumi:"dayOfWeek"`
	// How many months between assessment runs. Valid values are between `1` and `5`.
	//
	// > **NOTE:** Either one of `weeklyInterval` or `monthlyOccurrence` must be specified.
	MonthlyOccurrence *int `pulumi:"monthlyOccurrence"`
	// What time the assessment will be run. Must be in the format `HH:mm`.
	StartTime string `pulumi:"startTime"`
	// How many weeks between assessment runs. Valid values are between `1` and `6`.
	WeeklyInterval *int `pulumi:"weeklyInterval"`
}

type VirtualMachineAssessmentScheduleArgs added in v5.24.0

type VirtualMachineAssessmentScheduleArgs struct {
	// What day of the week the assessment will be run. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.
	DayOfWeek pulumi.StringInput `pulumi:"dayOfWeek"`
	// How many months between assessment runs. Valid values are between `1` and `5`.
	//
	// > **NOTE:** Either one of `weeklyInterval` or `monthlyOccurrence` must be specified.
	MonthlyOccurrence pulumi.IntPtrInput `pulumi:"monthlyOccurrence"`
	// What time the assessment will be run. Must be in the format `HH:mm`.
	StartTime pulumi.StringInput `pulumi:"startTime"`
	// How many weeks between assessment runs. Valid values are between `1` and `6`.
	WeeklyInterval pulumi.IntPtrInput `pulumi:"weeklyInterval"`
}

func (VirtualMachineAssessmentScheduleArgs) ElementType added in v5.24.0

func (VirtualMachineAssessmentScheduleArgs) ToVirtualMachineAssessmentScheduleOutput added in v5.24.0

func (i VirtualMachineAssessmentScheduleArgs) ToVirtualMachineAssessmentScheduleOutput() VirtualMachineAssessmentScheduleOutput

func (VirtualMachineAssessmentScheduleArgs) ToVirtualMachineAssessmentScheduleOutputWithContext added in v5.24.0

func (i VirtualMachineAssessmentScheduleArgs) ToVirtualMachineAssessmentScheduleOutputWithContext(ctx context.Context) VirtualMachineAssessmentScheduleOutput

func (VirtualMachineAssessmentScheduleArgs) ToVirtualMachineAssessmentSchedulePtrOutput added in v5.24.0

func (i VirtualMachineAssessmentScheduleArgs) ToVirtualMachineAssessmentSchedulePtrOutput() VirtualMachineAssessmentSchedulePtrOutput

func (VirtualMachineAssessmentScheduleArgs) ToVirtualMachineAssessmentSchedulePtrOutputWithContext added in v5.24.0

func (i VirtualMachineAssessmentScheduleArgs) ToVirtualMachineAssessmentSchedulePtrOutputWithContext(ctx context.Context) VirtualMachineAssessmentSchedulePtrOutput

type VirtualMachineAssessmentScheduleInput added in v5.24.0

type VirtualMachineAssessmentScheduleInput interface {
	pulumi.Input

	ToVirtualMachineAssessmentScheduleOutput() VirtualMachineAssessmentScheduleOutput
	ToVirtualMachineAssessmentScheduleOutputWithContext(context.Context) VirtualMachineAssessmentScheduleOutput
}

VirtualMachineAssessmentScheduleInput is an input type that accepts VirtualMachineAssessmentScheduleArgs and VirtualMachineAssessmentScheduleOutput values. You can construct a concrete instance of `VirtualMachineAssessmentScheduleInput` via:

VirtualMachineAssessmentScheduleArgs{...}

type VirtualMachineAssessmentScheduleOutput added in v5.24.0

type VirtualMachineAssessmentScheduleOutput struct{ *pulumi.OutputState }

func (VirtualMachineAssessmentScheduleOutput) DayOfWeek added in v5.24.0

What day of the week the assessment will be run. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.

func (VirtualMachineAssessmentScheduleOutput) ElementType added in v5.24.0

func (VirtualMachineAssessmentScheduleOutput) MonthlyOccurrence added in v5.24.0

How many months between assessment runs. Valid values are between `1` and `5`.

> **NOTE:** Either one of `weeklyInterval` or `monthlyOccurrence` must be specified.

func (VirtualMachineAssessmentScheduleOutput) StartTime added in v5.24.0

What time the assessment will be run. Must be in the format `HH:mm`.

func (VirtualMachineAssessmentScheduleOutput) ToVirtualMachineAssessmentScheduleOutput added in v5.24.0

func (o VirtualMachineAssessmentScheduleOutput) ToVirtualMachineAssessmentScheduleOutput() VirtualMachineAssessmentScheduleOutput

func (VirtualMachineAssessmentScheduleOutput) ToVirtualMachineAssessmentScheduleOutputWithContext added in v5.24.0

func (o VirtualMachineAssessmentScheduleOutput) ToVirtualMachineAssessmentScheduleOutputWithContext(ctx context.Context) VirtualMachineAssessmentScheduleOutput

func (VirtualMachineAssessmentScheduleOutput) ToVirtualMachineAssessmentSchedulePtrOutput added in v5.24.0

func (o VirtualMachineAssessmentScheduleOutput) ToVirtualMachineAssessmentSchedulePtrOutput() VirtualMachineAssessmentSchedulePtrOutput

func (VirtualMachineAssessmentScheduleOutput) ToVirtualMachineAssessmentSchedulePtrOutputWithContext added in v5.24.0

func (o VirtualMachineAssessmentScheduleOutput) ToVirtualMachineAssessmentSchedulePtrOutputWithContext(ctx context.Context) VirtualMachineAssessmentSchedulePtrOutput

func (VirtualMachineAssessmentScheduleOutput) WeeklyInterval added in v5.24.0

How many weeks between assessment runs. Valid values are between `1` and `6`.

type VirtualMachineAssessmentSchedulePtrInput added in v5.24.0

type VirtualMachineAssessmentSchedulePtrInput interface {
	pulumi.Input

	ToVirtualMachineAssessmentSchedulePtrOutput() VirtualMachineAssessmentSchedulePtrOutput
	ToVirtualMachineAssessmentSchedulePtrOutputWithContext(context.Context) VirtualMachineAssessmentSchedulePtrOutput
}

VirtualMachineAssessmentSchedulePtrInput is an input type that accepts VirtualMachineAssessmentScheduleArgs, VirtualMachineAssessmentSchedulePtr and VirtualMachineAssessmentSchedulePtrOutput values. You can construct a concrete instance of `VirtualMachineAssessmentSchedulePtrInput` via:

        VirtualMachineAssessmentScheduleArgs{...}

or:

        nil

type VirtualMachineAssessmentSchedulePtrOutput added in v5.24.0

type VirtualMachineAssessmentSchedulePtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineAssessmentSchedulePtrOutput) DayOfWeek added in v5.24.0

What day of the week the assessment will be run. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.

func (VirtualMachineAssessmentSchedulePtrOutput) Elem added in v5.24.0

func (VirtualMachineAssessmentSchedulePtrOutput) ElementType added in v5.24.0

func (VirtualMachineAssessmentSchedulePtrOutput) MonthlyOccurrence added in v5.24.0

How many months between assessment runs. Valid values are between `1` and `5`.

> **NOTE:** Either one of `weeklyInterval` or `monthlyOccurrence` must be specified.

func (VirtualMachineAssessmentSchedulePtrOutput) StartTime added in v5.24.0

What time the assessment will be run. Must be in the format `HH:mm`.

func (VirtualMachineAssessmentSchedulePtrOutput) ToVirtualMachineAssessmentSchedulePtrOutput added in v5.24.0

func (o VirtualMachineAssessmentSchedulePtrOutput) ToVirtualMachineAssessmentSchedulePtrOutput() VirtualMachineAssessmentSchedulePtrOutput

func (VirtualMachineAssessmentSchedulePtrOutput) ToVirtualMachineAssessmentSchedulePtrOutputWithContext added in v5.24.0

func (o VirtualMachineAssessmentSchedulePtrOutput) ToVirtualMachineAssessmentSchedulePtrOutputWithContext(ctx context.Context) VirtualMachineAssessmentSchedulePtrOutput

func (VirtualMachineAssessmentSchedulePtrOutput) WeeklyInterval added in v5.24.0

How many weeks between assessment runs. Valid values are between `1` and `6`.

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.
	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.
	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 {
	// A list of days on which backup can take place. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`
	//
	// > **NOTE:** `daysOfWeek` can only be specified when `manualSchedule` is set to `Weekly`
	DaysOfWeeks []string `pulumi:"daysOfWeeks"`
	// Frequency of full backups. Valid values include `Daily` or `Weekly`.
	FullBackupFrequency string `pulumi:"fullBackupFrequency"`
	// Start hour of a given day during which full backups can take place. Valid values are from `0` to `23`.
	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`.
	FullBackupWindowInHours int `pulumi:"fullBackupWindowInHours"`
	// Frequency of log backups, in minutes. Valid values are from `5` to `60`.
	LogBackupFrequencyInMinutes int `pulumi:"logBackupFrequencyInMinutes"`
}

type VirtualMachineAutoBackupManualScheduleArgs

type VirtualMachineAutoBackupManualScheduleArgs struct {
	// A list of days on which backup can take place. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`
	//
	// > **NOTE:** `daysOfWeek` can only be specified when `manualSchedule` is set to `Weekly`
	DaysOfWeeks pulumi.StringArrayInput `pulumi:"daysOfWeeks"`
	// Frequency of full backups. Valid values include `Daily` or `Weekly`.
	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`.
	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`.
	FullBackupWindowInHours pulumi.IntInput `pulumi:"fullBackupWindowInHours"`
	// Frequency of log backups, in minutes. Valid values are from `5` to `60`.
	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) DaysOfWeeks added in v5.27.0

A list of days on which backup can take place. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`

> **NOTE:** `daysOfWeek` can only be specified when `manualSchedule` is set to `Weekly`

func (VirtualMachineAutoBackupManualScheduleOutput) ElementType

func (VirtualMachineAutoBackupManualScheduleOutput) FullBackupFrequency

Frequency of full backups. Valid values include `Daily` or `Weekly`.

func (VirtualMachineAutoBackupManualScheduleOutput) FullBackupStartHour

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

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

func (VirtualMachineAutoBackupManualScheduleOutput) LogBackupFrequencyInMinutes

func (o VirtualMachineAutoBackupManualScheduleOutput) LogBackupFrequencyInMinutes() pulumi.IntOutput

Frequency of log backups, in minutes. Valid values are from `5` to `60`.

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) DaysOfWeeks added in v5.27.0

A list of days on which backup can take place. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`

> **NOTE:** `daysOfWeek` can only be specified when `manualSchedule` is set to `Weekly`

func (VirtualMachineAutoBackupManualSchedulePtrOutput) Elem

func (VirtualMachineAutoBackupManualSchedulePtrOutput) ElementType

func (VirtualMachineAutoBackupManualSchedulePtrOutput) FullBackupFrequency

Frequency of full backups. Valid values include `Daily` or `Weekly`.

func (VirtualMachineAutoBackupManualSchedulePtrOutput) FullBackupStartHour

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

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

func (VirtualMachineAutoBackupManualSchedulePtrOutput) LogBackupFrequencyInMinutes

Frequency of log backups, in minutes. Valid values are from `5` to `60`.

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.

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.

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. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.
	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. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.
	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. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.

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. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.

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 VirtualMachineAvailabilityGroupListener added in v5.49.0

type VirtualMachineAvailabilityGroupListener struct {
	pulumi.CustomResourceState

	// The name of the Availability Group. Changing this forces a new resource to be created.
	AvailabilityGroupName pulumi.StringPtrOutput `pulumi:"availabilityGroupName"`
	// A `loadBalancerConfiguration` block as defined below. Changing this forces a new resource to be created.
	//
	// > **NOTE:** Either one of `loadBalancerConfiguration` or `multiSubnetIpConfiguration` must be specified.
	LoadBalancerConfiguration VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput `pulumi:"loadBalancerConfiguration"`
	// One or more `multiSubnetIpConfiguration` blocks as defined below. Changing this forces a new resource to be created.
	MultiSubnetIpConfigurations VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutput `pulumi:"multiSubnetIpConfigurations"`
	// The name which should be used for the Microsoft SQL Virtual Machine Availability Group Listener. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The port of the listener. Changing this forces a new resource to be created.
	Port pulumi.IntPtrOutput `pulumi:"port"`
	// One or more `replica` blocks as defined below. Changing this forces a new resource to be created.
	Replicas VirtualMachineAvailabilityGroupListenerReplicaArrayOutput `pulumi:"replicas"`
	// The ID of the SQL Virtual Machine Group to create the listener. Changing this forces a new resource to be created.
	SqlVirtualMachineGroupId pulumi.StringOutput `pulumi:"sqlVirtualMachineGroupId"`
}

Manages a Microsoft SQL Virtual Machine Availability Group Listener.

## Import

Microsoft SQL Virtual Machine Availability Group Listeners can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:mssql/virtualMachineAvailabilityGroupListener:VirtualMachineAvailabilityGroupListener example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/vmgroup1/availabilityGroupListeners/listener1 ```

func GetVirtualMachineAvailabilityGroupListener added in v5.49.0

func GetVirtualMachineAvailabilityGroupListener(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VirtualMachineAvailabilityGroupListenerState, opts ...pulumi.ResourceOption) (*VirtualMachineAvailabilityGroupListener, error)

GetVirtualMachineAvailabilityGroupListener gets an existing VirtualMachineAvailabilityGroupListener 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 NewVirtualMachineAvailabilityGroupListener added in v5.49.0

func NewVirtualMachineAvailabilityGroupListener(ctx *pulumi.Context,
	name string, args *VirtualMachineAvailabilityGroupListenerArgs, opts ...pulumi.ResourceOption) (*VirtualMachineAvailabilityGroupListener, error)

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

func (*VirtualMachineAvailabilityGroupListener) ElementType added in v5.49.0

func (*VirtualMachineAvailabilityGroupListener) ToVirtualMachineAvailabilityGroupListenerOutput added in v5.49.0

func (i *VirtualMachineAvailabilityGroupListener) ToVirtualMachineAvailabilityGroupListenerOutput() VirtualMachineAvailabilityGroupListenerOutput

func (*VirtualMachineAvailabilityGroupListener) ToVirtualMachineAvailabilityGroupListenerOutputWithContext added in v5.49.0

func (i *VirtualMachineAvailabilityGroupListener) ToVirtualMachineAvailabilityGroupListenerOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerOutput

type VirtualMachineAvailabilityGroupListenerArgs added in v5.49.0

type VirtualMachineAvailabilityGroupListenerArgs struct {
	// The name of the Availability Group. Changing this forces a new resource to be created.
	AvailabilityGroupName pulumi.StringPtrInput
	// A `loadBalancerConfiguration` block as defined below. Changing this forces a new resource to be created.
	//
	// > **NOTE:** Either one of `loadBalancerConfiguration` or `multiSubnetIpConfiguration` must be specified.
	LoadBalancerConfiguration VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrInput
	// One or more `multiSubnetIpConfiguration` blocks as defined below. Changing this forces a new resource to be created.
	MultiSubnetIpConfigurations VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayInput
	// The name which should be used for the Microsoft SQL Virtual Machine Availability Group Listener. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The port of the listener. Changing this forces a new resource to be created.
	Port pulumi.IntPtrInput
	// One or more `replica` blocks as defined below. Changing this forces a new resource to be created.
	Replicas VirtualMachineAvailabilityGroupListenerReplicaArrayInput
	// The ID of the SQL Virtual Machine Group to create the listener. Changing this forces a new resource to be created.
	SqlVirtualMachineGroupId pulumi.StringInput
}

The set of arguments for constructing a VirtualMachineAvailabilityGroupListener resource.

func (VirtualMachineAvailabilityGroupListenerArgs) ElementType added in v5.49.0

type VirtualMachineAvailabilityGroupListenerArray added in v5.49.0

type VirtualMachineAvailabilityGroupListenerArray []VirtualMachineAvailabilityGroupListenerInput

func (VirtualMachineAvailabilityGroupListenerArray) ElementType added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerArray) ToVirtualMachineAvailabilityGroupListenerArrayOutput added in v5.49.0

func (i VirtualMachineAvailabilityGroupListenerArray) ToVirtualMachineAvailabilityGroupListenerArrayOutput() VirtualMachineAvailabilityGroupListenerArrayOutput

func (VirtualMachineAvailabilityGroupListenerArray) ToVirtualMachineAvailabilityGroupListenerArrayOutputWithContext added in v5.49.0

func (i VirtualMachineAvailabilityGroupListenerArray) ToVirtualMachineAvailabilityGroupListenerArrayOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerArrayOutput

type VirtualMachineAvailabilityGroupListenerArrayInput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerArrayInput interface {
	pulumi.Input

	ToVirtualMachineAvailabilityGroupListenerArrayOutput() VirtualMachineAvailabilityGroupListenerArrayOutput
	ToVirtualMachineAvailabilityGroupListenerArrayOutputWithContext(context.Context) VirtualMachineAvailabilityGroupListenerArrayOutput
}

VirtualMachineAvailabilityGroupListenerArrayInput is an input type that accepts VirtualMachineAvailabilityGroupListenerArray and VirtualMachineAvailabilityGroupListenerArrayOutput values. You can construct a concrete instance of `VirtualMachineAvailabilityGroupListenerArrayInput` via:

VirtualMachineAvailabilityGroupListenerArray{ VirtualMachineAvailabilityGroupListenerArgs{...} }

type VirtualMachineAvailabilityGroupListenerArrayOutput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerArrayOutput struct{ *pulumi.OutputState }

func (VirtualMachineAvailabilityGroupListenerArrayOutput) ElementType added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerArrayOutput) Index added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerArrayOutput) ToVirtualMachineAvailabilityGroupListenerArrayOutput added in v5.49.0

func (o VirtualMachineAvailabilityGroupListenerArrayOutput) ToVirtualMachineAvailabilityGroupListenerArrayOutput() VirtualMachineAvailabilityGroupListenerArrayOutput

func (VirtualMachineAvailabilityGroupListenerArrayOutput) ToVirtualMachineAvailabilityGroupListenerArrayOutputWithContext added in v5.49.0

func (o VirtualMachineAvailabilityGroupListenerArrayOutput) ToVirtualMachineAvailabilityGroupListenerArrayOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerArrayOutput

type VirtualMachineAvailabilityGroupListenerInput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerInput interface {
	pulumi.Input

	ToVirtualMachineAvailabilityGroupListenerOutput() VirtualMachineAvailabilityGroupListenerOutput
	ToVirtualMachineAvailabilityGroupListenerOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerOutput
}

type VirtualMachineAvailabilityGroupListenerLoadBalancerConfiguration added in v5.49.0

type VirtualMachineAvailabilityGroupListenerLoadBalancerConfiguration struct {
	// The ID of the Load Balancer. Changing this forces a new resource to be created.
	LoadBalancerId string `pulumi:"loadBalancerId"`
	// The private IP Address of the listener. Changing this forces a new resource to be created.
	PrivateIpAddress string `pulumi:"privateIpAddress"`
	// The probe port of the listener. Changing this forces a new resource to be created.
	ProbePort int `pulumi:"probePort"`
	// Specifies a list of SQL Virtual Machine IDs. Changing this forces a new resource to be created.
	SqlVirtualMachineIds []string `pulumi:"sqlVirtualMachineIds"`
	// The ID of the Subnet to create the listener. Changing this forces a new resource to be created.
	//
	// > **NOTE:** `sqlVirtualMachineIds` should match with the SQL Virtual Machines specified in `replica`.
	SubnetId string `pulumi:"subnetId"`
}

type VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationArgs added in v5.49.0

type VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationArgs struct {
	// The ID of the Load Balancer. Changing this forces a new resource to be created.
	LoadBalancerId pulumi.StringInput `pulumi:"loadBalancerId"`
	// The private IP Address of the listener. Changing this forces a new resource to be created.
	PrivateIpAddress pulumi.StringInput `pulumi:"privateIpAddress"`
	// The probe port of the listener. Changing this forces a new resource to be created.
	ProbePort pulumi.IntInput `pulumi:"probePort"`
	// Specifies a list of SQL Virtual Machine IDs. Changing this forces a new resource to be created.
	SqlVirtualMachineIds pulumi.StringArrayInput `pulumi:"sqlVirtualMachineIds"`
	// The ID of the Subnet to create the listener. Changing this forces a new resource to be created.
	//
	// > **NOTE:** `sqlVirtualMachineIds` should match with the SQL Virtual Machines specified in `replica`.
	SubnetId pulumi.StringInput `pulumi:"subnetId"`
}

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationArgs) ElementType added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationArgs) ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationArgs) ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutputWithContext added in v5.49.0

func (i VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationArgs) ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationArgs) ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationArgs) ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutputWithContext added in v5.49.0

func (i VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationArgs) ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput

type VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationInput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationInput interface {
	pulumi.Input

	ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput() VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput
	ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutputWithContext(context.Context) VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput
}

VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationInput is an input type that accepts VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationArgs and VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput values. You can construct a concrete instance of `VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationInput` via:

VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationArgs{...}

type VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput struct{ *pulumi.OutputState }

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput) ElementType added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput) LoadBalancerId added in v5.49.0

The ID of the Load Balancer. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput) PrivateIpAddress added in v5.49.0

The private IP Address of the listener. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput) ProbePort added in v5.49.0

The probe port of the listener. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput) SqlVirtualMachineIds added in v5.49.0

Specifies a list of SQL Virtual Machine IDs. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput) SubnetId added in v5.49.0

The ID of the Subnet to create the listener. Changing this forces a new resource to be created.

> **NOTE:** `sqlVirtualMachineIds` should match with the SQL Virtual Machines specified in `replica`.

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput) ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput) ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutputWithContext added in v5.49.0

func (o VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput) ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput) ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput) ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutputWithContext added in v5.49.0

func (o VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationOutput) ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput

type VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrInput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrInput interface {
	pulumi.Input

	ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput() VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput
	ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutputWithContext(context.Context) VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput
}

VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrInput is an input type that accepts VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationArgs, VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtr and VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput values. You can construct a concrete instance of `VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrInput` via:

        VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationArgs{...}

or:

        nil

type VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput) Elem added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput) ElementType added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput) LoadBalancerId added in v5.49.0

The ID of the Load Balancer. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput) PrivateIpAddress added in v5.49.0

The private IP Address of the listener. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput) ProbePort added in v5.49.0

The probe port of the listener. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput) SqlVirtualMachineIds added in v5.49.0

Specifies a list of SQL Virtual Machine IDs. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput) SubnetId added in v5.49.0

The ID of the Subnet to create the listener. Changing this forces a new resource to be created.

> **NOTE:** `sqlVirtualMachineIds` should match with the SQL Virtual Machines specified in `replica`.

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput) ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutput) ToVirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrOutputWithContext added in v5.49.0

type VirtualMachineAvailabilityGroupListenerMap added in v5.49.0

type VirtualMachineAvailabilityGroupListenerMap map[string]VirtualMachineAvailabilityGroupListenerInput

func (VirtualMachineAvailabilityGroupListenerMap) ElementType added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerMap) ToVirtualMachineAvailabilityGroupListenerMapOutput added in v5.49.0

func (i VirtualMachineAvailabilityGroupListenerMap) ToVirtualMachineAvailabilityGroupListenerMapOutput() VirtualMachineAvailabilityGroupListenerMapOutput

func (VirtualMachineAvailabilityGroupListenerMap) ToVirtualMachineAvailabilityGroupListenerMapOutputWithContext added in v5.49.0

func (i VirtualMachineAvailabilityGroupListenerMap) ToVirtualMachineAvailabilityGroupListenerMapOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerMapOutput

type VirtualMachineAvailabilityGroupListenerMapInput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerMapInput interface {
	pulumi.Input

	ToVirtualMachineAvailabilityGroupListenerMapOutput() VirtualMachineAvailabilityGroupListenerMapOutput
	ToVirtualMachineAvailabilityGroupListenerMapOutputWithContext(context.Context) VirtualMachineAvailabilityGroupListenerMapOutput
}

VirtualMachineAvailabilityGroupListenerMapInput is an input type that accepts VirtualMachineAvailabilityGroupListenerMap and VirtualMachineAvailabilityGroupListenerMapOutput values. You can construct a concrete instance of `VirtualMachineAvailabilityGroupListenerMapInput` via:

VirtualMachineAvailabilityGroupListenerMap{ "key": VirtualMachineAvailabilityGroupListenerArgs{...} }

type VirtualMachineAvailabilityGroupListenerMapOutput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerMapOutput struct{ *pulumi.OutputState }

func (VirtualMachineAvailabilityGroupListenerMapOutput) ElementType added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerMapOutput) MapIndex added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerMapOutput) ToVirtualMachineAvailabilityGroupListenerMapOutput added in v5.49.0

func (o VirtualMachineAvailabilityGroupListenerMapOutput) ToVirtualMachineAvailabilityGroupListenerMapOutput() VirtualMachineAvailabilityGroupListenerMapOutput

func (VirtualMachineAvailabilityGroupListenerMapOutput) ToVirtualMachineAvailabilityGroupListenerMapOutputWithContext added in v5.49.0

func (o VirtualMachineAvailabilityGroupListenerMapOutput) ToVirtualMachineAvailabilityGroupListenerMapOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerMapOutput

type VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfiguration added in v5.49.0

type VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfiguration struct {
	// The private IP Address of the listener. Changing this forces a new resource to be created.
	PrivateIpAddress string `pulumi:"privateIpAddress"`
	// The ID of the Sql Virtual Machine. Changing this forces a new resource to be created.
	SqlVirtualMachineId string `pulumi:"sqlVirtualMachineId"`
	// The ID of the Subnet to create the listener. Changing this forces a new resource to be created.
	//
	// > **NOTE:** `sqlVirtualMachineId` should match with the SQL Virtual Machines specified in `replica`.
	SubnetId string `pulumi:"subnetId"`
}

type VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArgs added in v5.49.0

type VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArgs struct {
	// The private IP Address of the listener. Changing this forces a new resource to be created.
	PrivateIpAddress pulumi.StringInput `pulumi:"privateIpAddress"`
	// The ID of the Sql Virtual Machine. Changing this forces a new resource to be created.
	SqlVirtualMachineId pulumi.StringInput `pulumi:"sqlVirtualMachineId"`
	// The ID of the Subnet to create the listener. Changing this forces a new resource to be created.
	//
	// > **NOTE:** `sqlVirtualMachineId` should match with the SQL Virtual Machines specified in `replica`.
	SubnetId pulumi.StringInput `pulumi:"subnetId"`
}

func (VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArgs) ElementType added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArgs) ToVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArgs) ToVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutputWithContext added in v5.49.0

func (i VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArgs) ToVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput

type VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArray added in v5.49.0

type VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArray []VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationInput

func (VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArray) ElementType added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArray) ToVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutput added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArray) ToVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutputWithContext added in v5.49.0

func (i VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArray) ToVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutput

type VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayInput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayInput interface {
	pulumi.Input

	ToVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutput() VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutput
	ToVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutputWithContext(context.Context) VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutput
}

VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayInput is an input type that accepts VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArray and VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutput values. You can construct a concrete instance of `VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayInput` via:

VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArray{ VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArgs{...} }

type VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutput struct{ *pulumi.OutputState }

func (VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutput) ElementType added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutput) Index added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutput) ToVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutput added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutput) ToVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayOutputWithContext added in v5.49.0

type VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationInput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationInput interface {
	pulumi.Input

	ToVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput() VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput
	ToVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutputWithContext(context.Context) VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput
}

VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationInput is an input type that accepts VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArgs and VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput values. You can construct a concrete instance of `VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationInput` via:

VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArgs{...}

type VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput struct{ *pulumi.OutputState }

func (VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput) ElementType added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput) PrivateIpAddress added in v5.49.0

The private IP Address of the listener. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput) SqlVirtualMachineId added in v5.49.0

The ID of the Sql Virtual Machine. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput) SubnetId added in v5.49.0

The ID of the Subnet to create the listener. Changing this forces a new resource to be created.

> **NOTE:** `sqlVirtualMachineId` should match with the SQL Virtual Machines specified in `replica`.

func (VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput) ToVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput) ToVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutputWithContext added in v5.49.0

func (o VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput) ToVirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationOutput

type VirtualMachineAvailabilityGroupListenerOutput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerOutput struct{ *pulumi.OutputState }

func (VirtualMachineAvailabilityGroupListenerOutput) AvailabilityGroupName added in v5.49.0

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

func (VirtualMachineAvailabilityGroupListenerOutput) ElementType added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerOutput) LoadBalancerConfiguration added in v5.49.0

A `loadBalancerConfiguration` block as defined below. Changing this forces a new resource to be created.

> **NOTE:** Either one of `loadBalancerConfiguration` or `multiSubnetIpConfiguration` must be specified.

func (VirtualMachineAvailabilityGroupListenerOutput) MultiSubnetIpConfigurations added in v5.49.0

One or more `multiSubnetIpConfiguration` blocks as defined below. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerOutput) Name added in v5.49.0

The name which should be used for the Microsoft SQL Virtual Machine Availability Group Listener. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerOutput) Port added in v5.49.0

The port of the listener. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerOutput) Replicas added in v5.49.0

One or more `replica` blocks as defined below. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerOutput) SqlVirtualMachineGroupId added in v5.49.0

The ID of the SQL Virtual Machine Group to create the listener. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerOutput) ToVirtualMachineAvailabilityGroupListenerOutput added in v5.49.0

func (o VirtualMachineAvailabilityGroupListenerOutput) ToVirtualMachineAvailabilityGroupListenerOutput() VirtualMachineAvailabilityGroupListenerOutput

func (VirtualMachineAvailabilityGroupListenerOutput) ToVirtualMachineAvailabilityGroupListenerOutputWithContext added in v5.49.0

func (o VirtualMachineAvailabilityGroupListenerOutput) ToVirtualMachineAvailabilityGroupListenerOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerOutput

type VirtualMachineAvailabilityGroupListenerReplica added in v5.49.0

type VirtualMachineAvailabilityGroupListenerReplica struct {
	// The replica commit mode for the availability group. Possible values are `Synchronous_Commit` and `Asynchronous_Commit`. Changing this forces a new resource to be created.
	Commit string `pulumi:"commit"`
	// The replica failover mode for the availability group. Possible values are `Manual` and `Automatic`. Changing this forces a new resource to be created.
	FailoverMode string `pulumi:"failoverMode"`
	// The replica readable secondary mode for the availability group. Possible values are `No`, `Read_Only` and `All`. Changing this forces a new resource to be created.
	ReadableSecondary string `pulumi:"readableSecondary"`
	// The replica role for the availability group. Possible values are `Primary` and `Secondary`. Changing this forces a new resource to be created.
	Role string `pulumi:"role"`
	// The ID of the SQL Virtual Machine. Changing this forces a new resource to be created.
	SqlVirtualMachineId string `pulumi:"sqlVirtualMachineId"`
}

type VirtualMachineAvailabilityGroupListenerReplicaArgs added in v5.49.0

type VirtualMachineAvailabilityGroupListenerReplicaArgs struct {
	// The replica commit mode for the availability group. Possible values are `Synchronous_Commit` and `Asynchronous_Commit`. Changing this forces a new resource to be created.
	Commit pulumi.StringInput `pulumi:"commit"`
	// The replica failover mode for the availability group. Possible values are `Manual` and `Automatic`. Changing this forces a new resource to be created.
	FailoverMode pulumi.StringInput `pulumi:"failoverMode"`
	// The replica readable secondary mode for the availability group. Possible values are `No`, `Read_Only` and `All`. Changing this forces a new resource to be created.
	ReadableSecondary pulumi.StringInput `pulumi:"readableSecondary"`
	// The replica role for the availability group. Possible values are `Primary` and `Secondary`. Changing this forces a new resource to be created.
	Role pulumi.StringInput `pulumi:"role"`
	// The ID of the SQL Virtual Machine. Changing this forces a new resource to be created.
	SqlVirtualMachineId pulumi.StringInput `pulumi:"sqlVirtualMachineId"`
}

func (VirtualMachineAvailabilityGroupListenerReplicaArgs) ElementType added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerReplicaArgs) ToVirtualMachineAvailabilityGroupListenerReplicaOutput added in v5.49.0

func (i VirtualMachineAvailabilityGroupListenerReplicaArgs) ToVirtualMachineAvailabilityGroupListenerReplicaOutput() VirtualMachineAvailabilityGroupListenerReplicaOutput

func (VirtualMachineAvailabilityGroupListenerReplicaArgs) ToVirtualMachineAvailabilityGroupListenerReplicaOutputWithContext added in v5.49.0

func (i VirtualMachineAvailabilityGroupListenerReplicaArgs) ToVirtualMachineAvailabilityGroupListenerReplicaOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerReplicaOutput

type VirtualMachineAvailabilityGroupListenerReplicaArray added in v5.49.0

type VirtualMachineAvailabilityGroupListenerReplicaArray []VirtualMachineAvailabilityGroupListenerReplicaInput

func (VirtualMachineAvailabilityGroupListenerReplicaArray) ElementType added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerReplicaArray) ToVirtualMachineAvailabilityGroupListenerReplicaArrayOutput added in v5.49.0

func (i VirtualMachineAvailabilityGroupListenerReplicaArray) ToVirtualMachineAvailabilityGroupListenerReplicaArrayOutput() VirtualMachineAvailabilityGroupListenerReplicaArrayOutput

func (VirtualMachineAvailabilityGroupListenerReplicaArray) ToVirtualMachineAvailabilityGroupListenerReplicaArrayOutputWithContext added in v5.49.0

func (i VirtualMachineAvailabilityGroupListenerReplicaArray) ToVirtualMachineAvailabilityGroupListenerReplicaArrayOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerReplicaArrayOutput

type VirtualMachineAvailabilityGroupListenerReplicaArrayInput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerReplicaArrayInput interface {
	pulumi.Input

	ToVirtualMachineAvailabilityGroupListenerReplicaArrayOutput() VirtualMachineAvailabilityGroupListenerReplicaArrayOutput
	ToVirtualMachineAvailabilityGroupListenerReplicaArrayOutputWithContext(context.Context) VirtualMachineAvailabilityGroupListenerReplicaArrayOutput
}

VirtualMachineAvailabilityGroupListenerReplicaArrayInput is an input type that accepts VirtualMachineAvailabilityGroupListenerReplicaArray and VirtualMachineAvailabilityGroupListenerReplicaArrayOutput values. You can construct a concrete instance of `VirtualMachineAvailabilityGroupListenerReplicaArrayInput` via:

VirtualMachineAvailabilityGroupListenerReplicaArray{ VirtualMachineAvailabilityGroupListenerReplicaArgs{...} }

type VirtualMachineAvailabilityGroupListenerReplicaArrayOutput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerReplicaArrayOutput struct{ *pulumi.OutputState }

func (VirtualMachineAvailabilityGroupListenerReplicaArrayOutput) ElementType added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerReplicaArrayOutput) Index added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerReplicaArrayOutput) ToVirtualMachineAvailabilityGroupListenerReplicaArrayOutput added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerReplicaArrayOutput) ToVirtualMachineAvailabilityGroupListenerReplicaArrayOutputWithContext added in v5.49.0

func (o VirtualMachineAvailabilityGroupListenerReplicaArrayOutput) ToVirtualMachineAvailabilityGroupListenerReplicaArrayOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerReplicaArrayOutput

type VirtualMachineAvailabilityGroupListenerReplicaInput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerReplicaInput interface {
	pulumi.Input

	ToVirtualMachineAvailabilityGroupListenerReplicaOutput() VirtualMachineAvailabilityGroupListenerReplicaOutput
	ToVirtualMachineAvailabilityGroupListenerReplicaOutputWithContext(context.Context) VirtualMachineAvailabilityGroupListenerReplicaOutput
}

VirtualMachineAvailabilityGroupListenerReplicaInput is an input type that accepts VirtualMachineAvailabilityGroupListenerReplicaArgs and VirtualMachineAvailabilityGroupListenerReplicaOutput values. You can construct a concrete instance of `VirtualMachineAvailabilityGroupListenerReplicaInput` via:

VirtualMachineAvailabilityGroupListenerReplicaArgs{...}

type VirtualMachineAvailabilityGroupListenerReplicaOutput added in v5.49.0

type VirtualMachineAvailabilityGroupListenerReplicaOutput struct{ *pulumi.OutputState }

func (VirtualMachineAvailabilityGroupListenerReplicaOutput) Commit added in v5.49.0

The replica commit mode for the availability group. Possible values are `Synchronous_Commit` and `Asynchronous_Commit`. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerReplicaOutput) ElementType added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerReplicaOutput) FailoverMode added in v5.49.0

The replica failover mode for the availability group. Possible values are `Manual` and `Automatic`. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerReplicaOutput) ReadableSecondary added in v5.49.0

The replica readable secondary mode for the availability group. Possible values are `No`, `Read_Only` and `All`. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerReplicaOutput) Role added in v5.49.0

The replica role for the availability group. Possible values are `Primary` and `Secondary`. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerReplicaOutput) SqlVirtualMachineId added in v5.49.0

The ID of the SQL Virtual Machine. Changing this forces a new resource to be created.

func (VirtualMachineAvailabilityGroupListenerReplicaOutput) ToVirtualMachineAvailabilityGroupListenerReplicaOutput added in v5.49.0

func (VirtualMachineAvailabilityGroupListenerReplicaOutput) ToVirtualMachineAvailabilityGroupListenerReplicaOutputWithContext added in v5.49.0

func (o VirtualMachineAvailabilityGroupListenerReplicaOutput) ToVirtualMachineAvailabilityGroupListenerReplicaOutputWithContext(ctx context.Context) VirtualMachineAvailabilityGroupListenerReplicaOutput

type VirtualMachineAvailabilityGroupListenerState added in v5.49.0

type VirtualMachineAvailabilityGroupListenerState struct {
	// The name of the Availability Group. Changing this forces a new resource to be created.
	AvailabilityGroupName pulumi.StringPtrInput
	// A `loadBalancerConfiguration` block as defined below. Changing this forces a new resource to be created.
	//
	// > **NOTE:** Either one of `loadBalancerConfiguration` or `multiSubnetIpConfiguration` must be specified.
	LoadBalancerConfiguration VirtualMachineAvailabilityGroupListenerLoadBalancerConfigurationPtrInput
	// One or more `multiSubnetIpConfiguration` blocks as defined below. Changing this forces a new resource to be created.
	MultiSubnetIpConfigurations VirtualMachineAvailabilityGroupListenerMultiSubnetIpConfigurationArrayInput
	// The name which should be used for the Microsoft SQL Virtual Machine Availability Group Listener. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The port of the listener. Changing this forces a new resource to be created.
	Port pulumi.IntPtrInput
	// One or more `replica` blocks as defined below. Changing this forces a new resource to be created.
	Replicas VirtualMachineAvailabilityGroupListenerReplicaArrayInput
	// The ID of the SQL Virtual Machine Group to create the listener. Changing this forces a new resource to be created.
	SqlVirtualMachineGroupId pulumi.StringPtrInput
}

func (VirtualMachineAvailabilityGroupListenerState) ElementType added in v5.49.0

type VirtualMachineGroup added in v5.49.0

type VirtualMachineGroup struct {
	pulumi.CustomResourceState

	// The Azure Region where the Microsoft SQL Virtual Machine Group should exist. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name which should be used for the Microsoft SQL Virtual Machine Group. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the Resource Group where the Microsoft SQL Virtual Machine Group should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The offer type of the marketplace image cluster to be used by the SQL Virtual Machine Group. Changing this forces a new resource to be created.
	SqlImageOffer pulumi.StringOutput `pulumi:"sqlImageOffer"`
	// The sku type of the marketplace image cluster to be used by the SQL Virtual Machine Group. Possible values are `Developer` and `Enterprise`.
	SqlImageSku pulumi.StringOutput `pulumi:"sqlImageSku"`
	// A mapping of tags which should be assigned to the Microsoft SQL Virtual Machine Group.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A `wsfcDomainProfile` block as defined below.
	WsfcDomainProfile VirtualMachineGroupWsfcDomainProfileOutput `pulumi:"wsfcDomainProfile"`
}

Manages a Microsoft SQL Virtual Machine Group.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewVirtualMachineGroup(ctx, "example", &mssql.VirtualMachineGroupArgs{
			Name:              pulumi.String("examplegroup"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			SqlImageOffer:     pulumi.String("SQL2017-WS2016"),
			SqlImageSku:       pulumi.String("Developer"),
			WsfcDomainProfile: &mssql.VirtualMachineGroupWsfcDomainProfileArgs{
				Fqdn:              pulumi.String("testdomain.com"),
				ClusterSubnetType: pulumi.String("SingleSubnet"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Microsoft SQL Virtual Machine Groups can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:mssql/virtualMachineGroup:VirtualMachineGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/vmgroup1 ```

func GetVirtualMachineGroup added in v5.49.0

func GetVirtualMachineGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VirtualMachineGroupState, opts ...pulumi.ResourceOption) (*VirtualMachineGroup, error)

GetVirtualMachineGroup gets an existing VirtualMachineGroup 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 NewVirtualMachineGroup added in v5.49.0

func NewVirtualMachineGroup(ctx *pulumi.Context,
	name string, args *VirtualMachineGroupArgs, opts ...pulumi.ResourceOption) (*VirtualMachineGroup, error)

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

func (*VirtualMachineGroup) ElementType added in v5.49.0

func (*VirtualMachineGroup) ElementType() reflect.Type

func (*VirtualMachineGroup) ToVirtualMachineGroupOutput added in v5.49.0

func (i *VirtualMachineGroup) ToVirtualMachineGroupOutput() VirtualMachineGroupOutput

func (*VirtualMachineGroup) ToVirtualMachineGroupOutputWithContext added in v5.49.0

func (i *VirtualMachineGroup) ToVirtualMachineGroupOutputWithContext(ctx context.Context) VirtualMachineGroupOutput

type VirtualMachineGroupArgs added in v5.49.0

type VirtualMachineGroupArgs struct {
	// The Azure Region where the Microsoft SQL Virtual Machine Group should exist. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name which should be used for the Microsoft SQL Virtual Machine Group. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where the Microsoft SQL Virtual Machine Group should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The offer type of the marketplace image cluster to be used by the SQL Virtual Machine Group. Changing this forces a new resource to be created.
	SqlImageOffer pulumi.StringInput
	// The sku type of the marketplace image cluster to be used by the SQL Virtual Machine Group. Possible values are `Developer` and `Enterprise`.
	SqlImageSku pulumi.StringInput
	// A mapping of tags which should be assigned to the Microsoft SQL Virtual Machine Group.
	Tags pulumi.StringMapInput
	// A `wsfcDomainProfile` block as defined below.
	WsfcDomainProfile VirtualMachineGroupWsfcDomainProfileInput
}

The set of arguments for constructing a VirtualMachineGroup resource.

func (VirtualMachineGroupArgs) ElementType added in v5.49.0

func (VirtualMachineGroupArgs) ElementType() reflect.Type

type VirtualMachineGroupArray added in v5.49.0

type VirtualMachineGroupArray []VirtualMachineGroupInput

func (VirtualMachineGroupArray) ElementType added in v5.49.0

func (VirtualMachineGroupArray) ElementType() reflect.Type

func (VirtualMachineGroupArray) ToVirtualMachineGroupArrayOutput added in v5.49.0

func (i VirtualMachineGroupArray) ToVirtualMachineGroupArrayOutput() VirtualMachineGroupArrayOutput

func (VirtualMachineGroupArray) ToVirtualMachineGroupArrayOutputWithContext added in v5.49.0

func (i VirtualMachineGroupArray) ToVirtualMachineGroupArrayOutputWithContext(ctx context.Context) VirtualMachineGroupArrayOutput

type VirtualMachineGroupArrayInput added in v5.49.0

type VirtualMachineGroupArrayInput interface {
	pulumi.Input

	ToVirtualMachineGroupArrayOutput() VirtualMachineGroupArrayOutput
	ToVirtualMachineGroupArrayOutputWithContext(context.Context) VirtualMachineGroupArrayOutput
}

VirtualMachineGroupArrayInput is an input type that accepts VirtualMachineGroupArray and VirtualMachineGroupArrayOutput values. You can construct a concrete instance of `VirtualMachineGroupArrayInput` via:

VirtualMachineGroupArray{ VirtualMachineGroupArgs{...} }

type VirtualMachineGroupArrayOutput added in v5.49.0

type VirtualMachineGroupArrayOutput struct{ *pulumi.OutputState }

func (VirtualMachineGroupArrayOutput) ElementType added in v5.49.0

func (VirtualMachineGroupArrayOutput) Index added in v5.49.0

func (VirtualMachineGroupArrayOutput) ToVirtualMachineGroupArrayOutput added in v5.49.0

func (o VirtualMachineGroupArrayOutput) ToVirtualMachineGroupArrayOutput() VirtualMachineGroupArrayOutput

func (VirtualMachineGroupArrayOutput) ToVirtualMachineGroupArrayOutputWithContext added in v5.49.0

func (o VirtualMachineGroupArrayOutput) ToVirtualMachineGroupArrayOutputWithContext(ctx context.Context) VirtualMachineGroupArrayOutput

type VirtualMachineGroupInput added in v5.49.0

type VirtualMachineGroupInput interface {
	pulumi.Input

	ToVirtualMachineGroupOutput() VirtualMachineGroupOutput
	ToVirtualMachineGroupOutputWithContext(ctx context.Context) VirtualMachineGroupOutput
}

type VirtualMachineGroupMap added in v5.49.0

type VirtualMachineGroupMap map[string]VirtualMachineGroupInput

func (VirtualMachineGroupMap) ElementType added in v5.49.0

func (VirtualMachineGroupMap) ElementType() reflect.Type

func (VirtualMachineGroupMap) ToVirtualMachineGroupMapOutput added in v5.49.0

func (i VirtualMachineGroupMap) ToVirtualMachineGroupMapOutput() VirtualMachineGroupMapOutput

func (VirtualMachineGroupMap) ToVirtualMachineGroupMapOutputWithContext added in v5.49.0

func (i VirtualMachineGroupMap) ToVirtualMachineGroupMapOutputWithContext(ctx context.Context) VirtualMachineGroupMapOutput

type VirtualMachineGroupMapInput added in v5.49.0

type VirtualMachineGroupMapInput interface {
	pulumi.Input

	ToVirtualMachineGroupMapOutput() VirtualMachineGroupMapOutput
	ToVirtualMachineGroupMapOutputWithContext(context.Context) VirtualMachineGroupMapOutput
}

VirtualMachineGroupMapInput is an input type that accepts VirtualMachineGroupMap and VirtualMachineGroupMapOutput values. You can construct a concrete instance of `VirtualMachineGroupMapInput` via:

VirtualMachineGroupMap{ "key": VirtualMachineGroupArgs{...} }

type VirtualMachineGroupMapOutput added in v5.49.0

type VirtualMachineGroupMapOutput struct{ *pulumi.OutputState }

func (VirtualMachineGroupMapOutput) ElementType added in v5.49.0

func (VirtualMachineGroupMapOutput) MapIndex added in v5.49.0

func (VirtualMachineGroupMapOutput) ToVirtualMachineGroupMapOutput added in v5.49.0

func (o VirtualMachineGroupMapOutput) ToVirtualMachineGroupMapOutput() VirtualMachineGroupMapOutput

func (VirtualMachineGroupMapOutput) ToVirtualMachineGroupMapOutputWithContext added in v5.49.0

func (o VirtualMachineGroupMapOutput) ToVirtualMachineGroupMapOutputWithContext(ctx context.Context) VirtualMachineGroupMapOutput

type VirtualMachineGroupOutput added in v5.49.0

type VirtualMachineGroupOutput struct{ *pulumi.OutputState }

func (VirtualMachineGroupOutput) ElementType added in v5.49.0

func (VirtualMachineGroupOutput) ElementType() reflect.Type

func (VirtualMachineGroupOutput) Location added in v5.49.0

The Azure Region where the Microsoft SQL Virtual Machine Group should exist. Changing this forces a new resource to be created.

func (VirtualMachineGroupOutput) Name added in v5.49.0

The name which should be used for the Microsoft SQL Virtual Machine Group. Changing this forces a new resource to be created.

func (VirtualMachineGroupOutput) ResourceGroupName added in v5.49.0

func (o VirtualMachineGroupOutput) ResourceGroupName() pulumi.StringOutput

The name of the Resource Group where the Microsoft SQL Virtual Machine Group should exist. Changing this forces a new resource to be created.

func (VirtualMachineGroupOutput) SqlImageOffer added in v5.49.0

func (o VirtualMachineGroupOutput) SqlImageOffer() pulumi.StringOutput

The offer type of the marketplace image cluster to be used by the SQL Virtual Machine Group. Changing this forces a new resource to be created.

func (VirtualMachineGroupOutput) SqlImageSku added in v5.49.0

The sku type of the marketplace image cluster to be used by the SQL Virtual Machine Group. Possible values are `Developer` and `Enterprise`.

func (VirtualMachineGroupOutput) Tags added in v5.49.0

A mapping of tags which should be assigned to the Microsoft SQL Virtual Machine Group.

func (VirtualMachineGroupOutput) ToVirtualMachineGroupOutput added in v5.49.0

func (o VirtualMachineGroupOutput) ToVirtualMachineGroupOutput() VirtualMachineGroupOutput

func (VirtualMachineGroupOutput) ToVirtualMachineGroupOutputWithContext added in v5.49.0

func (o VirtualMachineGroupOutput) ToVirtualMachineGroupOutputWithContext(ctx context.Context) VirtualMachineGroupOutput

func (VirtualMachineGroupOutput) WsfcDomainProfile added in v5.49.0

A `wsfcDomainProfile` block as defined below.

type VirtualMachineGroupState added in v5.49.0

type VirtualMachineGroupState struct {
	// The Azure Region where the Microsoft SQL Virtual Machine Group should exist. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name which should be used for the Microsoft SQL Virtual Machine Group. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where the Microsoft SQL Virtual Machine Group should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The offer type of the marketplace image cluster to be used by the SQL Virtual Machine Group. Changing this forces a new resource to be created.
	SqlImageOffer pulumi.StringPtrInput
	// The sku type of the marketplace image cluster to be used by the SQL Virtual Machine Group. Possible values are `Developer` and `Enterprise`.
	SqlImageSku pulumi.StringPtrInput
	// A mapping of tags which should be assigned to the Microsoft SQL Virtual Machine Group.
	Tags pulumi.StringMapInput
	// A `wsfcDomainProfile` block as defined below.
	WsfcDomainProfile VirtualMachineGroupWsfcDomainProfilePtrInput
}

func (VirtualMachineGroupState) ElementType added in v5.49.0

func (VirtualMachineGroupState) ElementType() reflect.Type

type VirtualMachineGroupWsfcDomainProfile added in v5.49.0

type VirtualMachineGroupWsfcDomainProfile struct {
	// The account name used for creating cluster. Changing this forces a new resource to be created.
	ClusterBootstrapAccountName *string `pulumi:"clusterBootstrapAccountName"`
	// The account name used for operating cluster. Changing this forces a new resource to be created.
	ClusterOperatorAccountName *string `pulumi:"clusterOperatorAccountName"`
	// The subnet type of the SQL Virtual Machine cluster. Possible values are `MultiSubnet` and `SingleSubnet`. Changing this forces a new resource to be created.
	ClusterSubnetType string `pulumi:"clusterSubnetType"`
	// The fully qualified name of the domain. Changing this forces a new resource to be created.
	Fqdn string `pulumi:"fqdn"`
	// The organizational Unit path in which the nodes and cluster will be present. Changing this forces a new resource to be created.
	OrganizationalUnitPath *string `pulumi:"organizationalUnitPath"`
	// The account name under which SQL service will run on all participating SQL virtual machines in the cluster. Changing this forces a new resource to be created.
	SqlServiceAccountName *string `pulumi:"sqlServiceAccountName"`
	// The primary key of the Storage Account.
	StorageAccountPrimaryKey *string `pulumi:"storageAccountPrimaryKey"`
	// The SAS URL to the Storage Container of the witness storage account. Changing this forces a new resource to be created.
	StorageAccountUrl *string `pulumi:"storageAccountUrl"`
}

type VirtualMachineGroupWsfcDomainProfileArgs added in v5.49.0

type VirtualMachineGroupWsfcDomainProfileArgs struct {
	// The account name used for creating cluster. Changing this forces a new resource to be created.
	ClusterBootstrapAccountName pulumi.StringPtrInput `pulumi:"clusterBootstrapAccountName"`
	// The account name used for operating cluster. Changing this forces a new resource to be created.
	ClusterOperatorAccountName pulumi.StringPtrInput `pulumi:"clusterOperatorAccountName"`
	// The subnet type of the SQL Virtual Machine cluster. Possible values are `MultiSubnet` and `SingleSubnet`. Changing this forces a new resource to be created.
	ClusterSubnetType pulumi.StringInput `pulumi:"clusterSubnetType"`
	// The fully qualified name of the domain. Changing this forces a new resource to be created.
	Fqdn pulumi.StringInput `pulumi:"fqdn"`
	// The organizational Unit path in which the nodes and cluster will be present. Changing this forces a new resource to be created.
	OrganizationalUnitPath pulumi.StringPtrInput `pulumi:"organizationalUnitPath"`
	// The account name under which SQL service will run on all participating SQL virtual machines in the cluster. Changing this forces a new resource to be created.
	SqlServiceAccountName pulumi.StringPtrInput `pulumi:"sqlServiceAccountName"`
	// The primary key of the Storage Account.
	StorageAccountPrimaryKey pulumi.StringPtrInput `pulumi:"storageAccountPrimaryKey"`
	// The SAS URL to the Storage Container of the witness storage account. Changing this forces a new resource to be created.
	StorageAccountUrl pulumi.StringPtrInput `pulumi:"storageAccountUrl"`
}

func (VirtualMachineGroupWsfcDomainProfileArgs) ElementType added in v5.49.0

func (VirtualMachineGroupWsfcDomainProfileArgs) ToVirtualMachineGroupWsfcDomainProfileOutput added in v5.49.0

func (i VirtualMachineGroupWsfcDomainProfileArgs) ToVirtualMachineGroupWsfcDomainProfileOutput() VirtualMachineGroupWsfcDomainProfileOutput

func (VirtualMachineGroupWsfcDomainProfileArgs) ToVirtualMachineGroupWsfcDomainProfileOutputWithContext added in v5.49.0

func (i VirtualMachineGroupWsfcDomainProfileArgs) ToVirtualMachineGroupWsfcDomainProfileOutputWithContext(ctx context.Context) VirtualMachineGroupWsfcDomainProfileOutput

func (VirtualMachineGroupWsfcDomainProfileArgs) ToVirtualMachineGroupWsfcDomainProfilePtrOutput added in v5.49.0

func (i VirtualMachineGroupWsfcDomainProfileArgs) ToVirtualMachineGroupWsfcDomainProfilePtrOutput() VirtualMachineGroupWsfcDomainProfilePtrOutput

func (VirtualMachineGroupWsfcDomainProfileArgs) ToVirtualMachineGroupWsfcDomainProfilePtrOutputWithContext added in v5.49.0

func (i VirtualMachineGroupWsfcDomainProfileArgs) ToVirtualMachineGroupWsfcDomainProfilePtrOutputWithContext(ctx context.Context) VirtualMachineGroupWsfcDomainProfilePtrOutput

type VirtualMachineGroupWsfcDomainProfileInput added in v5.49.0

type VirtualMachineGroupWsfcDomainProfileInput interface {
	pulumi.Input

	ToVirtualMachineGroupWsfcDomainProfileOutput() VirtualMachineGroupWsfcDomainProfileOutput
	ToVirtualMachineGroupWsfcDomainProfileOutputWithContext(context.Context) VirtualMachineGroupWsfcDomainProfileOutput
}

VirtualMachineGroupWsfcDomainProfileInput is an input type that accepts VirtualMachineGroupWsfcDomainProfileArgs and VirtualMachineGroupWsfcDomainProfileOutput values. You can construct a concrete instance of `VirtualMachineGroupWsfcDomainProfileInput` via:

VirtualMachineGroupWsfcDomainProfileArgs{...}

type VirtualMachineGroupWsfcDomainProfileOutput added in v5.49.0

type VirtualMachineGroupWsfcDomainProfileOutput struct{ *pulumi.OutputState }

func (VirtualMachineGroupWsfcDomainProfileOutput) ClusterBootstrapAccountName added in v5.49.0

func (o VirtualMachineGroupWsfcDomainProfileOutput) ClusterBootstrapAccountName() pulumi.StringPtrOutput

The account name used for creating cluster. Changing this forces a new resource to be created.

func (VirtualMachineGroupWsfcDomainProfileOutput) ClusterOperatorAccountName added in v5.49.0

func (o VirtualMachineGroupWsfcDomainProfileOutput) ClusterOperatorAccountName() pulumi.StringPtrOutput

The account name used for operating cluster. Changing this forces a new resource to be created.

func (VirtualMachineGroupWsfcDomainProfileOutput) ClusterSubnetType added in v5.49.0

The subnet type of the SQL Virtual Machine cluster. Possible values are `MultiSubnet` and `SingleSubnet`. Changing this forces a new resource to be created.

func (VirtualMachineGroupWsfcDomainProfileOutput) ElementType added in v5.49.0

func (VirtualMachineGroupWsfcDomainProfileOutput) Fqdn added in v5.49.0

The fully qualified name of the domain. Changing this forces a new resource to be created.

func (VirtualMachineGroupWsfcDomainProfileOutput) OrganizationalUnitPath added in v5.49.0

The organizational Unit path in which the nodes and cluster will be present. Changing this forces a new resource to be created.

func (VirtualMachineGroupWsfcDomainProfileOutput) SqlServiceAccountName added in v5.49.0

The account name under which SQL service will run on all participating SQL virtual machines in the cluster. Changing this forces a new resource to be created.

func (VirtualMachineGroupWsfcDomainProfileOutput) StorageAccountPrimaryKey added in v5.49.0

The primary key of the Storage Account.

func (VirtualMachineGroupWsfcDomainProfileOutput) StorageAccountUrl added in v5.49.0

The SAS URL to the Storage Container of the witness storage account. Changing this forces a new resource to be created.

func (VirtualMachineGroupWsfcDomainProfileOutput) ToVirtualMachineGroupWsfcDomainProfileOutput added in v5.49.0

func (o VirtualMachineGroupWsfcDomainProfileOutput) ToVirtualMachineGroupWsfcDomainProfileOutput() VirtualMachineGroupWsfcDomainProfileOutput

func (VirtualMachineGroupWsfcDomainProfileOutput) ToVirtualMachineGroupWsfcDomainProfileOutputWithContext added in v5.49.0

func (o VirtualMachineGroupWsfcDomainProfileOutput) ToVirtualMachineGroupWsfcDomainProfileOutputWithContext(ctx context.Context) VirtualMachineGroupWsfcDomainProfileOutput

func (VirtualMachineGroupWsfcDomainProfileOutput) ToVirtualMachineGroupWsfcDomainProfilePtrOutput added in v5.49.0

func (o VirtualMachineGroupWsfcDomainProfileOutput) ToVirtualMachineGroupWsfcDomainProfilePtrOutput() VirtualMachineGroupWsfcDomainProfilePtrOutput

func (VirtualMachineGroupWsfcDomainProfileOutput) ToVirtualMachineGroupWsfcDomainProfilePtrOutputWithContext added in v5.49.0

func (o VirtualMachineGroupWsfcDomainProfileOutput) ToVirtualMachineGroupWsfcDomainProfilePtrOutputWithContext(ctx context.Context) VirtualMachineGroupWsfcDomainProfilePtrOutput

type VirtualMachineGroupWsfcDomainProfilePtrInput added in v5.49.0

type VirtualMachineGroupWsfcDomainProfilePtrInput interface {
	pulumi.Input

	ToVirtualMachineGroupWsfcDomainProfilePtrOutput() VirtualMachineGroupWsfcDomainProfilePtrOutput
	ToVirtualMachineGroupWsfcDomainProfilePtrOutputWithContext(context.Context) VirtualMachineGroupWsfcDomainProfilePtrOutput
}

VirtualMachineGroupWsfcDomainProfilePtrInput is an input type that accepts VirtualMachineGroupWsfcDomainProfileArgs, VirtualMachineGroupWsfcDomainProfilePtr and VirtualMachineGroupWsfcDomainProfilePtrOutput values. You can construct a concrete instance of `VirtualMachineGroupWsfcDomainProfilePtrInput` via:

        VirtualMachineGroupWsfcDomainProfileArgs{...}

or:

        nil

type VirtualMachineGroupWsfcDomainProfilePtrOutput added in v5.49.0

type VirtualMachineGroupWsfcDomainProfilePtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineGroupWsfcDomainProfilePtrOutput) ClusterBootstrapAccountName added in v5.49.0

The account name used for creating cluster. Changing this forces a new resource to be created.

func (VirtualMachineGroupWsfcDomainProfilePtrOutput) ClusterOperatorAccountName added in v5.49.0

The account name used for operating cluster. Changing this forces a new resource to be created.

func (VirtualMachineGroupWsfcDomainProfilePtrOutput) ClusterSubnetType added in v5.49.0

The subnet type of the SQL Virtual Machine cluster. Possible values are `MultiSubnet` and `SingleSubnet`. Changing this forces a new resource to be created.

func (VirtualMachineGroupWsfcDomainProfilePtrOutput) Elem added in v5.49.0

func (VirtualMachineGroupWsfcDomainProfilePtrOutput) ElementType added in v5.49.0

func (VirtualMachineGroupWsfcDomainProfilePtrOutput) Fqdn added in v5.49.0

The fully qualified name of the domain. Changing this forces a new resource to be created.

func (VirtualMachineGroupWsfcDomainProfilePtrOutput) OrganizationalUnitPath added in v5.49.0

The organizational Unit path in which the nodes and cluster will be present. Changing this forces a new resource to be created.

func (VirtualMachineGroupWsfcDomainProfilePtrOutput) SqlServiceAccountName added in v5.49.0

The account name under which SQL service will run on all participating SQL virtual machines in the cluster. Changing this forces a new resource to be created.

func (VirtualMachineGroupWsfcDomainProfilePtrOutput) StorageAccountPrimaryKey added in v5.49.0

The primary key of the Storage Account.

func (VirtualMachineGroupWsfcDomainProfilePtrOutput) StorageAccountUrl added in v5.49.0

The SAS URL to the Storage Container of the witness storage account. Changing this forces a new resource to be created.

func (VirtualMachineGroupWsfcDomainProfilePtrOutput) ToVirtualMachineGroupWsfcDomainProfilePtrOutput added in v5.49.0

func (o VirtualMachineGroupWsfcDomainProfilePtrOutput) ToVirtualMachineGroupWsfcDomainProfilePtrOutput() VirtualMachineGroupWsfcDomainProfilePtrOutput

func (VirtualMachineGroupWsfcDomainProfilePtrOutput) ToVirtualMachineGroupWsfcDomainProfilePtrOutputWithContext added in v5.49.0

func (o VirtualMachineGroupWsfcDomainProfilePtrOutput) ToVirtualMachineGroupWsfcDomainProfilePtrOutputWithContext(ctx context.Context) VirtualMachineGroupWsfcDomainProfilePtrOutput

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) Assessment added in v5.24.0

An `assessment` block as defined below.

func (VirtualMachineOutput) AutoBackup added in v5.5.0

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.

func (VirtualMachineOutput) AutoPatching added in v5.5.0

An `autoPatching` block as defined below.

func (VirtualMachineOutput) ElementType

func (VirtualMachineOutput) ElementType() reflect.Type

func (VirtualMachineOutput) KeyVaultCredential added in v5.5.0

An `keyVaultCredential` block as defined below.

func (VirtualMachineOutput) RServicesEnabled added in v5.5.0

func (o VirtualMachineOutput) RServicesEnabled() pulumi.BoolPtrOutput

Should R Services be enabled?

func (VirtualMachineOutput) SqlConnectivityPort added in v5.5.0

func (o VirtualMachineOutput) SqlConnectivityPort() pulumi.IntPtrOutput

The SQL Server port. Defaults to `1433`.

func (VirtualMachineOutput) SqlConnectivityType added in v5.5.0

func (o VirtualMachineOutput) SqlConnectivityType() pulumi.StringPtrOutput

The connectivity type used for this SQL Server. Possible values are `LOCAL`, `PRIVATE` and `PUBLIC`. Defaults to `PRIVATE`.

func (VirtualMachineOutput) SqlConnectivityUpdatePassword added in v5.5.0

func (o VirtualMachineOutput) SqlConnectivityUpdatePassword() pulumi.StringPtrOutput

The SQL Server sysadmin login password.

func (VirtualMachineOutput) SqlConnectivityUpdateUsername added in v5.5.0

func (o VirtualMachineOutput) SqlConnectivityUpdateUsername() pulumi.StringPtrOutput

The SQL Server sysadmin login to create.

func (VirtualMachineOutput) SqlInstance added in v5.25.0

A `sqlInstance` block as defined below.

func (VirtualMachineOutput) SqlLicenseType added in v5.5.0

func (o VirtualMachineOutput) SqlLicenseType() pulumi.StringPtrOutput

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.

func (VirtualMachineOutput) SqlVirtualMachineGroupId added in v5.49.0

func (o VirtualMachineOutput) SqlVirtualMachineGroupId() pulumi.StringPtrOutput

The ID of the SQL Virtual Machine Group that the SQL Virtual Machine belongs to.

func (VirtualMachineOutput) StorageConfiguration added in v5.5.0

An `storageConfiguration` block as defined below.

func (VirtualMachineOutput) Tags added in v5.5.0

A mapping of tags to assign to the resource.

func (VirtualMachineOutput) ToVirtualMachineOutput

func (o VirtualMachineOutput) ToVirtualMachineOutput() VirtualMachineOutput

func (VirtualMachineOutput) ToVirtualMachineOutputWithContext

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

func (VirtualMachineOutput) VirtualMachineId added in v5.5.0

func (o VirtualMachineOutput) VirtualMachineId() pulumi.StringOutput

The ID of the Virtual Machine. Changing this forces a new resource to be created.

func (VirtualMachineOutput) WsfcDomainCredential added in v5.49.0

A `wsfcDomainCredential` block as defined below

type VirtualMachineSqlInstance added in v5.25.0

type VirtualMachineSqlInstance struct {
	// Specifies if the SQL Server is optimized for adhoc workloads. Possible values are `true` and `false`. Defaults to `false`.
	AdhocWorkloadsOptimizationEnabled *bool `pulumi:"adhocWorkloadsOptimizationEnabled"`
	// Collation of the SQL Server. Defaults to `SQL_Latin1_General_CP1_CI_AS`. Changing this forces a new resource to be created.
	Collation *string `pulumi:"collation"`
	// Specifies if Instant File Initialization is enabled for the SQL Server. Possible values are `true` and `false`. Defaults to `false`. Changing this forces a new resource to be created.
	InstantFileInitializationEnabled *bool `pulumi:"instantFileInitializationEnabled"`
	// Specifies if Lock Pages in Memory is enabled for the SQL Server. Possible values are `true` and `false`. Defaults to `false`. Changing this forces a new resource to be created.
	LockPagesInMemoryEnabled *bool `pulumi:"lockPagesInMemoryEnabled"`
	// Maximum Degree of Parallelism of the SQL Server. Possible values are between `0` and `32767`. Defaults to `0`.
	MaxDop *int `pulumi:"maxDop"`
	// Maximum amount memory that SQL Server Memory Manager can allocate to the SQL Server process. Possible values are between `128` and `2147483647` Defaults to `2147483647`.
	MaxServerMemoryMb *int `pulumi:"maxServerMemoryMb"`
	// Minimum amount memory that SQL Server Memory Manager can allocate to the SQL Server process. Possible values are between `0` and `2147483647` Defaults to `0`.
	//
	// > **NOTE:** `maxServerMemoryMb` must be greater than or equal to `minServerMemoryMb`
	MinServerMemoryMb *int `pulumi:"minServerMemoryMb"`
}

type VirtualMachineSqlInstanceArgs added in v5.25.0

type VirtualMachineSqlInstanceArgs struct {
	// Specifies if the SQL Server is optimized for adhoc workloads. Possible values are `true` and `false`. Defaults to `false`.
	AdhocWorkloadsOptimizationEnabled pulumi.BoolPtrInput `pulumi:"adhocWorkloadsOptimizationEnabled"`
	// Collation of the SQL Server. Defaults to `SQL_Latin1_General_CP1_CI_AS`. Changing this forces a new resource to be created.
	Collation pulumi.StringPtrInput `pulumi:"collation"`
	// Specifies if Instant File Initialization is enabled for the SQL Server. Possible values are `true` and `false`. Defaults to `false`. Changing this forces a new resource to be created.
	InstantFileInitializationEnabled pulumi.BoolPtrInput `pulumi:"instantFileInitializationEnabled"`
	// Specifies if Lock Pages in Memory is enabled for the SQL Server. Possible values are `true` and `false`. Defaults to `false`. Changing this forces a new resource to be created.
	LockPagesInMemoryEnabled pulumi.BoolPtrInput `pulumi:"lockPagesInMemoryEnabled"`
	// Maximum Degree of Parallelism of the SQL Server. Possible values are between `0` and `32767`. Defaults to `0`.
	MaxDop pulumi.IntPtrInput `pulumi:"maxDop"`
	// Maximum amount memory that SQL Server Memory Manager can allocate to the SQL Server process. Possible values are between `128` and `2147483647` Defaults to `2147483647`.
	MaxServerMemoryMb pulumi.IntPtrInput `pulumi:"maxServerMemoryMb"`
	// Minimum amount memory that SQL Server Memory Manager can allocate to the SQL Server process. Possible values are between `0` and `2147483647` Defaults to `0`.
	//
	// > **NOTE:** `maxServerMemoryMb` must be greater than or equal to `minServerMemoryMb`
	MinServerMemoryMb pulumi.IntPtrInput `pulumi:"minServerMemoryMb"`
}

func (VirtualMachineSqlInstanceArgs) ElementType added in v5.25.0

func (VirtualMachineSqlInstanceArgs) ToVirtualMachineSqlInstanceOutput added in v5.25.0

func (i VirtualMachineSqlInstanceArgs) ToVirtualMachineSqlInstanceOutput() VirtualMachineSqlInstanceOutput

func (VirtualMachineSqlInstanceArgs) ToVirtualMachineSqlInstanceOutputWithContext added in v5.25.0

func (i VirtualMachineSqlInstanceArgs) ToVirtualMachineSqlInstanceOutputWithContext(ctx context.Context) VirtualMachineSqlInstanceOutput

func (VirtualMachineSqlInstanceArgs) ToVirtualMachineSqlInstancePtrOutput added in v5.25.0

func (i VirtualMachineSqlInstanceArgs) ToVirtualMachineSqlInstancePtrOutput() VirtualMachineSqlInstancePtrOutput

func (VirtualMachineSqlInstanceArgs) ToVirtualMachineSqlInstancePtrOutputWithContext added in v5.25.0

func (i VirtualMachineSqlInstanceArgs) ToVirtualMachineSqlInstancePtrOutputWithContext(ctx context.Context) VirtualMachineSqlInstancePtrOutput

type VirtualMachineSqlInstanceInput added in v5.25.0

type VirtualMachineSqlInstanceInput interface {
	pulumi.Input

	ToVirtualMachineSqlInstanceOutput() VirtualMachineSqlInstanceOutput
	ToVirtualMachineSqlInstanceOutputWithContext(context.Context) VirtualMachineSqlInstanceOutput
}

VirtualMachineSqlInstanceInput is an input type that accepts VirtualMachineSqlInstanceArgs and VirtualMachineSqlInstanceOutput values. You can construct a concrete instance of `VirtualMachineSqlInstanceInput` via:

VirtualMachineSqlInstanceArgs{...}

type VirtualMachineSqlInstanceOutput added in v5.25.0

type VirtualMachineSqlInstanceOutput struct{ *pulumi.OutputState }

func (VirtualMachineSqlInstanceOutput) AdhocWorkloadsOptimizationEnabled added in v5.25.0

func (o VirtualMachineSqlInstanceOutput) AdhocWorkloadsOptimizationEnabled() pulumi.BoolPtrOutput

Specifies if the SQL Server is optimized for adhoc workloads. Possible values are `true` and `false`. Defaults to `false`.

func (VirtualMachineSqlInstanceOutput) Collation added in v5.25.0

Collation of the SQL Server. Defaults to `SQL_Latin1_General_CP1_CI_AS`. Changing this forces a new resource to be created.

func (VirtualMachineSqlInstanceOutput) ElementType added in v5.25.0

func (VirtualMachineSqlInstanceOutput) InstantFileInitializationEnabled added in v5.25.0

func (o VirtualMachineSqlInstanceOutput) InstantFileInitializationEnabled() pulumi.BoolPtrOutput

Specifies if Instant File Initialization is enabled for the SQL Server. Possible values are `true` and `false`. Defaults to `false`. Changing this forces a new resource to be created.

func (VirtualMachineSqlInstanceOutput) LockPagesInMemoryEnabled added in v5.25.0

func (o VirtualMachineSqlInstanceOutput) LockPagesInMemoryEnabled() pulumi.BoolPtrOutput

Specifies if Lock Pages in Memory is enabled for the SQL Server. Possible values are `true` and `false`. Defaults to `false`. Changing this forces a new resource to be created.

func (VirtualMachineSqlInstanceOutput) MaxDop added in v5.25.0

Maximum Degree of Parallelism of the SQL Server. Possible values are between `0` and `32767`. Defaults to `0`.

func (VirtualMachineSqlInstanceOutput) MaxServerMemoryMb added in v5.25.0

func (o VirtualMachineSqlInstanceOutput) MaxServerMemoryMb() pulumi.IntPtrOutput

Maximum amount memory that SQL Server Memory Manager can allocate to the SQL Server process. Possible values are between `128` and `2147483647` Defaults to `2147483647`.

func (VirtualMachineSqlInstanceOutput) MinServerMemoryMb added in v5.25.0

func (o VirtualMachineSqlInstanceOutput) MinServerMemoryMb() pulumi.IntPtrOutput

Minimum amount memory that SQL Server Memory Manager can allocate to the SQL Server process. Possible values are between `0` and `2147483647` Defaults to `0`.

> **NOTE:** `maxServerMemoryMb` must be greater than or equal to `minServerMemoryMb`

func (VirtualMachineSqlInstanceOutput) ToVirtualMachineSqlInstanceOutput added in v5.25.0

func (o VirtualMachineSqlInstanceOutput) ToVirtualMachineSqlInstanceOutput() VirtualMachineSqlInstanceOutput

func (VirtualMachineSqlInstanceOutput) ToVirtualMachineSqlInstanceOutputWithContext added in v5.25.0

func (o VirtualMachineSqlInstanceOutput) ToVirtualMachineSqlInstanceOutputWithContext(ctx context.Context) VirtualMachineSqlInstanceOutput

func (VirtualMachineSqlInstanceOutput) ToVirtualMachineSqlInstancePtrOutput added in v5.25.0

func (o VirtualMachineSqlInstanceOutput) ToVirtualMachineSqlInstancePtrOutput() VirtualMachineSqlInstancePtrOutput

func (VirtualMachineSqlInstanceOutput) ToVirtualMachineSqlInstancePtrOutputWithContext added in v5.25.0

func (o VirtualMachineSqlInstanceOutput) ToVirtualMachineSqlInstancePtrOutputWithContext(ctx context.Context) VirtualMachineSqlInstancePtrOutput

type VirtualMachineSqlInstancePtrInput added in v5.25.0

type VirtualMachineSqlInstancePtrInput interface {
	pulumi.Input

	ToVirtualMachineSqlInstancePtrOutput() VirtualMachineSqlInstancePtrOutput
	ToVirtualMachineSqlInstancePtrOutputWithContext(context.Context) VirtualMachineSqlInstancePtrOutput
}

VirtualMachineSqlInstancePtrInput is an input type that accepts VirtualMachineSqlInstanceArgs, VirtualMachineSqlInstancePtr and VirtualMachineSqlInstancePtrOutput values. You can construct a concrete instance of `VirtualMachineSqlInstancePtrInput` via:

        VirtualMachineSqlInstanceArgs{...}

or:

        nil

func VirtualMachineSqlInstancePtr added in v5.25.0

type VirtualMachineSqlInstancePtrOutput added in v5.25.0

type VirtualMachineSqlInstancePtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineSqlInstancePtrOutput) AdhocWorkloadsOptimizationEnabled added in v5.25.0

func (o VirtualMachineSqlInstancePtrOutput) AdhocWorkloadsOptimizationEnabled() pulumi.BoolPtrOutput

Specifies if the SQL Server is optimized for adhoc workloads. Possible values are `true` and `false`. Defaults to `false`.

func (VirtualMachineSqlInstancePtrOutput) Collation added in v5.25.0

Collation of the SQL Server. Defaults to `SQL_Latin1_General_CP1_CI_AS`. Changing this forces a new resource to be created.

func (VirtualMachineSqlInstancePtrOutput) Elem added in v5.25.0

func (VirtualMachineSqlInstancePtrOutput) ElementType added in v5.25.0

func (VirtualMachineSqlInstancePtrOutput) InstantFileInitializationEnabled added in v5.25.0

func (o VirtualMachineSqlInstancePtrOutput) InstantFileInitializationEnabled() pulumi.BoolPtrOutput

Specifies if Instant File Initialization is enabled for the SQL Server. Possible values are `true` and `false`. Defaults to `false`. Changing this forces a new resource to be created.

func (VirtualMachineSqlInstancePtrOutput) LockPagesInMemoryEnabled added in v5.25.0

func (o VirtualMachineSqlInstancePtrOutput) LockPagesInMemoryEnabled() pulumi.BoolPtrOutput

Specifies if Lock Pages in Memory is enabled for the SQL Server. Possible values are `true` and `false`. Defaults to `false`. Changing this forces a new resource to be created.

func (VirtualMachineSqlInstancePtrOutput) MaxDop added in v5.25.0

Maximum Degree of Parallelism of the SQL Server. Possible values are between `0` and `32767`. Defaults to `0`.

func (VirtualMachineSqlInstancePtrOutput) MaxServerMemoryMb added in v5.25.0

Maximum amount memory that SQL Server Memory Manager can allocate to the SQL Server process. Possible values are between `128` and `2147483647` Defaults to `2147483647`.

func (VirtualMachineSqlInstancePtrOutput) MinServerMemoryMb added in v5.25.0

Minimum amount memory that SQL Server Memory Manager can allocate to the SQL Server process. Possible values are between `0` and `2147483647` Defaults to `0`.

> **NOTE:** `maxServerMemoryMb` must be greater than or equal to `minServerMemoryMb`

func (VirtualMachineSqlInstancePtrOutput) ToVirtualMachineSqlInstancePtrOutput added in v5.25.0

func (o VirtualMachineSqlInstancePtrOutput) ToVirtualMachineSqlInstancePtrOutput() VirtualMachineSqlInstancePtrOutput

func (VirtualMachineSqlInstancePtrOutput) ToVirtualMachineSqlInstancePtrOutputWithContext added in v5.25.0

func (o VirtualMachineSqlInstancePtrOutput) ToVirtualMachineSqlInstancePtrOutputWithContext(ctx context.Context) VirtualMachineSqlInstancePtrOutput

type VirtualMachineState

type VirtualMachineState struct {
	// An `assessment` block as defined below.
	Assessment VirtualMachineAssessmentPtrInput
	// 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
	// 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. Possible values are `LOCAL`, `PRIVATE` and `PUBLIC`. 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
	// A `sqlInstance` block as defined below.
	SqlInstance VirtualMachineSqlInstancePtrInput
	// 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
	// The ID of the SQL Virtual Machine Group that the SQL Virtual Machine belongs to.
	SqlVirtualMachineGroupId 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
	// A `wsfcDomainCredential` block as defined below
	WsfcDomainCredential VirtualMachineWsfcDomainCredentialPtrInput
}

func (VirtualMachineState) ElementType

func (VirtualMachineState) ElementType() reflect.Type

type VirtualMachineStorageConfiguration

type VirtualMachineStorageConfiguration struct {
	// A `storageSettings` block 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"`
	// A `storageSettings` block as defined below.
	LogSettings *VirtualMachineStorageConfigurationLogSettings `pulumi:"logSettings"`
	// The type of storage workload. Valid values include `GENERAL`, `OLTP`, or `DW`.
	StorageWorkloadType string `pulumi:"storageWorkloadType"`
	// Specifies whether to set system databases (except tempDb) location to newly created data storage. Possible values are `true` and `false`. Defaults to `false`.
	SystemDbOnDataDiskEnabled *bool `pulumi:"systemDbOnDataDiskEnabled"`
	// An `tempDbSettings` block as defined below.
	TempDbSettings *VirtualMachineStorageConfigurationTempDbSettings `pulumi:"tempDbSettings"`
}

type VirtualMachineStorageConfigurationArgs

type VirtualMachineStorageConfigurationArgs struct {
	// A `storageSettings` block 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"`
	// A `storageSettings` block as defined below.
	LogSettings VirtualMachineStorageConfigurationLogSettingsPtrInput `pulumi:"logSettings"`
	// The type of storage workload. Valid values include `GENERAL`, `OLTP`, or `DW`.
	StorageWorkloadType pulumi.StringInput `pulumi:"storageWorkloadType"`
	// Specifies whether to set system databases (except tempDb) location to newly created data storage. Possible values are `true` and `false`. Defaults to `false`.
	SystemDbOnDataDiskEnabled pulumi.BoolPtrInput `pulumi:"systemDbOnDataDiskEnabled"`
	// An `tempDbSettings` block 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 {
	DefaultFilePath string `pulumi:"defaultFilePath"`
	Luns            []int  `pulumi:"luns"`
}

type VirtualMachineStorageConfigurationDataSettingsArgs

type VirtualMachineStorageConfigurationDataSettingsArgs struct {
	DefaultFilePath pulumi.StringInput   `pulumi:"defaultFilePath"`
	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

func (VirtualMachineStorageConfigurationDataSettingsOutput) ElementType

func (VirtualMachineStorageConfigurationDataSettingsOutput) Luns

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

func (VirtualMachineStorageConfigurationDataSettingsPtrOutput) Elem

func (VirtualMachineStorageConfigurationDataSettingsPtrOutput) ElementType

func (VirtualMachineStorageConfigurationDataSettingsPtrOutput) Luns

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 {
	DefaultFilePath string `pulumi:"defaultFilePath"`
	Luns            []int  `pulumi:"luns"`
}

type VirtualMachineStorageConfigurationLogSettingsArgs

type VirtualMachineStorageConfigurationLogSettingsArgs struct {
	DefaultFilePath pulumi.StringInput   `pulumi:"defaultFilePath"`
	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

func (VirtualMachineStorageConfigurationLogSettingsOutput) ElementType

func (VirtualMachineStorageConfigurationLogSettingsOutput) Luns

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

func (VirtualMachineStorageConfigurationLogSettingsPtrOutput) Elem

func (VirtualMachineStorageConfigurationLogSettingsPtrOutput) ElementType

func (VirtualMachineStorageConfigurationLogSettingsPtrOutput) Luns

func (VirtualMachineStorageConfigurationLogSettingsPtrOutput) ToVirtualMachineStorageConfigurationLogSettingsPtrOutput

func (VirtualMachineStorageConfigurationLogSettingsPtrOutput) ToVirtualMachineStorageConfigurationLogSettingsPtrOutputWithContext

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

type VirtualMachineStorageConfigurationOutput

type VirtualMachineStorageConfigurationOutput struct{ *pulumi.OutputState }

func (VirtualMachineStorageConfigurationOutput) DataSettings

A `storageSettings` block 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

A `storageSettings` block as defined below.

func (VirtualMachineStorageConfigurationOutput) StorageWorkloadType

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

func (VirtualMachineStorageConfigurationOutput) SystemDbOnDataDiskEnabled added in v5.24.0

func (o VirtualMachineStorageConfigurationOutput) SystemDbOnDataDiskEnabled() pulumi.BoolPtrOutput

Specifies whether to set system databases (except tempDb) location to newly created data storage. Possible values are `true` and `false`. Defaults to `false`.

func (VirtualMachineStorageConfigurationOutput) TempDbSettings

An `tempDbSettings` block 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

A `storageSettings` block 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

A `storageSettings` block as defined below.

func (VirtualMachineStorageConfigurationPtrOutput) StorageWorkloadType

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

func (VirtualMachineStorageConfigurationPtrOutput) SystemDbOnDataDiskEnabled added in v5.24.0

Specifies whether to set system databases (except tempDb) location to newly created data storage. Possible values are `true` and `false`. Defaults to `false`.

func (VirtualMachineStorageConfigurationPtrOutput) TempDbSettings

An `tempDbSettings` block 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 file count. This value defaults to `8`
	DataFileCount *int `pulumi:"dataFileCount"`
	// The SQL Server default file size - This value defaults to `512`
	DataFileGrowthInMb *int `pulumi:"dataFileGrowthInMb"`
	// The SQL Server default file size - This value defaults to `256`
	DataFileSizeMb *int `pulumi:"dataFileSizeMb"`
	// The SQL Server default path
	DefaultFilePath string `pulumi:"defaultFilePath"`
	// The SQL Server default file size - This value defaults to `512`
	LogFileGrowthMb *int `pulumi:"logFileGrowthMb"`
	// The SQL Server default file size - This value defaults to `256`
	LogFileSizeMb *int `pulumi:"logFileSizeMb"`
	// A list of Logical Unit Numbers for the disks.
	Luns []int `pulumi:"luns"`
}

type VirtualMachineStorageConfigurationTempDbSettingsArgs

type VirtualMachineStorageConfigurationTempDbSettingsArgs struct {
	// The SQL Server default file count. This value defaults to `8`
	DataFileCount pulumi.IntPtrInput `pulumi:"dataFileCount"`
	// The SQL Server default file size - This value defaults to `512`
	DataFileGrowthInMb pulumi.IntPtrInput `pulumi:"dataFileGrowthInMb"`
	// The SQL Server default file size - This value defaults to `256`
	DataFileSizeMb pulumi.IntPtrInput `pulumi:"dataFileSizeMb"`
	// The SQL Server default path
	DefaultFilePath pulumi.StringInput `pulumi:"defaultFilePath"`
	// The SQL Server default file size - This value defaults to `512`
	LogFileGrowthMb pulumi.IntPtrInput `pulumi:"logFileGrowthMb"`
	// The SQL Server default file size - This value defaults to `256`
	LogFileSizeMb pulumi.IntPtrInput `pulumi:"logFileSizeMb"`
	// 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) DataFileCount added in v5.24.0

The SQL Server default file count. This value defaults to `8`

func (VirtualMachineStorageConfigurationTempDbSettingsOutput) DataFileGrowthInMb added in v5.24.0

The SQL Server default file size - This value defaults to `512`

func (VirtualMachineStorageConfigurationTempDbSettingsOutput) DataFileSizeMb added in v5.24.0

The SQL Server default file size - This value defaults to `256`

func (VirtualMachineStorageConfigurationTempDbSettingsOutput) DefaultFilePath

The SQL Server default path

func (VirtualMachineStorageConfigurationTempDbSettingsOutput) ElementType

func (VirtualMachineStorageConfigurationTempDbSettingsOutput) LogFileGrowthMb added in v5.24.0

The SQL Server default file size - This value defaults to `512`

func (VirtualMachineStorageConfigurationTempDbSettingsOutput) LogFileSizeMb added in v5.24.0

The SQL Server default file size - This value defaults to `256`

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) DataFileCount added in v5.24.0

The SQL Server default file count. This value defaults to `8`

func (VirtualMachineStorageConfigurationTempDbSettingsPtrOutput) DataFileGrowthInMb added in v5.24.0

The SQL Server default file size - This value defaults to `512`

func (VirtualMachineStorageConfigurationTempDbSettingsPtrOutput) DataFileSizeMb added in v5.24.0

The SQL Server default file size - This value defaults to `256`

func (VirtualMachineStorageConfigurationTempDbSettingsPtrOutput) DefaultFilePath

The SQL Server default path

func (VirtualMachineStorageConfigurationTempDbSettingsPtrOutput) Elem

func (VirtualMachineStorageConfigurationTempDbSettingsPtrOutput) ElementType

func (VirtualMachineStorageConfigurationTempDbSettingsPtrOutput) LogFileGrowthMb added in v5.24.0

The SQL Server default file size - This value defaults to `512`

func (VirtualMachineStorageConfigurationTempDbSettingsPtrOutput) LogFileSizeMb added in v5.24.0

The SQL Server default file size - This value defaults to `256`

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 VirtualMachineWsfcDomainCredential added in v5.49.0

type VirtualMachineWsfcDomainCredential struct {
	// The account password used for creating cluster.
	ClusterBootstrapAccountPassword string `pulumi:"clusterBootstrapAccountPassword"`
	// The account password used for operating cluster.
	ClusterOperatorAccountPassword string `pulumi:"clusterOperatorAccountPassword"`
	// The account password under which SQL service will run on all participating SQL virtual machines in the cluster.
	SqlServiceAccountPassword string `pulumi:"sqlServiceAccountPassword"`
}

type VirtualMachineWsfcDomainCredentialArgs added in v5.49.0

type VirtualMachineWsfcDomainCredentialArgs struct {
	// The account password used for creating cluster.
	ClusterBootstrapAccountPassword pulumi.StringInput `pulumi:"clusterBootstrapAccountPassword"`
	// The account password used for operating cluster.
	ClusterOperatorAccountPassword pulumi.StringInput `pulumi:"clusterOperatorAccountPassword"`
	// The account password under which SQL service will run on all participating SQL virtual machines in the cluster.
	SqlServiceAccountPassword pulumi.StringInput `pulumi:"sqlServiceAccountPassword"`
}

func (VirtualMachineWsfcDomainCredentialArgs) ElementType added in v5.49.0

func (VirtualMachineWsfcDomainCredentialArgs) ToVirtualMachineWsfcDomainCredentialOutput added in v5.49.0

func (i VirtualMachineWsfcDomainCredentialArgs) ToVirtualMachineWsfcDomainCredentialOutput() VirtualMachineWsfcDomainCredentialOutput

func (VirtualMachineWsfcDomainCredentialArgs) ToVirtualMachineWsfcDomainCredentialOutputWithContext added in v5.49.0

func (i VirtualMachineWsfcDomainCredentialArgs) ToVirtualMachineWsfcDomainCredentialOutputWithContext(ctx context.Context) VirtualMachineWsfcDomainCredentialOutput

func (VirtualMachineWsfcDomainCredentialArgs) ToVirtualMachineWsfcDomainCredentialPtrOutput added in v5.49.0

func (i VirtualMachineWsfcDomainCredentialArgs) ToVirtualMachineWsfcDomainCredentialPtrOutput() VirtualMachineWsfcDomainCredentialPtrOutput

func (VirtualMachineWsfcDomainCredentialArgs) ToVirtualMachineWsfcDomainCredentialPtrOutputWithContext added in v5.49.0

func (i VirtualMachineWsfcDomainCredentialArgs) ToVirtualMachineWsfcDomainCredentialPtrOutputWithContext(ctx context.Context) VirtualMachineWsfcDomainCredentialPtrOutput

type VirtualMachineWsfcDomainCredentialInput added in v5.49.0

type VirtualMachineWsfcDomainCredentialInput interface {
	pulumi.Input

	ToVirtualMachineWsfcDomainCredentialOutput() VirtualMachineWsfcDomainCredentialOutput
	ToVirtualMachineWsfcDomainCredentialOutputWithContext(context.Context) VirtualMachineWsfcDomainCredentialOutput
}

VirtualMachineWsfcDomainCredentialInput is an input type that accepts VirtualMachineWsfcDomainCredentialArgs and VirtualMachineWsfcDomainCredentialOutput values. You can construct a concrete instance of `VirtualMachineWsfcDomainCredentialInput` via:

VirtualMachineWsfcDomainCredentialArgs{...}

type VirtualMachineWsfcDomainCredentialOutput added in v5.49.0

type VirtualMachineWsfcDomainCredentialOutput struct{ *pulumi.OutputState }

func (VirtualMachineWsfcDomainCredentialOutput) ClusterBootstrapAccountPassword added in v5.49.0

func (o VirtualMachineWsfcDomainCredentialOutput) ClusterBootstrapAccountPassword() pulumi.StringOutput

The account password used for creating cluster.

func (VirtualMachineWsfcDomainCredentialOutput) ClusterOperatorAccountPassword added in v5.49.0

func (o VirtualMachineWsfcDomainCredentialOutput) ClusterOperatorAccountPassword() pulumi.StringOutput

The account password used for operating cluster.

func (VirtualMachineWsfcDomainCredentialOutput) ElementType added in v5.49.0

func (VirtualMachineWsfcDomainCredentialOutput) SqlServiceAccountPassword added in v5.49.0

func (o VirtualMachineWsfcDomainCredentialOutput) SqlServiceAccountPassword() pulumi.StringOutput

The account password under which SQL service will run on all participating SQL virtual machines in the cluster.

func (VirtualMachineWsfcDomainCredentialOutput) ToVirtualMachineWsfcDomainCredentialOutput added in v5.49.0

func (o VirtualMachineWsfcDomainCredentialOutput) ToVirtualMachineWsfcDomainCredentialOutput() VirtualMachineWsfcDomainCredentialOutput

func (VirtualMachineWsfcDomainCredentialOutput) ToVirtualMachineWsfcDomainCredentialOutputWithContext added in v5.49.0

func (o VirtualMachineWsfcDomainCredentialOutput) ToVirtualMachineWsfcDomainCredentialOutputWithContext(ctx context.Context) VirtualMachineWsfcDomainCredentialOutput

func (VirtualMachineWsfcDomainCredentialOutput) ToVirtualMachineWsfcDomainCredentialPtrOutput added in v5.49.0

func (o VirtualMachineWsfcDomainCredentialOutput) ToVirtualMachineWsfcDomainCredentialPtrOutput() VirtualMachineWsfcDomainCredentialPtrOutput

func (VirtualMachineWsfcDomainCredentialOutput) ToVirtualMachineWsfcDomainCredentialPtrOutputWithContext added in v5.49.0

func (o VirtualMachineWsfcDomainCredentialOutput) ToVirtualMachineWsfcDomainCredentialPtrOutputWithContext(ctx context.Context) VirtualMachineWsfcDomainCredentialPtrOutput

type VirtualMachineWsfcDomainCredentialPtrInput added in v5.49.0

type VirtualMachineWsfcDomainCredentialPtrInput interface {
	pulumi.Input

	ToVirtualMachineWsfcDomainCredentialPtrOutput() VirtualMachineWsfcDomainCredentialPtrOutput
	ToVirtualMachineWsfcDomainCredentialPtrOutputWithContext(context.Context) VirtualMachineWsfcDomainCredentialPtrOutput
}

VirtualMachineWsfcDomainCredentialPtrInput is an input type that accepts VirtualMachineWsfcDomainCredentialArgs, VirtualMachineWsfcDomainCredentialPtr and VirtualMachineWsfcDomainCredentialPtrOutput values. You can construct a concrete instance of `VirtualMachineWsfcDomainCredentialPtrInput` via:

        VirtualMachineWsfcDomainCredentialArgs{...}

or:

        nil

type VirtualMachineWsfcDomainCredentialPtrOutput added in v5.49.0

type VirtualMachineWsfcDomainCredentialPtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineWsfcDomainCredentialPtrOutput) ClusterBootstrapAccountPassword added in v5.49.0

func (o VirtualMachineWsfcDomainCredentialPtrOutput) ClusterBootstrapAccountPassword() pulumi.StringPtrOutput

The account password used for creating cluster.

func (VirtualMachineWsfcDomainCredentialPtrOutput) ClusterOperatorAccountPassword added in v5.49.0

func (o VirtualMachineWsfcDomainCredentialPtrOutput) ClusterOperatorAccountPassword() pulumi.StringPtrOutput

The account password used for operating cluster.

func (VirtualMachineWsfcDomainCredentialPtrOutput) Elem added in v5.49.0

func (VirtualMachineWsfcDomainCredentialPtrOutput) ElementType added in v5.49.0

func (VirtualMachineWsfcDomainCredentialPtrOutput) SqlServiceAccountPassword added in v5.49.0

The account password under which SQL service will run on all participating SQL virtual machines in the cluster.

func (VirtualMachineWsfcDomainCredentialPtrOutput) ToVirtualMachineWsfcDomainCredentialPtrOutput added in v5.49.0

func (o VirtualMachineWsfcDomainCredentialPtrOutput) ToVirtualMachineWsfcDomainCredentialPtrOutput() VirtualMachineWsfcDomainCredentialPtrOutput

func (VirtualMachineWsfcDomainCredentialPtrOutput) ToVirtualMachineWsfcDomainCredentialPtrOutputWithContext added in v5.49.0

func (o VirtualMachineWsfcDomainCredentialPtrOutput) ToVirtualMachineWsfcDomainCredentialPtrOutputWithContext(ctx context.Context) VirtualMachineWsfcDomainCredentialPtrOutput

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`.
	//
	// > **NOTE:** If `ignoreMissingVnetServiceEndpoint` is false, and the target subnet does not contain the `Microsoft.SQL` endpoint in the `serviceEndpoints` array, the deployment will fail when it tries to create the SQL virtual network rule.
	IgnoreMissingVnetServiceEndpoint pulumi.BoolPtrOutput `pulumi:"ignoreMissingVnetServiceEndpoint"`
	// The name of the SQL virtual network rule. Changing this forces a new resource to be created.
	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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-sql-server-vnet-rule"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name: pulumi.String("example-vnet"),
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.7.29.0/29"),
			},
			Location:          example.Location,
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("example-subnet"),
			ResourceGroupName:  example.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, "example", &mssql.ServerArgs{
			Name:                       pulumi.String("uniqueazuresqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("12.0"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		_, err = mssql.NewVirtualNetworkRule(ctx, "example", &mssql.VirtualNetworkRuleArgs{
			Name:     pulumi.String("sql-vnet-rule"),
			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`.
	//
	// > **NOTE:** If `ignoreMissingVnetServiceEndpoint` is false, and the target subnet does not contain the `Microsoft.SQL` endpoint in the `serviceEndpoints` array, the deployment will fail when it tries to create the SQL virtual network rule.
	IgnoreMissingVnetServiceEndpoint pulumi.BoolPtrInput
	// The name of the SQL virtual network rule. Changing this forces a new resource to be created.
	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) IgnoreMissingVnetServiceEndpoint added in v5.5.0

func (o VirtualNetworkRuleOutput) IgnoreMissingVnetServiceEndpoint() pulumi.BoolPtrOutput

Create the virtual network rule before the subnet has the virtual network service endpoint enabled. Defaults to `false`.

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

func (VirtualNetworkRuleOutput) Name added in v5.5.0

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

func (VirtualNetworkRuleOutput) ServerId added in v5.5.0

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.

func (VirtualNetworkRuleOutput) SubnetId added in v5.5.0

The ID of the subnet from which the SQL server will accept communications.

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`.
	//
	// > **NOTE:** If `ignoreMissingVnetServiceEndpoint` is false, and the target subnet does not contain the `Microsoft.SQL` endpoint in the `serviceEndpoints` array, the deployment will fail when it tries to create the SQL virtual network rule.
	IgnoreMissingVnetServiceEndpoint pulumi.BoolPtrInput
	// The name of the SQL virtual network rule. Changing this forces a new resource to be created.
	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