mysql

package
v5.80.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActiveDirectoryAdministrator

type ActiveDirectoryAdministrator struct {
	pulumi.CustomResourceState

	// The login name of the principal to set as the server administrator
	Login pulumi.StringOutput `pulumi:"login"`
	// The ID of the principal to set as the server administrator. For a managed identity this should be the Client ID of the identity.
	ObjectId pulumi.StringOutput `pulumi:"objectId"`
	// The name of the resource group for the MySQL server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The name of the MySQL Server on which to set the administrator. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// The Azure Tenant ID
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

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

> **Note:** Azure Database for MySQL Single Server and its sub resources are scheduled for retirement by 2024-09-16 and will migrate to using Azure Database for MySQL Flexible Server: https://go.microsoft.com/fwlink/?linkid=2216041. The `mysql.ActiveDirectoryAdministrator` resource is deprecated and will be removed in v4.0 of the AzureRM Provider. Please use the `mysql.FlexibleServerActiveDirectoryAdministratory` resource instead.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mysql"
"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
		}
		exampleServer, err := mysql.NewServer(ctx, "example", &mysql.ServerArgs{
			Name:                       pulumi.String("example-mysqlserver"),
			Location:                   example.Location,
			ResourceGroupName:          example.Name,
			AdministratorLogin:         pulumi.String("mysqladminun"),
			AdministratorLoginPassword: pulumi.String("H@Sh1CoR3!"),
			SslEnforcementEnabled:      pulumi.Bool(true),
			SkuName:                    pulumi.String("B_Gen5_2"),
			StorageMb:                  pulumi.Int(5120),
			Version:                    pulumi.String("5.7"),
		})
		if err != nil {
			return err
		}
		_, err = mysql.NewActiveDirectoryAdministrator(ctx, "example", &mysql.ActiveDirectoryAdministratorArgs{
			ServerName:        exampleServer.Name,
			ResourceGroupName: example.Name,
			Login:             pulumi.String("sqladmin"),
			TenantId:          pulumi.String(current.TenantId),
			ObjectId:          pulumi.String(current.ObjectId),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

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

func GetActiveDirectoryAdministrator

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

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

func NewActiveDirectoryAdministrator

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

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

func (*ActiveDirectoryAdministrator) ElementType

func (*ActiveDirectoryAdministrator) ElementType() reflect.Type

func (*ActiveDirectoryAdministrator) ToActiveDirectoryAdministratorOutput

func (i *ActiveDirectoryAdministrator) ToActiveDirectoryAdministratorOutput() ActiveDirectoryAdministratorOutput

func (*ActiveDirectoryAdministrator) ToActiveDirectoryAdministratorOutputWithContext

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

type ActiveDirectoryAdministratorArgs

type ActiveDirectoryAdministratorArgs struct {
	// The login name of the principal to set as the server administrator
	Login pulumi.StringInput
	// The ID of the principal to set as the server administrator. For a managed identity this should be the Client ID of the identity.
	ObjectId pulumi.StringInput
	// The name of the resource group for the MySQL server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The name of the MySQL Server on which to set the administrator. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
	// The Azure Tenant ID
	TenantId pulumi.StringInput
}

The set of arguments for constructing a ActiveDirectoryAdministrator resource.

func (ActiveDirectoryAdministratorArgs) ElementType

type ActiveDirectoryAdministratorArray

type ActiveDirectoryAdministratorArray []ActiveDirectoryAdministratorInput

func (ActiveDirectoryAdministratorArray) ElementType

func (ActiveDirectoryAdministratorArray) ToActiveDirectoryAdministratorArrayOutput

func (i ActiveDirectoryAdministratorArray) ToActiveDirectoryAdministratorArrayOutput() ActiveDirectoryAdministratorArrayOutput

func (ActiveDirectoryAdministratorArray) ToActiveDirectoryAdministratorArrayOutputWithContext

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

type ActiveDirectoryAdministratorArrayInput

type ActiveDirectoryAdministratorArrayInput interface {
	pulumi.Input

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

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

ActiveDirectoryAdministratorArray{ ActiveDirectoryAdministratorArgs{...} }

type ActiveDirectoryAdministratorArrayOutput

type ActiveDirectoryAdministratorArrayOutput struct{ *pulumi.OutputState }

func (ActiveDirectoryAdministratorArrayOutput) ElementType

func (ActiveDirectoryAdministratorArrayOutput) Index

func (ActiveDirectoryAdministratorArrayOutput) ToActiveDirectoryAdministratorArrayOutput

func (o ActiveDirectoryAdministratorArrayOutput) ToActiveDirectoryAdministratorArrayOutput() ActiveDirectoryAdministratorArrayOutput

func (ActiveDirectoryAdministratorArrayOutput) ToActiveDirectoryAdministratorArrayOutputWithContext

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

type ActiveDirectoryAdministratorInput

type ActiveDirectoryAdministratorInput interface {
	pulumi.Input

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

type ActiveDirectoryAdministratorMap

type ActiveDirectoryAdministratorMap map[string]ActiveDirectoryAdministratorInput

func (ActiveDirectoryAdministratorMap) ElementType

func (ActiveDirectoryAdministratorMap) ToActiveDirectoryAdministratorMapOutput

func (i ActiveDirectoryAdministratorMap) ToActiveDirectoryAdministratorMapOutput() ActiveDirectoryAdministratorMapOutput

func (ActiveDirectoryAdministratorMap) ToActiveDirectoryAdministratorMapOutputWithContext

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

type ActiveDirectoryAdministratorMapInput

type ActiveDirectoryAdministratorMapInput interface {
	pulumi.Input

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

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

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

type ActiveDirectoryAdministratorMapOutput

type ActiveDirectoryAdministratorMapOutput struct{ *pulumi.OutputState }

func (ActiveDirectoryAdministratorMapOutput) ElementType

func (ActiveDirectoryAdministratorMapOutput) MapIndex

func (ActiveDirectoryAdministratorMapOutput) ToActiveDirectoryAdministratorMapOutput

func (o ActiveDirectoryAdministratorMapOutput) ToActiveDirectoryAdministratorMapOutput() ActiveDirectoryAdministratorMapOutput

func (ActiveDirectoryAdministratorMapOutput) ToActiveDirectoryAdministratorMapOutputWithContext

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

type ActiveDirectoryAdministratorOutput

type ActiveDirectoryAdministratorOutput struct{ *pulumi.OutputState }

func (ActiveDirectoryAdministratorOutput) ElementType

func (ActiveDirectoryAdministratorOutput) Login added in v5.5.0

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

func (ActiveDirectoryAdministratorOutput) ObjectId added in v5.5.0

The ID of the principal to set as the server administrator. For a managed identity this should be the Client ID of the identity.

func (ActiveDirectoryAdministratorOutput) ResourceGroupName added in v5.5.0

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

func (ActiveDirectoryAdministratorOutput) ServerName added in v5.5.0

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

func (ActiveDirectoryAdministratorOutput) TenantId added in v5.5.0

The Azure Tenant ID

func (ActiveDirectoryAdministratorOutput) ToActiveDirectoryAdministratorOutput

func (o ActiveDirectoryAdministratorOutput) ToActiveDirectoryAdministratorOutput() ActiveDirectoryAdministratorOutput

func (ActiveDirectoryAdministratorOutput) ToActiveDirectoryAdministratorOutputWithContext

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

type ActiveDirectoryAdministratorState

type ActiveDirectoryAdministratorState struct {
	// The login name of the principal to set as the server administrator
	Login pulumi.StringPtrInput
	// The ID of the principal to set as the server administrator. For a managed identity this should be the Client ID of the identity.
	ObjectId pulumi.StringPtrInput
	// The name of the resource group for the MySQL server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The name of the MySQL Server on which to set the administrator. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
	// The Azure Tenant ID
	TenantId pulumi.StringPtrInput
}

func (ActiveDirectoryAdministratorState) ElementType

type Configuration

type Configuration struct {
	pulumi.CustomResourceState

	// Specifies the name of the MySQL Configuration, which needs [to be a valid MySQL configuration name](https://dev.mysql.com/doc/refman/5.7/en/server-configuration.html). Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the resource group in which the MySQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the name of the MySQL Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// Specifies the value of the MySQL Configuration. See the MySQL documentation for valid values. Changing this forces a new resource to be created.
	Value pulumi.StringOutput `pulumi:"value"`
}

Sets a MySQL Configuration value on a MySQL Server.

> **Note:** Azure Database for MySQL Single Server and its sub resources are scheduled for retirement by 2024-09-16 and will migrate to using Azure Database for MySQL Flexible Server: https://go.microsoft.com/fwlink/?linkid=2216041. The `mysql.Configuration` resource is deprecated and will be removed in v4.0 of the AzureRM Provider. Please use the `mysql.FlexibleServerConfiguration` resource instead.

## Disclaimers

> **Note:** Since this resource is provisioned by default, the Azure Provider will not check for the presence of an existing resource prior to attempting to create it.

## 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/mysql"
"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 := mysql.NewServer(ctx, "example", &mysql.ServerArgs{
			Name:                            pulumi.String("example-mysqlserver"),
			Location:                        example.Location,
			ResourceGroupName:               example.Name,
			AdministratorLogin:              pulumi.String("mysqladminun"),
			AdministratorLoginPassword:      pulumi.String("H@Sh1CoR3!"),
			SkuName:                         pulumi.String("B_Gen5_2"),
			StorageMb:                       pulumi.Int(5120),
			Version:                         pulumi.String("5.7"),
			AutoGrowEnabled:                 pulumi.Bool(true),
			BackupRetentionDays:             pulumi.Int(7),
			GeoRedundantBackupEnabled:       pulumi.Bool(true),
			InfrastructureEncryptionEnabled: pulumi.Bool(true),
			PublicNetworkAccessEnabled:      pulumi.Bool(false),
			SslEnforcementEnabled:           pulumi.Bool(true),
			SslMinimalTlsVersionEnforced:    pulumi.String("TLS1_2"),
		})
		if err != nil {
			return err
		}
		_, err = mysql.NewConfiguration(ctx, "example", &mysql.ConfigurationArgs{
			Name:              pulumi.String("interactive_timeout"),
			ResourceGroupName: example.Name,
			ServerName:        exampleServer.Name,
			Value:             pulumi.String("600"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

MySQL Configurations can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:mysql/configuration:Configuration interactive_timeout /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforMySQL/servers/server1/configurations/interactive_timeout ```

func GetConfiguration

func GetConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConfigurationState, opts ...pulumi.ResourceOption) (*Configuration, error)

GetConfiguration gets an existing Configuration 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 NewConfiguration

func NewConfiguration(ctx *pulumi.Context,
	name string, args *ConfigurationArgs, opts ...pulumi.ResourceOption) (*Configuration, error)

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

func (*Configuration) ElementType

func (*Configuration) ElementType() reflect.Type

func (*Configuration) ToConfigurationOutput

func (i *Configuration) ToConfigurationOutput() ConfigurationOutput

func (*Configuration) ToConfigurationOutputWithContext

func (i *Configuration) ToConfigurationOutputWithContext(ctx context.Context) ConfigurationOutput

type ConfigurationArgs

type ConfigurationArgs struct {
	// Specifies the name of the MySQL Configuration, which needs [to be a valid MySQL configuration name](https://dev.mysql.com/doc/refman/5.7/en/server-configuration.html). Changing this forces a new resource to be created.
	Name pulumi.StringInput
	// The name of the resource group in which the MySQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Specifies the name of the MySQL Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
	// Specifies the value of the MySQL Configuration. See the MySQL documentation for valid values. Changing this forces a new resource to be created.
	Value pulumi.StringInput
}

The set of arguments for constructing a Configuration resource.

func (ConfigurationArgs) ElementType

func (ConfigurationArgs) ElementType() reflect.Type

type ConfigurationArray

type ConfigurationArray []ConfigurationInput

func (ConfigurationArray) ElementType

func (ConfigurationArray) ElementType() reflect.Type

func (ConfigurationArray) ToConfigurationArrayOutput

func (i ConfigurationArray) ToConfigurationArrayOutput() ConfigurationArrayOutput

func (ConfigurationArray) ToConfigurationArrayOutputWithContext

func (i ConfigurationArray) ToConfigurationArrayOutputWithContext(ctx context.Context) ConfigurationArrayOutput

type ConfigurationArrayInput

type ConfigurationArrayInput interface {
	pulumi.Input

	ToConfigurationArrayOutput() ConfigurationArrayOutput
	ToConfigurationArrayOutputWithContext(context.Context) ConfigurationArrayOutput
}

ConfigurationArrayInput is an input type that accepts ConfigurationArray and ConfigurationArrayOutput values. You can construct a concrete instance of `ConfigurationArrayInput` via:

ConfigurationArray{ ConfigurationArgs{...} }

type ConfigurationArrayOutput

type ConfigurationArrayOutput struct{ *pulumi.OutputState }

func (ConfigurationArrayOutput) ElementType

func (ConfigurationArrayOutput) ElementType() reflect.Type

func (ConfigurationArrayOutput) Index

func (ConfigurationArrayOutput) ToConfigurationArrayOutput

func (o ConfigurationArrayOutput) ToConfigurationArrayOutput() ConfigurationArrayOutput

func (ConfigurationArrayOutput) ToConfigurationArrayOutputWithContext

func (o ConfigurationArrayOutput) ToConfigurationArrayOutputWithContext(ctx context.Context) ConfigurationArrayOutput

type ConfigurationInput

type ConfigurationInput interface {
	pulumi.Input

	ToConfigurationOutput() ConfigurationOutput
	ToConfigurationOutputWithContext(ctx context.Context) ConfigurationOutput
}

type ConfigurationMap

type ConfigurationMap map[string]ConfigurationInput

func (ConfigurationMap) ElementType

func (ConfigurationMap) ElementType() reflect.Type

func (ConfigurationMap) ToConfigurationMapOutput

func (i ConfigurationMap) ToConfigurationMapOutput() ConfigurationMapOutput

func (ConfigurationMap) ToConfigurationMapOutputWithContext

func (i ConfigurationMap) ToConfigurationMapOutputWithContext(ctx context.Context) ConfigurationMapOutput

type ConfigurationMapInput

type ConfigurationMapInput interface {
	pulumi.Input

	ToConfigurationMapOutput() ConfigurationMapOutput
	ToConfigurationMapOutputWithContext(context.Context) ConfigurationMapOutput
}

ConfigurationMapInput is an input type that accepts ConfigurationMap and ConfigurationMapOutput values. You can construct a concrete instance of `ConfigurationMapInput` via:

ConfigurationMap{ "key": ConfigurationArgs{...} }

type ConfigurationMapOutput

type ConfigurationMapOutput struct{ *pulumi.OutputState }

func (ConfigurationMapOutput) ElementType

func (ConfigurationMapOutput) ElementType() reflect.Type

func (ConfigurationMapOutput) MapIndex

func (ConfigurationMapOutput) ToConfigurationMapOutput

func (o ConfigurationMapOutput) ToConfigurationMapOutput() ConfigurationMapOutput

func (ConfigurationMapOutput) ToConfigurationMapOutputWithContext

func (o ConfigurationMapOutput) ToConfigurationMapOutputWithContext(ctx context.Context) ConfigurationMapOutput

type ConfigurationOutput

type ConfigurationOutput struct{ *pulumi.OutputState }

func (ConfigurationOutput) ElementType

func (ConfigurationOutput) ElementType() reflect.Type

func (ConfigurationOutput) Name added in v5.5.0

Specifies the name of the MySQL Configuration, which needs [to be a valid MySQL configuration name](https://dev.mysql.com/doc/refman/5.7/en/server-configuration.html). Changing this forces a new resource to be created.

func (ConfigurationOutput) ResourceGroupName added in v5.5.0

func (o ConfigurationOutput) ResourceGroupName() pulumi.StringOutput

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

func (ConfigurationOutput) ServerName added in v5.5.0

func (o ConfigurationOutput) ServerName() pulumi.StringOutput

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

func (ConfigurationOutput) ToConfigurationOutput

func (o ConfigurationOutput) ToConfigurationOutput() ConfigurationOutput

func (ConfigurationOutput) ToConfigurationOutputWithContext

func (o ConfigurationOutput) ToConfigurationOutputWithContext(ctx context.Context) ConfigurationOutput

func (ConfigurationOutput) Value added in v5.5.0

Specifies the value of the MySQL Configuration. See the MySQL documentation for valid values. Changing this forces a new resource to be created.

type ConfigurationState

type ConfigurationState struct {
	// Specifies the name of the MySQL Configuration, which needs [to be a valid MySQL configuration name](https://dev.mysql.com/doc/refman/5.7/en/server-configuration.html). Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which the MySQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the name of the MySQL Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
	// Specifies the value of the MySQL Configuration. See the MySQL documentation for valid values. Changing this forces a new resource to be created.
	Value pulumi.StringPtrInput
}

func (ConfigurationState) ElementType

func (ConfigurationState) ElementType() reflect.Type

type Database

type Database struct {
	pulumi.CustomResourceState

	// Specifies the Charset for the MySQL Database, which needs [to be a valid MySQL Charset](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html). Changing this forces a new resource to be created.
	Charset pulumi.StringOutput `pulumi:"charset"`
	// Specifies the Collation for the MySQL Database, which needs [to be a valid MySQL Collation](https://dev.mysql.com/doc/refman/5.7/en/charset-mysql.html). Changing this forces a new resource to be created.
	Collation pulumi.StringOutput `pulumi:"collation"`
	// Specifies the name of the MySQL Database, which needs [to be a valid MySQL identifier](https://dev.mysql.com/doc/refman/5.7/en/identifiers.html). Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the resource group in which the MySQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the name of the MySQL Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
}

## 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/mysql"
"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 := mysql.NewServer(ctx, "example", &mysql.ServerArgs{
			Name:                            pulumi.String("example-mysqlserver"),
			Location:                        example.Location,
			ResourceGroupName:               example.Name,
			AdministratorLogin:              pulumi.String("mysqladminun"),
			AdministratorLoginPassword:      pulumi.String("H@Sh1CoR3!"),
			SkuName:                         pulumi.String("GP_Gen5_2"),
			StorageMb:                       pulumi.Int(5120),
			Version:                         pulumi.String("5.7"),
			AutoGrowEnabled:                 pulumi.Bool(true),
			BackupRetentionDays:             pulumi.Int(7),
			GeoRedundantBackupEnabled:       pulumi.Bool(true),
			InfrastructureEncryptionEnabled: pulumi.Bool(true),
			PublicNetworkAccessEnabled:      pulumi.Bool(false),
			SslEnforcementEnabled:           pulumi.Bool(true),
			SslMinimalTlsVersionEnforced:    pulumi.String("TLS1_2"),
		})
		if err != nil {
			return err
		}
		_, err = mysql.NewDatabase(ctx, "example", &mysql.DatabaseArgs{
			Name:              pulumi.String("exampledb"),
			ResourceGroupName: example.Name,
			ServerName:        exampleServer.Name,
			Charset:           pulumi.String("utf8"),
			Collation:         pulumi.String("utf8_unicode_ci"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

MySQL Database's can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:mysql/database:Database database1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforMySQL/servers/server1/databases/database1 ```

func GetDatabase

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

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

func NewDatabase

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

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

func (*Database) ElementType

func (*Database) ElementType() reflect.Type

func (*Database) ToDatabaseOutput

func (i *Database) ToDatabaseOutput() DatabaseOutput

func (*Database) ToDatabaseOutputWithContext

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

type DatabaseArgs

type DatabaseArgs struct {
	// Specifies the Charset for the MySQL Database, which needs [to be a valid MySQL Charset](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html). Changing this forces a new resource to be created.
	Charset pulumi.StringInput
	// Specifies the Collation for the MySQL Database, which needs [to be a valid MySQL Collation](https://dev.mysql.com/doc/refman/5.7/en/charset-mysql.html). Changing this forces a new resource to be created.
	Collation pulumi.StringInput
	// Specifies the name of the MySQL Database, which needs [to be a valid MySQL identifier](https://dev.mysql.com/doc/refman/5.7/en/identifiers.html). Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which the MySQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Specifies the name of the MySQL Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
}

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 DatabaseInput

type DatabaseInput interface {
	pulumi.Input

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

type DatabaseMap

type DatabaseMap map[string]DatabaseInput

func (DatabaseMap) ElementType

func (DatabaseMap) ElementType() reflect.Type

func (DatabaseMap) ToDatabaseMapOutput

func (i DatabaseMap) ToDatabaseMapOutput() DatabaseMapOutput

func (DatabaseMap) ToDatabaseMapOutputWithContext

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

type DatabaseMapInput

type DatabaseMapInput interface {
	pulumi.Input

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

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

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

type DatabaseMapOutput

type DatabaseMapOutput struct{ *pulumi.OutputState }

func (DatabaseMapOutput) ElementType

func (DatabaseMapOutput) ElementType() reflect.Type

func (DatabaseMapOutput) MapIndex

func (DatabaseMapOutput) ToDatabaseMapOutput

func (o DatabaseMapOutput) ToDatabaseMapOutput() DatabaseMapOutput

func (DatabaseMapOutput) ToDatabaseMapOutputWithContext

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

type DatabaseOutput

type DatabaseOutput struct{ *pulumi.OutputState }

func (DatabaseOutput) Charset added in v5.5.0

func (o DatabaseOutput) Charset() pulumi.StringOutput

Specifies the Charset for the MySQL Database, which needs [to be a valid MySQL Charset](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html). Changing this forces a new resource to be created.

func (DatabaseOutput) Collation added in v5.5.0

func (o DatabaseOutput) Collation() pulumi.StringOutput

Specifies the Collation for the MySQL Database, which needs [to be a valid MySQL Collation](https://dev.mysql.com/doc/refman/5.7/en/charset-mysql.html). Changing this forces a new resource to be created.

func (DatabaseOutput) ElementType

func (DatabaseOutput) ElementType() reflect.Type

func (DatabaseOutput) Name added in v5.5.0

Specifies the name of the MySQL Database, which needs [to be a valid MySQL identifier](https://dev.mysql.com/doc/refman/5.7/en/identifiers.html). Changing this forces a new resource to be created.

func (DatabaseOutput) ResourceGroupName added in v5.5.0

func (o DatabaseOutput) ResourceGroupName() pulumi.StringOutput

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

func (DatabaseOutput) ServerName added in v5.5.0

func (o DatabaseOutput) ServerName() pulumi.StringOutput

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

func (DatabaseOutput) ToDatabaseOutput

func (o DatabaseOutput) ToDatabaseOutput() DatabaseOutput

func (DatabaseOutput) ToDatabaseOutputWithContext

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

type DatabaseState

type DatabaseState struct {
	// Specifies the Charset for the MySQL Database, which needs [to be a valid MySQL Charset](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html). Changing this forces a new resource to be created.
	Charset pulumi.StringPtrInput
	// Specifies the Collation for the MySQL Database, which needs [to be a valid MySQL Collation](https://dev.mysql.com/doc/refman/5.7/en/charset-mysql.html). Changing this forces a new resource to be created.
	Collation pulumi.StringPtrInput
	// Specifies the name of the MySQL Database, which needs [to be a valid MySQL identifier](https://dev.mysql.com/doc/refman/5.7/en/identifiers.html). Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which the MySQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the name of the MySQL Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
}

func (DatabaseState) ElementType

func (DatabaseState) ElementType() reflect.Type

type FirewallRule

type FirewallRule struct {
	pulumi.CustomResourceState

	// Specifies the End IP Address associated with this Firewall 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"`
	// Specifies the name of the MySQL Firewall Rule. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the resource group in which the MySQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the name of the MySQL Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// Specifies the Start IP Address associated with this Firewall Rule.
	StartIpAddress pulumi.StringOutput `pulumi:"startIpAddress"`
}

Manages a Firewall Rule for a MySQL Server.

> **Note:** Azure Database for MySQL Single Server and its sub resources are scheduled for retirement by 2024-09-16 and will migrate to using Azure Database for MySQL Flexible Server: https://go.microsoft.com/fwlink/?linkid=2216041. The `mysql.FirewallRule` resource is deprecated and will be removed in v4.0 of the AzureRM Provider. Please use the `mysql.FlexibleServerFirewallRule` resource instead.

## Example Usage

### Single IP Address)

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mysql"
"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("api-rg-pro"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mysql.NewServer(ctx, "example", &mysql.ServerArgs{
			Name:                  pulumi.String("example"),
			Location:              example.Location,
			ResourceGroupName:     example.Name,
			Version:               pulumi.String("5.7"),
			SkuName:               pulumi.String("GP_Gen5_2"),
			SslEnforcementEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = mysql.NewFirewallRule(ctx, "example", &mysql.FirewallRuleArgs{
			Name:              pulumi.String("office"),
			ResourceGroupName: example.Name,
			ServerName:        exampleServer.Name,
			StartIpAddress:    pulumi.String("40.112.8.12"),
			EndIpAddress:      pulumi.String("40.112.8.12"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### IP Range)

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mysql"
"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("api-rg-pro"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mysql.NewServer(ctx, "example", nil)
		if err != nil {
			return err
		}
		_, err = mysql.NewFirewallRule(ctx, "example", &mysql.FirewallRuleArgs{
			Name:              pulumi.String("office"),
			ResourceGroupName: example.Name,
			ServerName:        exampleServer.Name,
			StartIpAddress:    pulumi.String("40.112.0.0"),
			EndIpAddress:      pulumi.String("40.112.255.255"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Allow Access To Azure Services)

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mysql"
"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("api-rg-pro"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mysql.NewServer(ctx, "example", nil)
		if err != nil {
			return err
		}
		_, err = mysql.NewFirewallRule(ctx, "example", &mysql.FirewallRuleArgs{
			Name:              pulumi.String("office"),
			ResourceGroupName: example.Name,
			ServerName:        exampleServer.Name,
			StartIpAddress:    pulumi.String("0.0.0.0"),
			EndIpAddress:      pulumi.String("0.0.0.0"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

MySQL Firewall Rule's can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:mysql/firewallRule:FirewallRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforMySQL/servers/server1/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 {
	// Specifies the End IP Address associated with this Firewall 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
	// Specifies the name of the MySQL Firewall Rule. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which the MySQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Specifies the name of the MySQL Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
	// Specifies the Start IP Address associated with this Firewall 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

Specifies the End IP Address associated with this Firewall 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

Specifies the name of the MySQL Firewall Rule. Changing this forces a new resource to be created.

func (FirewallRuleOutput) ResourceGroupName added in v5.5.0

func (o FirewallRuleOutput) ResourceGroupName() pulumi.StringOutput

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

func (FirewallRuleOutput) ServerName added in v5.5.0

func (o FirewallRuleOutput) ServerName() pulumi.StringOutput

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

func (FirewallRuleOutput) StartIpAddress added in v5.5.0

func (o FirewallRuleOutput) StartIpAddress() pulumi.StringOutput

Specifies the Start IP Address associated with this Firewall 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 {
	// Specifies the End IP Address associated with this Firewall 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
	// Specifies the name of the MySQL Firewall Rule. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which the MySQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the name of the MySQL Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
	// Specifies the Start IP Address associated with this Firewall Rule.
	StartIpAddress pulumi.StringPtrInput
}

func (FirewallRuleState) ElementType

func (FirewallRuleState) ElementType() reflect.Type

type FlexibleDatabase

type FlexibleDatabase struct {
	pulumi.CustomResourceState

	// Specifies the Charset for the MySQL Database, which needs [to be a valid MySQL Charset](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html). Changing this forces a new resource to be created.
	Charset pulumi.StringOutput `pulumi:"charset"`
	// Specifies the Collation for the MySQL Database, which needs [to be a valid MySQL Collation](https://dev.mysql.com/doc/refman/5.7/en/charset-mysql.html). Changing this forces a new resource to be created.
	Collation pulumi.StringOutput `pulumi:"collation"`
	// Specifies the name of the MySQL Database, which needs [to be a valid MySQL identifier](https://dev.mysql.com/doc/refman/5.7/en/identifiers.html). Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the resource group in which the MySQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
}

Manages a MySQL Database within a MySQL Flexible 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/mysql"
"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
		}
		exampleFlexibleServer, err := mysql.NewFlexibleServer(ctx, "example", &mysql.FlexibleServerArgs{
			Name:                  pulumi.String("example-mysql-flexible-server"),
			ResourceGroupName:     example.Name,
			Location:              example.Location,
			AdministratorLogin:    pulumi.String("mysqladminun"),
			AdministratorPassword: pulumi.String("H@Sh1CoR3!"),
			SkuName:               pulumi.String("B_Standard_B1s"),
		})
		if err != nil {
			return err
		}
		_, err = mysql.NewFlexibleDatabase(ctx, "example", &mysql.FlexibleDatabaseArgs{
			Name:              pulumi.String("exampledb"),
			ResourceGroupName: example.Name,
			ServerName:        exampleFlexibleServer.Name,
			Charset:           pulumi.String("utf8"),
			Collation:         pulumi.String("utf8_unicode_ci"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

MySQL Database's can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:mysql/flexibleDatabase:FlexibleDatabase database1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforMySQL/flexibleServers/flexibleserver1/databases/database1 ```

func GetFlexibleDatabase

func GetFlexibleDatabase(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FlexibleDatabaseState, opts ...pulumi.ResourceOption) (*FlexibleDatabase, error)

GetFlexibleDatabase gets an existing FlexibleDatabase 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 NewFlexibleDatabase

func NewFlexibleDatabase(ctx *pulumi.Context,
	name string, args *FlexibleDatabaseArgs, opts ...pulumi.ResourceOption) (*FlexibleDatabase, error)

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

func (*FlexibleDatabase) ElementType

func (*FlexibleDatabase) ElementType() reflect.Type

func (*FlexibleDatabase) ToFlexibleDatabaseOutput

func (i *FlexibleDatabase) ToFlexibleDatabaseOutput() FlexibleDatabaseOutput

func (*FlexibleDatabase) ToFlexibleDatabaseOutputWithContext

func (i *FlexibleDatabase) ToFlexibleDatabaseOutputWithContext(ctx context.Context) FlexibleDatabaseOutput

type FlexibleDatabaseArgs

type FlexibleDatabaseArgs struct {
	// Specifies the Charset for the MySQL Database, which needs [to be a valid MySQL Charset](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html). Changing this forces a new resource to be created.
	Charset pulumi.StringInput
	// Specifies the Collation for the MySQL Database, which needs [to be a valid MySQL Collation](https://dev.mysql.com/doc/refman/5.7/en/charset-mysql.html). Changing this forces a new resource to be created.
	Collation pulumi.StringInput
	// Specifies the name of the MySQL Database, which needs [to be a valid MySQL identifier](https://dev.mysql.com/doc/refman/5.7/en/identifiers.html). Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which the MySQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
}

The set of arguments for constructing a FlexibleDatabase resource.

func (FlexibleDatabaseArgs) ElementType

func (FlexibleDatabaseArgs) ElementType() reflect.Type

type FlexibleDatabaseArray

type FlexibleDatabaseArray []FlexibleDatabaseInput

func (FlexibleDatabaseArray) ElementType

func (FlexibleDatabaseArray) ElementType() reflect.Type

func (FlexibleDatabaseArray) ToFlexibleDatabaseArrayOutput

func (i FlexibleDatabaseArray) ToFlexibleDatabaseArrayOutput() FlexibleDatabaseArrayOutput

func (FlexibleDatabaseArray) ToFlexibleDatabaseArrayOutputWithContext

func (i FlexibleDatabaseArray) ToFlexibleDatabaseArrayOutputWithContext(ctx context.Context) FlexibleDatabaseArrayOutput

type FlexibleDatabaseArrayInput

type FlexibleDatabaseArrayInput interface {
	pulumi.Input

	ToFlexibleDatabaseArrayOutput() FlexibleDatabaseArrayOutput
	ToFlexibleDatabaseArrayOutputWithContext(context.Context) FlexibleDatabaseArrayOutput
}

FlexibleDatabaseArrayInput is an input type that accepts FlexibleDatabaseArray and FlexibleDatabaseArrayOutput values. You can construct a concrete instance of `FlexibleDatabaseArrayInput` via:

FlexibleDatabaseArray{ FlexibleDatabaseArgs{...} }

type FlexibleDatabaseArrayOutput

type FlexibleDatabaseArrayOutput struct{ *pulumi.OutputState }

func (FlexibleDatabaseArrayOutput) ElementType

func (FlexibleDatabaseArrayOutput) Index

func (FlexibleDatabaseArrayOutput) ToFlexibleDatabaseArrayOutput

func (o FlexibleDatabaseArrayOutput) ToFlexibleDatabaseArrayOutput() FlexibleDatabaseArrayOutput

func (FlexibleDatabaseArrayOutput) ToFlexibleDatabaseArrayOutputWithContext

func (o FlexibleDatabaseArrayOutput) ToFlexibleDatabaseArrayOutputWithContext(ctx context.Context) FlexibleDatabaseArrayOutput

type FlexibleDatabaseInput

type FlexibleDatabaseInput interface {
	pulumi.Input

	ToFlexibleDatabaseOutput() FlexibleDatabaseOutput
	ToFlexibleDatabaseOutputWithContext(ctx context.Context) FlexibleDatabaseOutput
}

type FlexibleDatabaseMap

type FlexibleDatabaseMap map[string]FlexibleDatabaseInput

func (FlexibleDatabaseMap) ElementType

func (FlexibleDatabaseMap) ElementType() reflect.Type

func (FlexibleDatabaseMap) ToFlexibleDatabaseMapOutput

func (i FlexibleDatabaseMap) ToFlexibleDatabaseMapOutput() FlexibleDatabaseMapOutput

func (FlexibleDatabaseMap) ToFlexibleDatabaseMapOutputWithContext

func (i FlexibleDatabaseMap) ToFlexibleDatabaseMapOutputWithContext(ctx context.Context) FlexibleDatabaseMapOutput

type FlexibleDatabaseMapInput

type FlexibleDatabaseMapInput interface {
	pulumi.Input

	ToFlexibleDatabaseMapOutput() FlexibleDatabaseMapOutput
	ToFlexibleDatabaseMapOutputWithContext(context.Context) FlexibleDatabaseMapOutput
}

FlexibleDatabaseMapInput is an input type that accepts FlexibleDatabaseMap and FlexibleDatabaseMapOutput values. You can construct a concrete instance of `FlexibleDatabaseMapInput` via:

FlexibleDatabaseMap{ "key": FlexibleDatabaseArgs{...} }

type FlexibleDatabaseMapOutput

type FlexibleDatabaseMapOutput struct{ *pulumi.OutputState }

func (FlexibleDatabaseMapOutput) ElementType

func (FlexibleDatabaseMapOutput) ElementType() reflect.Type

func (FlexibleDatabaseMapOutput) MapIndex

func (FlexibleDatabaseMapOutput) ToFlexibleDatabaseMapOutput

func (o FlexibleDatabaseMapOutput) ToFlexibleDatabaseMapOutput() FlexibleDatabaseMapOutput

func (FlexibleDatabaseMapOutput) ToFlexibleDatabaseMapOutputWithContext

func (o FlexibleDatabaseMapOutput) ToFlexibleDatabaseMapOutputWithContext(ctx context.Context) FlexibleDatabaseMapOutput

type FlexibleDatabaseOutput

type FlexibleDatabaseOutput struct{ *pulumi.OutputState }

func (FlexibleDatabaseOutput) Charset added in v5.5.0

Specifies the Charset for the MySQL Database, which needs [to be a valid MySQL Charset](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html). Changing this forces a new resource to be created.

func (FlexibleDatabaseOutput) Collation added in v5.5.0

Specifies the Collation for the MySQL Database, which needs [to be a valid MySQL Collation](https://dev.mysql.com/doc/refman/5.7/en/charset-mysql.html). Changing this forces a new resource to be created.

func (FlexibleDatabaseOutput) ElementType

func (FlexibleDatabaseOutput) ElementType() reflect.Type

func (FlexibleDatabaseOutput) Name added in v5.5.0

Specifies the name of the MySQL Database, which needs [to be a valid MySQL identifier](https://dev.mysql.com/doc/refman/5.7/en/identifiers.html). Changing this forces a new resource to be created.

func (FlexibleDatabaseOutput) ResourceGroupName added in v5.5.0

func (o FlexibleDatabaseOutput) ResourceGroupName() pulumi.StringOutput

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

func (FlexibleDatabaseOutput) ServerName added in v5.5.0

Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.

func (FlexibleDatabaseOutput) ToFlexibleDatabaseOutput

func (o FlexibleDatabaseOutput) ToFlexibleDatabaseOutput() FlexibleDatabaseOutput

func (FlexibleDatabaseOutput) ToFlexibleDatabaseOutputWithContext

func (o FlexibleDatabaseOutput) ToFlexibleDatabaseOutputWithContext(ctx context.Context) FlexibleDatabaseOutput

type FlexibleDatabaseState

type FlexibleDatabaseState struct {
	// Specifies the Charset for the MySQL Database, which needs [to be a valid MySQL Charset](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html). Changing this forces a new resource to be created.
	Charset pulumi.StringPtrInput
	// Specifies the Collation for the MySQL Database, which needs [to be a valid MySQL Collation](https://dev.mysql.com/doc/refman/5.7/en/charset-mysql.html). Changing this forces a new resource to be created.
	Collation pulumi.StringPtrInput
	// Specifies the name of the MySQL Database, which needs [to be a valid MySQL identifier](https://dev.mysql.com/doc/refman/5.7/en/identifiers.html). Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which the MySQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
}

func (FlexibleDatabaseState) ElementType

func (FlexibleDatabaseState) ElementType() reflect.Type

type FlexibleServer

type FlexibleServer struct {
	pulumi.CustomResourceState

	// The Administrator login for the MySQL Flexible Server. Required when `createMode` is `Default`. Changing this forces a new MySQL Flexible Server to be created.
	AdministratorLogin pulumi.StringOutput `pulumi:"administratorLogin"`
	// The Password associated with the `administratorLogin` for the MySQL Flexible Server. Required when `createMode` is `Default`.
	AdministratorPassword pulumi.StringPtrOutput `pulumi:"administratorPassword"`
	// The backup retention days for the MySQL Flexible Server. Possible values are between `1` and `35` days. Defaults to `7`.
	BackupRetentionDays pulumi.IntPtrOutput `pulumi:"backupRetentionDays"`
	// The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `PointInTimeRestore`, `GeoRestore`, and `Replica`. Changing this forces a new MySQL Flexible Server to be created.
	//
	// > **NOTE:** Creating a `GeoRestore` server requires the source server with `geoRedundantBackupEnabled` enabled.
	//
	// > **NOTE:** When a server is first created it may not be immediately available for `geo restore` or `replica`. It may take a few minutes to several hours for the necessary metadata to be populated. Please see the [Geo Restore](https://learn.microsoft.com/azure/mysql/single-server/how-to-restore-server-portal#geo-restore) and the [Replica](https://learn.microsoft.com/azure/mysql/flexible-server/concepts-read-replicas#create-a-replica) for more information.
	CreateMode pulumi.StringPtrOutput `pulumi:"createMode"`
	// A `customerManagedKey` block as defined below.
	//
	// > **NOTE:** `identity` is required when `customerManagedKey` is specified.
	CustomerManagedKey FlexibleServerCustomerManagedKeyPtrOutput `pulumi:"customerManagedKey"`
	// The ID of the virtual network subnet to create the MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.
	DelegatedSubnetId pulumi.StringPtrOutput `pulumi:"delegatedSubnetId"`
	// The fully qualified domain name of the MySQL Flexible Server.
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// Should geo redundant backup enabled? Defaults to `false`. Changing this forces a new MySQL Flexible Server to be created.
	GeoRedundantBackupEnabled pulumi.BoolPtrOutput `pulumi:"geoRedundantBackupEnabled"`
	// A `highAvailability` block as defined below.
	HighAvailability FlexibleServerHighAvailabilityPtrOutput `pulumi:"highAvailability"`
	// An `identity` block as defined below.
	Identity FlexibleServerIdentityPtrOutput `pulumi:"identity"`
	// The Azure Region where the MySQL Flexible Server should exist. Changing this forces a new MySQL Flexible Server to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// A `maintenanceWindow` block as defined below.
	MaintenanceWindow FlexibleServerMaintenanceWindowPtrOutput `pulumi:"maintenanceWindow"`
	// The name which should be used for this MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The point in time to restore from `creationSourceServerId` when `createMode` is `PointInTimeRestore`. Changing this forces a new MySQL Flexible Server to be created.
	PointInTimeRestoreTimeInUtc pulumi.StringPtrOutput `pulumi:"pointInTimeRestoreTimeInUtc"`
	// The ID of the private DNS zone to create the MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.
	//
	// > **NOTE:** The `privateDnsZoneId` is required when setting a `delegatedSubnetId`. The `privatedns.Zone` should end with suffix `.mysql.database.azure.com`.
	PrivateDnsZoneId pulumi.StringPtrOutput `pulumi:"privateDnsZoneId"`
	// Is the public network access enabled?
	PublicNetworkAccessEnabled pulumi.BoolOutput `pulumi:"publicNetworkAccessEnabled"`
	// The maximum number of replicas that a primary MySQL Flexible Server can have.
	ReplicaCapacity pulumi.IntOutput `pulumi:"replicaCapacity"`
	// The replication role. Possible value is `None`.
	//
	// > **NOTE:** The `replicationRole` cannot be set while creating and only can be updated from `Replica` to `None`.
	ReplicationRole pulumi.StringOutput `pulumi:"replicationRole"`
	// The name of the Resource Group where the MySQL Flexible Server should exist. Changing this forces a new MySQL Flexible Server to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The SKU Name for the MySQL Flexible Server.
	//
	// > **NOTE:** `skuName` should start with SKU tier `B (Burstable)`, `GP (General Purpose)`, `MO (Memory Optimized)` like `B_Standard_B1s`.
	SkuName pulumi.StringOutput `pulumi:"skuName"`
	// The resource ID of the source MySQL Flexible Server to be restored. Required when `createMode` is `PointInTimeRestore`, `GeoRestore`, and `Replica`. Changing this forces a new MySQL Flexible Server to be created.
	SourceServerId pulumi.StringPtrOutput `pulumi:"sourceServerId"`
	// A `storage` block as defined below.
	Storage FlexibleServerStorageOutput `pulumi:"storage"`
	// A mapping of tags which should be assigned to the MySQL Flexible Server.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The version of the MySQL Flexible Server to use. Possible values are `5.7`, and `8.0.21`. Changing this forces a new MySQL Flexible Server to be created.
	Version pulumi.StringOutput    `pulumi:"version"`
	Zone    pulumi.StringPtrOutput `pulumi:"zone"`
}

Manages a MySQL Flexible 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/mysql"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/privatedns"
"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-vn"),
			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-sn"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.2.0/24"),
			},
			ServiceEndpoints: pulumi.StringArray{
				pulumi.String("Microsoft.Storage"),
			},
			Delegations: network.SubnetDelegationArray{
				&network.SubnetDelegationArgs{
					Name: pulumi.String("fs"),
					ServiceDelegation: &network.SubnetDelegationServiceDelegationArgs{
						Name: pulumi.String("Microsoft.DBforMySQL/flexibleServers"),
						Actions: pulumi.StringArray{
							pulumi.String("Microsoft.Network/virtualNetworks/subnets/join/action"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		exampleZone, err := privatedns.NewZone(ctx, "example", &privatedns.ZoneArgs{
			Name:              pulumi.String("example.mysql.database.azure.com"),
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		exampleZoneVirtualNetworkLink, err := privatedns.NewZoneVirtualNetworkLink(ctx, "example", &privatedns.ZoneVirtualNetworkLinkArgs{
			Name:               pulumi.String("exampleVnetZone.com"),
			PrivateDnsZoneName: exampleZone.Name,
			VirtualNetworkId:   exampleVirtualNetwork.ID(),
			ResourceGroupName:  example.Name,
		})
		if err != nil {
			return err
		}
		_, err = mysql.NewFlexibleServer(ctx, "example", &mysql.FlexibleServerArgs{
			Name:                  pulumi.String("example-fs"),
			ResourceGroupName:     example.Name,
			Location:              example.Location,
			AdministratorLogin:    pulumi.String("psqladmin"),
			AdministratorPassword: pulumi.String("H@Sh1CoR3!"),
			BackupRetentionDays:   pulumi.Int(7),
			DelegatedSubnetId:     exampleSubnet.ID(),
			PrivateDnsZoneId:      exampleZone.ID(),
			SkuName:               pulumi.String("GP_Standard_D2ds_v4"),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleZoneVirtualNetworkLink,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:mysql/flexibleServer:FlexibleServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DBforMySQL/flexibleServers/flexibleServer1 ```

func GetFlexibleServer

func GetFlexibleServer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FlexibleServerState, opts ...pulumi.ResourceOption) (*FlexibleServer, error)

GetFlexibleServer gets an existing FlexibleServer 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 NewFlexibleServer

func NewFlexibleServer(ctx *pulumi.Context,
	name string, args *FlexibleServerArgs, opts ...pulumi.ResourceOption) (*FlexibleServer, error)

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

func (*FlexibleServer) ElementType

func (*FlexibleServer) ElementType() reflect.Type

func (*FlexibleServer) ToFlexibleServerOutput

func (i *FlexibleServer) ToFlexibleServerOutput() FlexibleServerOutput

func (*FlexibleServer) ToFlexibleServerOutputWithContext

func (i *FlexibleServer) ToFlexibleServerOutputWithContext(ctx context.Context) FlexibleServerOutput

type FlexibleServerActiveDirectoryAdministrator deprecated added in v5.44.0

type FlexibleServerActiveDirectoryAdministrator struct {
	pulumi.CustomResourceState

	IdentityId pulumi.StringOutput `pulumi:"identityId"`
	Login      pulumi.StringOutput `pulumi:"login"`
	ObjectId   pulumi.StringOutput `pulumi:"objectId"`
	ServerId   pulumi.StringOutput `pulumi:"serverId"`
	TenantId   pulumi.StringOutput `pulumi:"tenantId"`
}

Deprecated: azure.mysql/flexibleserveractivedirectoryadministrator.FlexibleServerActiveDirectoryAdministrator has been deprecated in favor of azure.mysql/flexibleserveractivedirectoryadministratory.FlexibleServerActiveDirectoryAdministratory

func GetFlexibleServerActiveDirectoryAdministrator added in v5.44.0

func GetFlexibleServerActiveDirectoryAdministrator(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FlexibleServerActiveDirectoryAdministratorState, opts ...pulumi.ResourceOption) (*FlexibleServerActiveDirectoryAdministrator, error)

GetFlexibleServerActiveDirectoryAdministrator gets an existing FlexibleServerActiveDirectoryAdministrator 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 NewFlexibleServerActiveDirectoryAdministrator added in v5.44.0

func NewFlexibleServerActiveDirectoryAdministrator(ctx *pulumi.Context,
	name string, args *FlexibleServerActiveDirectoryAdministratorArgs, opts ...pulumi.ResourceOption) (*FlexibleServerActiveDirectoryAdministrator, error)

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

func (*FlexibleServerActiveDirectoryAdministrator) ElementType added in v5.44.0

func (*FlexibleServerActiveDirectoryAdministrator) ToFlexibleServerActiveDirectoryAdministratorOutput added in v5.44.0

func (i *FlexibleServerActiveDirectoryAdministrator) ToFlexibleServerActiveDirectoryAdministratorOutput() FlexibleServerActiveDirectoryAdministratorOutput

func (*FlexibleServerActiveDirectoryAdministrator) ToFlexibleServerActiveDirectoryAdministratorOutputWithContext added in v5.44.0

func (i *FlexibleServerActiveDirectoryAdministrator) ToFlexibleServerActiveDirectoryAdministratorOutputWithContext(ctx context.Context) FlexibleServerActiveDirectoryAdministratorOutput

type FlexibleServerActiveDirectoryAdministratorArgs added in v5.44.0

type FlexibleServerActiveDirectoryAdministratorArgs struct {
	IdentityId pulumi.StringInput
	Login      pulumi.StringInput
	ObjectId   pulumi.StringInput
	ServerId   pulumi.StringInput
	TenantId   pulumi.StringInput
}

The set of arguments for constructing a FlexibleServerActiveDirectoryAdministrator resource.

func (FlexibleServerActiveDirectoryAdministratorArgs) ElementType added in v5.44.0

type FlexibleServerActiveDirectoryAdministratorArray added in v5.44.0

type FlexibleServerActiveDirectoryAdministratorArray []FlexibleServerActiveDirectoryAdministratorInput

func (FlexibleServerActiveDirectoryAdministratorArray) ElementType added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratorArray) ToFlexibleServerActiveDirectoryAdministratorArrayOutput added in v5.44.0

func (i FlexibleServerActiveDirectoryAdministratorArray) ToFlexibleServerActiveDirectoryAdministratorArrayOutput() FlexibleServerActiveDirectoryAdministratorArrayOutput

func (FlexibleServerActiveDirectoryAdministratorArray) ToFlexibleServerActiveDirectoryAdministratorArrayOutputWithContext added in v5.44.0

func (i FlexibleServerActiveDirectoryAdministratorArray) ToFlexibleServerActiveDirectoryAdministratorArrayOutputWithContext(ctx context.Context) FlexibleServerActiveDirectoryAdministratorArrayOutput

type FlexibleServerActiveDirectoryAdministratorArrayInput added in v5.44.0

type FlexibleServerActiveDirectoryAdministratorArrayInput interface {
	pulumi.Input

	ToFlexibleServerActiveDirectoryAdministratorArrayOutput() FlexibleServerActiveDirectoryAdministratorArrayOutput
	ToFlexibleServerActiveDirectoryAdministratorArrayOutputWithContext(context.Context) FlexibleServerActiveDirectoryAdministratorArrayOutput
}

FlexibleServerActiveDirectoryAdministratorArrayInput is an input type that accepts FlexibleServerActiveDirectoryAdministratorArray and FlexibleServerActiveDirectoryAdministratorArrayOutput values. You can construct a concrete instance of `FlexibleServerActiveDirectoryAdministratorArrayInput` via:

FlexibleServerActiveDirectoryAdministratorArray{ FlexibleServerActiveDirectoryAdministratorArgs{...} }

type FlexibleServerActiveDirectoryAdministratorArrayOutput added in v5.44.0

type FlexibleServerActiveDirectoryAdministratorArrayOutput struct{ *pulumi.OutputState }

func (FlexibleServerActiveDirectoryAdministratorArrayOutput) ElementType added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratorArrayOutput) Index added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratorArrayOutput) ToFlexibleServerActiveDirectoryAdministratorArrayOutput added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratorArrayOutput) ToFlexibleServerActiveDirectoryAdministratorArrayOutputWithContext added in v5.44.0

func (o FlexibleServerActiveDirectoryAdministratorArrayOutput) ToFlexibleServerActiveDirectoryAdministratorArrayOutputWithContext(ctx context.Context) FlexibleServerActiveDirectoryAdministratorArrayOutput

type FlexibleServerActiveDirectoryAdministratorInput added in v5.44.0

type FlexibleServerActiveDirectoryAdministratorInput interface {
	pulumi.Input

	ToFlexibleServerActiveDirectoryAdministratorOutput() FlexibleServerActiveDirectoryAdministratorOutput
	ToFlexibleServerActiveDirectoryAdministratorOutputWithContext(ctx context.Context) FlexibleServerActiveDirectoryAdministratorOutput
}

type FlexibleServerActiveDirectoryAdministratorMap added in v5.44.0

type FlexibleServerActiveDirectoryAdministratorMap map[string]FlexibleServerActiveDirectoryAdministratorInput

func (FlexibleServerActiveDirectoryAdministratorMap) ElementType added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratorMap) ToFlexibleServerActiveDirectoryAdministratorMapOutput added in v5.44.0

func (i FlexibleServerActiveDirectoryAdministratorMap) ToFlexibleServerActiveDirectoryAdministratorMapOutput() FlexibleServerActiveDirectoryAdministratorMapOutput

func (FlexibleServerActiveDirectoryAdministratorMap) ToFlexibleServerActiveDirectoryAdministratorMapOutputWithContext added in v5.44.0

func (i FlexibleServerActiveDirectoryAdministratorMap) ToFlexibleServerActiveDirectoryAdministratorMapOutputWithContext(ctx context.Context) FlexibleServerActiveDirectoryAdministratorMapOutput

type FlexibleServerActiveDirectoryAdministratorMapInput added in v5.44.0

type FlexibleServerActiveDirectoryAdministratorMapInput interface {
	pulumi.Input

	ToFlexibleServerActiveDirectoryAdministratorMapOutput() FlexibleServerActiveDirectoryAdministratorMapOutput
	ToFlexibleServerActiveDirectoryAdministratorMapOutputWithContext(context.Context) FlexibleServerActiveDirectoryAdministratorMapOutput
}

FlexibleServerActiveDirectoryAdministratorMapInput is an input type that accepts FlexibleServerActiveDirectoryAdministratorMap and FlexibleServerActiveDirectoryAdministratorMapOutput values. You can construct a concrete instance of `FlexibleServerActiveDirectoryAdministratorMapInput` via:

FlexibleServerActiveDirectoryAdministratorMap{ "key": FlexibleServerActiveDirectoryAdministratorArgs{...} }

type FlexibleServerActiveDirectoryAdministratorMapOutput added in v5.44.0

type FlexibleServerActiveDirectoryAdministratorMapOutput struct{ *pulumi.OutputState }

func (FlexibleServerActiveDirectoryAdministratorMapOutput) ElementType added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratorMapOutput) MapIndex added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratorMapOutput) ToFlexibleServerActiveDirectoryAdministratorMapOutput added in v5.44.0

func (o FlexibleServerActiveDirectoryAdministratorMapOutput) ToFlexibleServerActiveDirectoryAdministratorMapOutput() FlexibleServerActiveDirectoryAdministratorMapOutput

func (FlexibleServerActiveDirectoryAdministratorMapOutput) ToFlexibleServerActiveDirectoryAdministratorMapOutputWithContext added in v5.44.0

func (o FlexibleServerActiveDirectoryAdministratorMapOutput) ToFlexibleServerActiveDirectoryAdministratorMapOutputWithContext(ctx context.Context) FlexibleServerActiveDirectoryAdministratorMapOutput

type FlexibleServerActiveDirectoryAdministratorOutput added in v5.44.0

type FlexibleServerActiveDirectoryAdministratorOutput struct{ *pulumi.OutputState }

func (FlexibleServerActiveDirectoryAdministratorOutput) ElementType added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratorOutput) IdentityId added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratorOutput) Login added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratorOutput) ObjectId added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratorOutput) ServerId added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratorOutput) TenantId added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratorOutput) ToFlexibleServerActiveDirectoryAdministratorOutput added in v5.44.0

func (o FlexibleServerActiveDirectoryAdministratorOutput) ToFlexibleServerActiveDirectoryAdministratorOutput() FlexibleServerActiveDirectoryAdministratorOutput

func (FlexibleServerActiveDirectoryAdministratorOutput) ToFlexibleServerActiveDirectoryAdministratorOutputWithContext added in v5.44.0

func (o FlexibleServerActiveDirectoryAdministratorOutput) ToFlexibleServerActiveDirectoryAdministratorOutputWithContext(ctx context.Context) FlexibleServerActiveDirectoryAdministratorOutput

type FlexibleServerActiveDirectoryAdministratorState added in v5.44.0

type FlexibleServerActiveDirectoryAdministratorState struct {
	IdentityId pulumi.StringPtrInput
	Login      pulumi.StringPtrInput
	ObjectId   pulumi.StringPtrInput
	ServerId   pulumi.StringPtrInput
	TenantId   pulumi.StringPtrInput
}

func (FlexibleServerActiveDirectoryAdministratorState) ElementType added in v5.44.0

type FlexibleServerActiveDirectoryAdministratory added in v5.44.0

type FlexibleServerActiveDirectoryAdministratory struct {
	pulumi.CustomResourceState

	IdentityId pulumi.StringOutput `pulumi:"identityId"`
	Login      pulumi.StringOutput `pulumi:"login"`
	ObjectId   pulumi.StringOutput `pulumi:"objectId"`
	ServerId   pulumi.StringOutput `pulumi:"serverId"`
	TenantId   pulumi.StringOutput `pulumi:"tenantId"`
}

func GetFlexibleServerActiveDirectoryAdministratory added in v5.44.0

func GetFlexibleServerActiveDirectoryAdministratory(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FlexibleServerActiveDirectoryAdministratoryState, opts ...pulumi.ResourceOption) (*FlexibleServerActiveDirectoryAdministratory, error)

GetFlexibleServerActiveDirectoryAdministratory gets an existing FlexibleServerActiveDirectoryAdministratory 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 NewFlexibleServerActiveDirectoryAdministratory added in v5.44.0

func NewFlexibleServerActiveDirectoryAdministratory(ctx *pulumi.Context,
	name string, args *FlexibleServerActiveDirectoryAdministratoryArgs, opts ...pulumi.ResourceOption) (*FlexibleServerActiveDirectoryAdministratory, error)

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

func (*FlexibleServerActiveDirectoryAdministratory) ElementType added in v5.44.0

func (*FlexibleServerActiveDirectoryAdministratory) ToFlexibleServerActiveDirectoryAdministratoryOutput added in v5.44.0

func (i *FlexibleServerActiveDirectoryAdministratory) ToFlexibleServerActiveDirectoryAdministratoryOutput() FlexibleServerActiveDirectoryAdministratoryOutput

func (*FlexibleServerActiveDirectoryAdministratory) ToFlexibleServerActiveDirectoryAdministratoryOutputWithContext added in v5.44.0

func (i *FlexibleServerActiveDirectoryAdministratory) ToFlexibleServerActiveDirectoryAdministratoryOutputWithContext(ctx context.Context) FlexibleServerActiveDirectoryAdministratoryOutput

type FlexibleServerActiveDirectoryAdministratoryArgs added in v5.44.0

type FlexibleServerActiveDirectoryAdministratoryArgs struct {
	IdentityId pulumi.StringInput
	Login      pulumi.StringInput
	ObjectId   pulumi.StringInput
	ServerId   pulumi.StringInput
	TenantId   pulumi.StringInput
}

The set of arguments for constructing a FlexibleServerActiveDirectoryAdministratory resource.

func (FlexibleServerActiveDirectoryAdministratoryArgs) ElementType added in v5.44.0

type FlexibleServerActiveDirectoryAdministratoryArray added in v5.44.0

type FlexibleServerActiveDirectoryAdministratoryArray []FlexibleServerActiveDirectoryAdministratoryInput

func (FlexibleServerActiveDirectoryAdministratoryArray) ElementType added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratoryArray) ToFlexibleServerActiveDirectoryAdministratoryArrayOutput added in v5.44.0

func (i FlexibleServerActiveDirectoryAdministratoryArray) ToFlexibleServerActiveDirectoryAdministratoryArrayOutput() FlexibleServerActiveDirectoryAdministratoryArrayOutput

func (FlexibleServerActiveDirectoryAdministratoryArray) ToFlexibleServerActiveDirectoryAdministratoryArrayOutputWithContext added in v5.44.0

func (i FlexibleServerActiveDirectoryAdministratoryArray) ToFlexibleServerActiveDirectoryAdministratoryArrayOutputWithContext(ctx context.Context) FlexibleServerActiveDirectoryAdministratoryArrayOutput

type FlexibleServerActiveDirectoryAdministratoryArrayInput added in v5.44.0

type FlexibleServerActiveDirectoryAdministratoryArrayInput interface {
	pulumi.Input

	ToFlexibleServerActiveDirectoryAdministratoryArrayOutput() FlexibleServerActiveDirectoryAdministratoryArrayOutput
	ToFlexibleServerActiveDirectoryAdministratoryArrayOutputWithContext(context.Context) FlexibleServerActiveDirectoryAdministratoryArrayOutput
}

FlexibleServerActiveDirectoryAdministratoryArrayInput is an input type that accepts FlexibleServerActiveDirectoryAdministratoryArray and FlexibleServerActiveDirectoryAdministratoryArrayOutput values. You can construct a concrete instance of `FlexibleServerActiveDirectoryAdministratoryArrayInput` via:

FlexibleServerActiveDirectoryAdministratoryArray{ FlexibleServerActiveDirectoryAdministratoryArgs{...} }

type FlexibleServerActiveDirectoryAdministratoryArrayOutput added in v5.44.0

type FlexibleServerActiveDirectoryAdministratoryArrayOutput struct{ *pulumi.OutputState }

func (FlexibleServerActiveDirectoryAdministratoryArrayOutput) ElementType added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratoryArrayOutput) Index added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratoryArrayOutput) ToFlexibleServerActiveDirectoryAdministratoryArrayOutput added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratoryArrayOutput) ToFlexibleServerActiveDirectoryAdministratoryArrayOutputWithContext added in v5.44.0

func (o FlexibleServerActiveDirectoryAdministratoryArrayOutput) ToFlexibleServerActiveDirectoryAdministratoryArrayOutputWithContext(ctx context.Context) FlexibleServerActiveDirectoryAdministratoryArrayOutput

type FlexibleServerActiveDirectoryAdministratoryInput added in v5.44.0

type FlexibleServerActiveDirectoryAdministratoryInput interface {
	pulumi.Input

	ToFlexibleServerActiveDirectoryAdministratoryOutput() FlexibleServerActiveDirectoryAdministratoryOutput
	ToFlexibleServerActiveDirectoryAdministratoryOutputWithContext(ctx context.Context) FlexibleServerActiveDirectoryAdministratoryOutput
}

type FlexibleServerActiveDirectoryAdministratoryMap added in v5.44.0

type FlexibleServerActiveDirectoryAdministratoryMap map[string]FlexibleServerActiveDirectoryAdministratoryInput

func (FlexibleServerActiveDirectoryAdministratoryMap) ElementType added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratoryMap) ToFlexibleServerActiveDirectoryAdministratoryMapOutput added in v5.44.0

func (i FlexibleServerActiveDirectoryAdministratoryMap) ToFlexibleServerActiveDirectoryAdministratoryMapOutput() FlexibleServerActiveDirectoryAdministratoryMapOutput

func (FlexibleServerActiveDirectoryAdministratoryMap) ToFlexibleServerActiveDirectoryAdministratoryMapOutputWithContext added in v5.44.0

func (i FlexibleServerActiveDirectoryAdministratoryMap) ToFlexibleServerActiveDirectoryAdministratoryMapOutputWithContext(ctx context.Context) FlexibleServerActiveDirectoryAdministratoryMapOutput

type FlexibleServerActiveDirectoryAdministratoryMapInput added in v5.44.0

type FlexibleServerActiveDirectoryAdministratoryMapInput interface {
	pulumi.Input

	ToFlexibleServerActiveDirectoryAdministratoryMapOutput() FlexibleServerActiveDirectoryAdministratoryMapOutput
	ToFlexibleServerActiveDirectoryAdministratoryMapOutputWithContext(context.Context) FlexibleServerActiveDirectoryAdministratoryMapOutput
}

FlexibleServerActiveDirectoryAdministratoryMapInput is an input type that accepts FlexibleServerActiveDirectoryAdministratoryMap and FlexibleServerActiveDirectoryAdministratoryMapOutput values. You can construct a concrete instance of `FlexibleServerActiveDirectoryAdministratoryMapInput` via:

FlexibleServerActiveDirectoryAdministratoryMap{ "key": FlexibleServerActiveDirectoryAdministratoryArgs{...} }

type FlexibleServerActiveDirectoryAdministratoryMapOutput added in v5.44.0

type FlexibleServerActiveDirectoryAdministratoryMapOutput struct{ *pulumi.OutputState }

func (FlexibleServerActiveDirectoryAdministratoryMapOutput) ElementType added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratoryMapOutput) MapIndex added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratoryMapOutput) ToFlexibleServerActiveDirectoryAdministratoryMapOutput added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratoryMapOutput) ToFlexibleServerActiveDirectoryAdministratoryMapOutputWithContext added in v5.44.0

func (o FlexibleServerActiveDirectoryAdministratoryMapOutput) ToFlexibleServerActiveDirectoryAdministratoryMapOutputWithContext(ctx context.Context) FlexibleServerActiveDirectoryAdministratoryMapOutput

type FlexibleServerActiveDirectoryAdministratoryOutput added in v5.44.0

type FlexibleServerActiveDirectoryAdministratoryOutput struct{ *pulumi.OutputState }

func (FlexibleServerActiveDirectoryAdministratoryOutput) ElementType added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratoryOutput) IdentityId added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratoryOutput) Login added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratoryOutput) ObjectId added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratoryOutput) ServerId added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratoryOutput) TenantId added in v5.44.0

func (FlexibleServerActiveDirectoryAdministratoryOutput) ToFlexibleServerActiveDirectoryAdministratoryOutput added in v5.44.0

func (o FlexibleServerActiveDirectoryAdministratoryOutput) ToFlexibleServerActiveDirectoryAdministratoryOutput() FlexibleServerActiveDirectoryAdministratoryOutput

func (FlexibleServerActiveDirectoryAdministratoryOutput) ToFlexibleServerActiveDirectoryAdministratoryOutputWithContext added in v5.44.0

func (o FlexibleServerActiveDirectoryAdministratoryOutput) ToFlexibleServerActiveDirectoryAdministratoryOutputWithContext(ctx context.Context) FlexibleServerActiveDirectoryAdministratoryOutput

type FlexibleServerActiveDirectoryAdministratoryState added in v5.44.0

type FlexibleServerActiveDirectoryAdministratoryState struct {
	IdentityId pulumi.StringPtrInput
	Login      pulumi.StringPtrInput
	ObjectId   pulumi.StringPtrInput
	ServerId   pulumi.StringPtrInput
	TenantId   pulumi.StringPtrInput
}

func (FlexibleServerActiveDirectoryAdministratoryState) ElementType added in v5.44.0

type FlexibleServerArgs

type FlexibleServerArgs struct {
	// The Administrator login for the MySQL Flexible Server. Required when `createMode` is `Default`. Changing this forces a new MySQL Flexible Server to be created.
	AdministratorLogin pulumi.StringPtrInput
	// The Password associated with the `administratorLogin` for the MySQL Flexible Server. Required when `createMode` is `Default`.
	AdministratorPassword pulumi.StringPtrInput
	// The backup retention days for the MySQL Flexible Server. Possible values are between `1` and `35` days. Defaults to `7`.
	BackupRetentionDays pulumi.IntPtrInput
	// The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `PointInTimeRestore`, `GeoRestore`, and `Replica`. Changing this forces a new MySQL Flexible Server to be created.
	//
	// > **NOTE:** Creating a `GeoRestore` server requires the source server with `geoRedundantBackupEnabled` enabled.
	//
	// > **NOTE:** When a server is first created it may not be immediately available for `geo restore` or `replica`. It may take a few minutes to several hours for the necessary metadata to be populated. Please see the [Geo Restore](https://learn.microsoft.com/azure/mysql/single-server/how-to-restore-server-portal#geo-restore) and the [Replica](https://learn.microsoft.com/azure/mysql/flexible-server/concepts-read-replicas#create-a-replica) for more information.
	CreateMode pulumi.StringPtrInput
	// A `customerManagedKey` block as defined below.
	//
	// > **NOTE:** `identity` is required when `customerManagedKey` is specified.
	CustomerManagedKey FlexibleServerCustomerManagedKeyPtrInput
	// The ID of the virtual network subnet to create the MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.
	DelegatedSubnetId pulumi.StringPtrInput
	// Should geo redundant backup enabled? Defaults to `false`. Changing this forces a new MySQL Flexible Server to be created.
	GeoRedundantBackupEnabled pulumi.BoolPtrInput
	// A `highAvailability` block as defined below.
	HighAvailability FlexibleServerHighAvailabilityPtrInput
	// An `identity` block as defined below.
	Identity FlexibleServerIdentityPtrInput
	// The Azure Region where the MySQL Flexible Server should exist. Changing this forces a new MySQL Flexible Server to be created.
	Location pulumi.StringPtrInput
	// A `maintenanceWindow` block as defined below.
	MaintenanceWindow FlexibleServerMaintenanceWindowPtrInput
	// The name which should be used for this MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.
	Name pulumi.StringPtrInput
	// The point in time to restore from `creationSourceServerId` when `createMode` is `PointInTimeRestore`. Changing this forces a new MySQL Flexible Server to be created.
	PointInTimeRestoreTimeInUtc pulumi.StringPtrInput
	// The ID of the private DNS zone to create the MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.
	//
	// > **NOTE:** The `privateDnsZoneId` is required when setting a `delegatedSubnetId`. The `privatedns.Zone` should end with suffix `.mysql.database.azure.com`.
	PrivateDnsZoneId pulumi.StringPtrInput
	// The replication role. Possible value is `None`.
	//
	// > **NOTE:** The `replicationRole` cannot be set while creating and only can be updated from `Replica` to `None`.
	ReplicationRole pulumi.StringPtrInput
	// The name of the Resource Group where the MySQL Flexible Server should exist. Changing this forces a new MySQL Flexible Server to be created.
	ResourceGroupName pulumi.StringInput
	// The SKU Name for the MySQL Flexible Server.
	//
	// > **NOTE:** `skuName` should start with SKU tier `B (Burstable)`, `GP (General Purpose)`, `MO (Memory Optimized)` like `B_Standard_B1s`.
	SkuName pulumi.StringPtrInput
	// The resource ID of the source MySQL Flexible Server to be restored. Required when `createMode` is `PointInTimeRestore`, `GeoRestore`, and `Replica`. Changing this forces a new MySQL Flexible Server to be created.
	SourceServerId pulumi.StringPtrInput
	// A `storage` block as defined below.
	Storage FlexibleServerStoragePtrInput
	// A mapping of tags which should be assigned to the MySQL Flexible Server.
	Tags pulumi.StringMapInput
	// The version of the MySQL Flexible Server to use. Possible values are `5.7`, and `8.0.21`. Changing this forces a new MySQL Flexible Server to be created.
	Version pulumi.StringPtrInput
	Zone    pulumi.StringPtrInput
}

The set of arguments for constructing a FlexibleServer resource.

func (FlexibleServerArgs) ElementType

func (FlexibleServerArgs) ElementType() reflect.Type

type FlexibleServerArray

type FlexibleServerArray []FlexibleServerInput

func (FlexibleServerArray) ElementType

func (FlexibleServerArray) ElementType() reflect.Type

func (FlexibleServerArray) ToFlexibleServerArrayOutput

func (i FlexibleServerArray) ToFlexibleServerArrayOutput() FlexibleServerArrayOutput

func (FlexibleServerArray) ToFlexibleServerArrayOutputWithContext

func (i FlexibleServerArray) ToFlexibleServerArrayOutputWithContext(ctx context.Context) FlexibleServerArrayOutput

type FlexibleServerArrayInput

type FlexibleServerArrayInput interface {
	pulumi.Input

	ToFlexibleServerArrayOutput() FlexibleServerArrayOutput
	ToFlexibleServerArrayOutputWithContext(context.Context) FlexibleServerArrayOutput
}

FlexibleServerArrayInput is an input type that accepts FlexibleServerArray and FlexibleServerArrayOutput values. You can construct a concrete instance of `FlexibleServerArrayInput` via:

FlexibleServerArray{ FlexibleServerArgs{...} }

type FlexibleServerArrayOutput

type FlexibleServerArrayOutput struct{ *pulumi.OutputState }

func (FlexibleServerArrayOutput) ElementType

func (FlexibleServerArrayOutput) ElementType() reflect.Type

func (FlexibleServerArrayOutput) Index

func (FlexibleServerArrayOutput) ToFlexibleServerArrayOutput

func (o FlexibleServerArrayOutput) ToFlexibleServerArrayOutput() FlexibleServerArrayOutput

func (FlexibleServerArrayOutput) ToFlexibleServerArrayOutputWithContext

func (o FlexibleServerArrayOutput) ToFlexibleServerArrayOutputWithContext(ctx context.Context) FlexibleServerArrayOutput

type FlexibleServerConfiguration

type FlexibleServerConfiguration struct {
	pulumi.CustomResourceState

	// Specifies the name of the MySQL Flexible Server Configuration, which needs [to be a valid MySQL configuration name](https://dev.mysql.com/doc/refman/5.7/en/server-configuration.html). Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the resource group in which the MySQL Flexible Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// Specifies the value of the MySQL Flexible Server Configuration. See the MySQL documentation for valid values.
	Value pulumi.StringOutput `pulumi:"value"`
}

Sets a MySQL Flexible Server Configuration value on a MySQL Flexible Server.

## Disclaimers

> **Note:** Since this resource is provisioned by default, the Azure Provider will not check for the presence of an existing resource prior to attempting to create it.

## 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/mysql"
"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
		}
		exampleFlexibleServer, err := mysql.NewFlexibleServer(ctx, "example", &mysql.FlexibleServerArgs{
			Name:                  pulumi.String("example-fs"),
			ResourceGroupName:     example.Name,
			Location:              example.Location,
			AdministratorLogin:    pulumi.String("adminTerraform"),
			AdministratorPassword: pulumi.String("H@Sh1CoR3!"),
			SkuName:               pulumi.String("GP_Standard_D2ds_v4"),
		})
		if err != nil {
			return err
		}
		_, err = mysql.NewFlexibleServerConfiguration(ctx, "example", &mysql.FlexibleServerConfigurationArgs{
			Name:              pulumi.String("interactive_timeout"),
			ResourceGroupName: example.Name,
			ServerName:        exampleFlexibleServer.Name,
			Value:             pulumi.String("600"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

MySQL Flexible Server Configurations can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:mysql/flexibleServerConfiguration:FlexibleServerConfiguration interactive_timeout /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DBforMySQL/flexibleServers/flexibleServer1/configurations/interactive_timeout ```

func GetFlexibleServerConfiguration

func GetFlexibleServerConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FlexibleServerConfigurationState, opts ...pulumi.ResourceOption) (*FlexibleServerConfiguration, error)

GetFlexibleServerConfiguration gets an existing FlexibleServerConfiguration 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 NewFlexibleServerConfiguration

func NewFlexibleServerConfiguration(ctx *pulumi.Context,
	name string, args *FlexibleServerConfigurationArgs, opts ...pulumi.ResourceOption) (*FlexibleServerConfiguration, error)

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

func (*FlexibleServerConfiguration) ElementType

func (*FlexibleServerConfiguration) ElementType() reflect.Type

func (*FlexibleServerConfiguration) ToFlexibleServerConfigurationOutput

func (i *FlexibleServerConfiguration) ToFlexibleServerConfigurationOutput() FlexibleServerConfigurationOutput

func (*FlexibleServerConfiguration) ToFlexibleServerConfigurationOutputWithContext

func (i *FlexibleServerConfiguration) ToFlexibleServerConfigurationOutputWithContext(ctx context.Context) FlexibleServerConfigurationOutput

type FlexibleServerConfigurationArgs

type FlexibleServerConfigurationArgs struct {
	// Specifies the name of the MySQL Flexible Server Configuration, which needs [to be a valid MySQL configuration name](https://dev.mysql.com/doc/refman/5.7/en/server-configuration.html). Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which the MySQL Flexible Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
	// Specifies the value of the MySQL Flexible Server Configuration. See the MySQL documentation for valid values.
	Value pulumi.StringInput
}

The set of arguments for constructing a FlexibleServerConfiguration resource.

func (FlexibleServerConfigurationArgs) ElementType

type FlexibleServerConfigurationArray

type FlexibleServerConfigurationArray []FlexibleServerConfigurationInput

func (FlexibleServerConfigurationArray) ElementType

func (FlexibleServerConfigurationArray) ToFlexibleServerConfigurationArrayOutput

func (i FlexibleServerConfigurationArray) ToFlexibleServerConfigurationArrayOutput() FlexibleServerConfigurationArrayOutput

func (FlexibleServerConfigurationArray) ToFlexibleServerConfigurationArrayOutputWithContext

func (i FlexibleServerConfigurationArray) ToFlexibleServerConfigurationArrayOutputWithContext(ctx context.Context) FlexibleServerConfigurationArrayOutput

type FlexibleServerConfigurationArrayInput

type FlexibleServerConfigurationArrayInput interface {
	pulumi.Input

	ToFlexibleServerConfigurationArrayOutput() FlexibleServerConfigurationArrayOutput
	ToFlexibleServerConfigurationArrayOutputWithContext(context.Context) FlexibleServerConfigurationArrayOutput
}

FlexibleServerConfigurationArrayInput is an input type that accepts FlexibleServerConfigurationArray and FlexibleServerConfigurationArrayOutput values. You can construct a concrete instance of `FlexibleServerConfigurationArrayInput` via:

FlexibleServerConfigurationArray{ FlexibleServerConfigurationArgs{...} }

type FlexibleServerConfigurationArrayOutput

type FlexibleServerConfigurationArrayOutput struct{ *pulumi.OutputState }

func (FlexibleServerConfigurationArrayOutput) ElementType

func (FlexibleServerConfigurationArrayOutput) Index

func (FlexibleServerConfigurationArrayOutput) ToFlexibleServerConfigurationArrayOutput

func (o FlexibleServerConfigurationArrayOutput) ToFlexibleServerConfigurationArrayOutput() FlexibleServerConfigurationArrayOutput

func (FlexibleServerConfigurationArrayOutput) ToFlexibleServerConfigurationArrayOutputWithContext

func (o FlexibleServerConfigurationArrayOutput) ToFlexibleServerConfigurationArrayOutputWithContext(ctx context.Context) FlexibleServerConfigurationArrayOutput

type FlexibleServerConfigurationInput

type FlexibleServerConfigurationInput interface {
	pulumi.Input

	ToFlexibleServerConfigurationOutput() FlexibleServerConfigurationOutput
	ToFlexibleServerConfigurationOutputWithContext(ctx context.Context) FlexibleServerConfigurationOutput
}

type FlexibleServerConfigurationMap

type FlexibleServerConfigurationMap map[string]FlexibleServerConfigurationInput

func (FlexibleServerConfigurationMap) ElementType

func (FlexibleServerConfigurationMap) ToFlexibleServerConfigurationMapOutput

func (i FlexibleServerConfigurationMap) ToFlexibleServerConfigurationMapOutput() FlexibleServerConfigurationMapOutput

func (FlexibleServerConfigurationMap) ToFlexibleServerConfigurationMapOutputWithContext

func (i FlexibleServerConfigurationMap) ToFlexibleServerConfigurationMapOutputWithContext(ctx context.Context) FlexibleServerConfigurationMapOutput

type FlexibleServerConfigurationMapInput

type FlexibleServerConfigurationMapInput interface {
	pulumi.Input

	ToFlexibleServerConfigurationMapOutput() FlexibleServerConfigurationMapOutput
	ToFlexibleServerConfigurationMapOutputWithContext(context.Context) FlexibleServerConfigurationMapOutput
}

FlexibleServerConfigurationMapInput is an input type that accepts FlexibleServerConfigurationMap and FlexibleServerConfigurationMapOutput values. You can construct a concrete instance of `FlexibleServerConfigurationMapInput` via:

FlexibleServerConfigurationMap{ "key": FlexibleServerConfigurationArgs{...} }

type FlexibleServerConfigurationMapOutput

type FlexibleServerConfigurationMapOutput struct{ *pulumi.OutputState }

func (FlexibleServerConfigurationMapOutput) ElementType

func (FlexibleServerConfigurationMapOutput) MapIndex

func (FlexibleServerConfigurationMapOutput) ToFlexibleServerConfigurationMapOutput

func (o FlexibleServerConfigurationMapOutput) ToFlexibleServerConfigurationMapOutput() FlexibleServerConfigurationMapOutput

func (FlexibleServerConfigurationMapOutput) ToFlexibleServerConfigurationMapOutputWithContext

func (o FlexibleServerConfigurationMapOutput) ToFlexibleServerConfigurationMapOutputWithContext(ctx context.Context) FlexibleServerConfigurationMapOutput

type FlexibleServerConfigurationOutput

type FlexibleServerConfigurationOutput struct{ *pulumi.OutputState }

func (FlexibleServerConfigurationOutput) ElementType

func (FlexibleServerConfigurationOutput) Name added in v5.5.0

Specifies the name of the MySQL Flexible Server Configuration, which needs [to be a valid MySQL configuration name](https://dev.mysql.com/doc/refman/5.7/en/server-configuration.html). Changing this forces a new resource to be created.

func (FlexibleServerConfigurationOutput) ResourceGroupName added in v5.5.0

The name of the resource group in which the MySQL Flexible Server exists. Changing this forces a new resource to be created.

func (FlexibleServerConfigurationOutput) ServerName added in v5.5.0

Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.

func (FlexibleServerConfigurationOutput) ToFlexibleServerConfigurationOutput

func (o FlexibleServerConfigurationOutput) ToFlexibleServerConfigurationOutput() FlexibleServerConfigurationOutput

func (FlexibleServerConfigurationOutput) ToFlexibleServerConfigurationOutputWithContext

func (o FlexibleServerConfigurationOutput) ToFlexibleServerConfigurationOutputWithContext(ctx context.Context) FlexibleServerConfigurationOutput

func (FlexibleServerConfigurationOutput) Value added in v5.5.0

Specifies the value of the MySQL Flexible Server Configuration. See the MySQL documentation for valid values.

type FlexibleServerConfigurationState

type FlexibleServerConfigurationState struct {
	// Specifies the name of the MySQL Flexible Server Configuration, which needs [to be a valid MySQL configuration name](https://dev.mysql.com/doc/refman/5.7/en/server-configuration.html). Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which the MySQL Flexible Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
	// Specifies the value of the MySQL Flexible Server Configuration. See the MySQL documentation for valid values.
	Value pulumi.StringPtrInput
}

func (FlexibleServerConfigurationState) ElementType

type FlexibleServerCustomerManagedKey added in v5.31.0

type FlexibleServerCustomerManagedKey struct {
	// The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup.
	GeoBackupKeyVaultKeyId *string `pulumi:"geoBackupKeyVaultKeyId"`
	// The geo backup user managed identity id for a Customer Managed Key. Should be added with `identityIds`. It can't cross region and need identity in same region as geo backup.
	//
	// > **NOTE:** `primaryUserAssignedIdentityId` or `geoBackupUserAssignedIdentityId` is required when `type` is set to `UserAssigned` or `SystemAssigned, UserAssigned`.
	GeoBackupUserAssignedIdentityId *string `pulumi:"geoBackupUserAssignedIdentityId"`
	// The ID of the Key Vault Key.
	KeyVaultKeyId *string `pulumi:"keyVaultKeyId"`
	// Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identityIds`.
	PrimaryUserAssignedIdentityId *string `pulumi:"primaryUserAssignedIdentityId"`
}

type FlexibleServerCustomerManagedKeyArgs added in v5.31.0

type FlexibleServerCustomerManagedKeyArgs struct {
	// The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup.
	GeoBackupKeyVaultKeyId pulumi.StringPtrInput `pulumi:"geoBackupKeyVaultKeyId"`
	// The geo backup user managed identity id for a Customer Managed Key. Should be added with `identityIds`. It can't cross region and need identity in same region as geo backup.
	//
	// > **NOTE:** `primaryUserAssignedIdentityId` or `geoBackupUserAssignedIdentityId` is required when `type` is set to `UserAssigned` or `SystemAssigned, UserAssigned`.
	GeoBackupUserAssignedIdentityId pulumi.StringPtrInput `pulumi:"geoBackupUserAssignedIdentityId"`
	// The ID of the Key Vault Key.
	KeyVaultKeyId pulumi.StringPtrInput `pulumi:"keyVaultKeyId"`
	// Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identityIds`.
	PrimaryUserAssignedIdentityId pulumi.StringPtrInput `pulumi:"primaryUserAssignedIdentityId"`
}

func (FlexibleServerCustomerManagedKeyArgs) ElementType added in v5.31.0

func (FlexibleServerCustomerManagedKeyArgs) ToFlexibleServerCustomerManagedKeyOutput added in v5.31.0

func (i FlexibleServerCustomerManagedKeyArgs) ToFlexibleServerCustomerManagedKeyOutput() FlexibleServerCustomerManagedKeyOutput

func (FlexibleServerCustomerManagedKeyArgs) ToFlexibleServerCustomerManagedKeyOutputWithContext added in v5.31.0

func (i FlexibleServerCustomerManagedKeyArgs) ToFlexibleServerCustomerManagedKeyOutputWithContext(ctx context.Context) FlexibleServerCustomerManagedKeyOutput

func (FlexibleServerCustomerManagedKeyArgs) ToFlexibleServerCustomerManagedKeyPtrOutput added in v5.31.0

func (i FlexibleServerCustomerManagedKeyArgs) ToFlexibleServerCustomerManagedKeyPtrOutput() FlexibleServerCustomerManagedKeyPtrOutput

func (FlexibleServerCustomerManagedKeyArgs) ToFlexibleServerCustomerManagedKeyPtrOutputWithContext added in v5.31.0

func (i FlexibleServerCustomerManagedKeyArgs) ToFlexibleServerCustomerManagedKeyPtrOutputWithContext(ctx context.Context) FlexibleServerCustomerManagedKeyPtrOutput

type FlexibleServerCustomerManagedKeyInput added in v5.31.0

type FlexibleServerCustomerManagedKeyInput interface {
	pulumi.Input

	ToFlexibleServerCustomerManagedKeyOutput() FlexibleServerCustomerManagedKeyOutput
	ToFlexibleServerCustomerManagedKeyOutputWithContext(context.Context) FlexibleServerCustomerManagedKeyOutput
}

FlexibleServerCustomerManagedKeyInput is an input type that accepts FlexibleServerCustomerManagedKeyArgs and FlexibleServerCustomerManagedKeyOutput values. You can construct a concrete instance of `FlexibleServerCustomerManagedKeyInput` via:

FlexibleServerCustomerManagedKeyArgs{...}

type FlexibleServerCustomerManagedKeyOutput added in v5.31.0

type FlexibleServerCustomerManagedKeyOutput struct{ *pulumi.OutputState }

func (FlexibleServerCustomerManagedKeyOutput) ElementType added in v5.31.0

func (FlexibleServerCustomerManagedKeyOutput) GeoBackupKeyVaultKeyId added in v5.39.0

The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup.

func (FlexibleServerCustomerManagedKeyOutput) GeoBackupUserAssignedIdentityId added in v5.39.0

func (o FlexibleServerCustomerManagedKeyOutput) GeoBackupUserAssignedIdentityId() pulumi.StringPtrOutput

The geo backup user managed identity id for a Customer Managed Key. Should be added with `identityIds`. It can't cross region and need identity in same region as geo backup.

> **NOTE:** `primaryUserAssignedIdentityId` or `geoBackupUserAssignedIdentityId` is required when `type` is set to `UserAssigned` or `SystemAssigned, UserAssigned`.

func (FlexibleServerCustomerManagedKeyOutput) KeyVaultKeyId added in v5.31.0

The ID of the Key Vault Key.

func (FlexibleServerCustomerManagedKeyOutput) PrimaryUserAssignedIdentityId added in v5.31.0

func (o FlexibleServerCustomerManagedKeyOutput) PrimaryUserAssignedIdentityId() pulumi.StringPtrOutput

Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identityIds`.

func (FlexibleServerCustomerManagedKeyOutput) ToFlexibleServerCustomerManagedKeyOutput added in v5.31.0

func (o FlexibleServerCustomerManagedKeyOutput) ToFlexibleServerCustomerManagedKeyOutput() FlexibleServerCustomerManagedKeyOutput

func (FlexibleServerCustomerManagedKeyOutput) ToFlexibleServerCustomerManagedKeyOutputWithContext added in v5.31.0

func (o FlexibleServerCustomerManagedKeyOutput) ToFlexibleServerCustomerManagedKeyOutputWithContext(ctx context.Context) FlexibleServerCustomerManagedKeyOutput

func (FlexibleServerCustomerManagedKeyOutput) ToFlexibleServerCustomerManagedKeyPtrOutput added in v5.31.0

func (o FlexibleServerCustomerManagedKeyOutput) ToFlexibleServerCustomerManagedKeyPtrOutput() FlexibleServerCustomerManagedKeyPtrOutput

func (FlexibleServerCustomerManagedKeyOutput) ToFlexibleServerCustomerManagedKeyPtrOutputWithContext added in v5.31.0

func (o FlexibleServerCustomerManagedKeyOutput) ToFlexibleServerCustomerManagedKeyPtrOutputWithContext(ctx context.Context) FlexibleServerCustomerManagedKeyPtrOutput

type FlexibleServerCustomerManagedKeyPtrInput added in v5.31.0

type FlexibleServerCustomerManagedKeyPtrInput interface {
	pulumi.Input

	ToFlexibleServerCustomerManagedKeyPtrOutput() FlexibleServerCustomerManagedKeyPtrOutput
	ToFlexibleServerCustomerManagedKeyPtrOutputWithContext(context.Context) FlexibleServerCustomerManagedKeyPtrOutput
}

FlexibleServerCustomerManagedKeyPtrInput is an input type that accepts FlexibleServerCustomerManagedKeyArgs, FlexibleServerCustomerManagedKeyPtr and FlexibleServerCustomerManagedKeyPtrOutput values. You can construct a concrete instance of `FlexibleServerCustomerManagedKeyPtrInput` via:

        FlexibleServerCustomerManagedKeyArgs{...}

or:

        nil

type FlexibleServerCustomerManagedKeyPtrOutput added in v5.31.0

type FlexibleServerCustomerManagedKeyPtrOutput struct{ *pulumi.OutputState }

func (FlexibleServerCustomerManagedKeyPtrOutput) Elem added in v5.31.0

func (FlexibleServerCustomerManagedKeyPtrOutput) ElementType added in v5.31.0

func (FlexibleServerCustomerManagedKeyPtrOutput) GeoBackupKeyVaultKeyId added in v5.39.0

The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup.

func (FlexibleServerCustomerManagedKeyPtrOutput) GeoBackupUserAssignedIdentityId added in v5.39.0

func (o FlexibleServerCustomerManagedKeyPtrOutput) GeoBackupUserAssignedIdentityId() pulumi.StringPtrOutput

The geo backup user managed identity id for a Customer Managed Key. Should be added with `identityIds`. It can't cross region and need identity in same region as geo backup.

> **NOTE:** `primaryUserAssignedIdentityId` or `geoBackupUserAssignedIdentityId` is required when `type` is set to `UserAssigned` or `SystemAssigned, UserAssigned`.

func (FlexibleServerCustomerManagedKeyPtrOutput) KeyVaultKeyId added in v5.31.0

The ID of the Key Vault Key.

func (FlexibleServerCustomerManagedKeyPtrOutput) PrimaryUserAssignedIdentityId added in v5.31.0

func (o FlexibleServerCustomerManagedKeyPtrOutput) PrimaryUserAssignedIdentityId() pulumi.StringPtrOutput

Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identityIds`.

func (FlexibleServerCustomerManagedKeyPtrOutput) ToFlexibleServerCustomerManagedKeyPtrOutput added in v5.31.0

func (o FlexibleServerCustomerManagedKeyPtrOutput) ToFlexibleServerCustomerManagedKeyPtrOutput() FlexibleServerCustomerManagedKeyPtrOutput

func (FlexibleServerCustomerManagedKeyPtrOutput) ToFlexibleServerCustomerManagedKeyPtrOutputWithContext added in v5.31.0

func (o FlexibleServerCustomerManagedKeyPtrOutput) ToFlexibleServerCustomerManagedKeyPtrOutputWithContext(ctx context.Context) FlexibleServerCustomerManagedKeyPtrOutput

type FlexibleServerFirewallRule

type FlexibleServerFirewallRule struct {
	pulumi.CustomResourceState

	// Specifies the End IP Address associated with this Firewall 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"`
	// Specifies the name of the MySQL Firewall Rule. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the resource group in which the MySQL Flexible Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// Specifies the Start IP Address associated with this Firewall Rule.
	StartIpAddress pulumi.StringOutput `pulumi:"startIpAddress"`
}

Manages a Firewall Rule for a MySQL Flexible Server.

## Example Usage

### Single IP Address)

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mysql"
"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("api-rg-pro"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleFlexibleServer, err := mysql.NewFlexibleServer(ctx, "example", &mysql.FlexibleServerArgs{
			Name:              pulumi.String("example"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
		})
		if err != nil {
			return err
		}
		_, err = mysql.NewFlexibleServerFirewallRule(ctx, "example", &mysql.FlexibleServerFirewallRuleArgs{
			Name:              pulumi.String("office"),
			ResourceGroupName: example.Name,
			ServerName:        exampleFlexibleServer.Name,
			StartIpAddress:    pulumi.String("40.112.8.12"),
			EndIpAddress:      pulumi.String("40.112.8.12"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### IP Range)

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mysql"
"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("api-rg-pro"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleFlexibleServer, err := mysql.NewFlexibleServer(ctx, "example", &mysql.FlexibleServerArgs{
			Name:              pulumi.String("example"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
		})
		if err != nil {
			return err
		}
		_, err = mysql.NewFlexibleServerFirewallRule(ctx, "example", &mysql.FlexibleServerFirewallRuleArgs{
			Name:              pulumi.String("office"),
			ResourceGroupName: example.Name,
			ServerName:        exampleFlexibleServer.Name,
			StartIpAddress:    pulumi.String("40.112.0.0"),
			EndIpAddress:      pulumi.String("40.112.255.255"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Allow Access To Azure Services)

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mysql"
"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("api-rg-pro"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleFlexibleServer, err := mysql.NewFlexibleServer(ctx, "example", &mysql.FlexibleServerArgs{
			Name:              pulumi.String("example"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
		})
		if err != nil {
			return err
		}
		_, err = mysql.NewFlexibleServerFirewallRule(ctx, "example", &mysql.FlexibleServerFirewallRuleArgs{
			Name:              pulumi.String("office"),
			ResourceGroupName: example.Name,
			ServerName:        exampleFlexibleServer.Name,
			StartIpAddress:    pulumi.String("0.0.0.0"),
			EndIpAddress:      pulumi.String("0.0.0.0"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

MySQL Firewall Rule's can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:mysql/flexibleServerFirewallRule:FlexibleServerFirewallRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforMySQL/flexibleServers/flexibleServer1/firewallRules/firewallRule1 ```

func GetFlexibleServerFirewallRule

func GetFlexibleServerFirewallRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FlexibleServerFirewallRuleState, opts ...pulumi.ResourceOption) (*FlexibleServerFirewallRule, error)

GetFlexibleServerFirewallRule gets an existing FlexibleServerFirewallRule 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 NewFlexibleServerFirewallRule

func NewFlexibleServerFirewallRule(ctx *pulumi.Context,
	name string, args *FlexibleServerFirewallRuleArgs, opts ...pulumi.ResourceOption) (*FlexibleServerFirewallRule, error)

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

func (*FlexibleServerFirewallRule) ElementType

func (*FlexibleServerFirewallRule) ElementType() reflect.Type

func (*FlexibleServerFirewallRule) ToFlexibleServerFirewallRuleOutput

func (i *FlexibleServerFirewallRule) ToFlexibleServerFirewallRuleOutput() FlexibleServerFirewallRuleOutput

func (*FlexibleServerFirewallRule) ToFlexibleServerFirewallRuleOutputWithContext

func (i *FlexibleServerFirewallRule) ToFlexibleServerFirewallRuleOutputWithContext(ctx context.Context) FlexibleServerFirewallRuleOutput

type FlexibleServerFirewallRuleArgs

type FlexibleServerFirewallRuleArgs struct {
	// Specifies the End IP Address associated with this Firewall 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
	// Specifies the name of the MySQL Firewall Rule. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which the MySQL Flexible Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
	// Specifies the Start IP Address associated with this Firewall Rule.
	StartIpAddress pulumi.StringInput
}

The set of arguments for constructing a FlexibleServerFirewallRule resource.

func (FlexibleServerFirewallRuleArgs) ElementType

type FlexibleServerFirewallRuleArray

type FlexibleServerFirewallRuleArray []FlexibleServerFirewallRuleInput

func (FlexibleServerFirewallRuleArray) ElementType

func (FlexibleServerFirewallRuleArray) ToFlexibleServerFirewallRuleArrayOutput

func (i FlexibleServerFirewallRuleArray) ToFlexibleServerFirewallRuleArrayOutput() FlexibleServerFirewallRuleArrayOutput

func (FlexibleServerFirewallRuleArray) ToFlexibleServerFirewallRuleArrayOutputWithContext

func (i FlexibleServerFirewallRuleArray) ToFlexibleServerFirewallRuleArrayOutputWithContext(ctx context.Context) FlexibleServerFirewallRuleArrayOutput

type FlexibleServerFirewallRuleArrayInput

type FlexibleServerFirewallRuleArrayInput interface {
	pulumi.Input

	ToFlexibleServerFirewallRuleArrayOutput() FlexibleServerFirewallRuleArrayOutput
	ToFlexibleServerFirewallRuleArrayOutputWithContext(context.Context) FlexibleServerFirewallRuleArrayOutput
}

FlexibleServerFirewallRuleArrayInput is an input type that accepts FlexibleServerFirewallRuleArray and FlexibleServerFirewallRuleArrayOutput values. You can construct a concrete instance of `FlexibleServerFirewallRuleArrayInput` via:

FlexibleServerFirewallRuleArray{ FlexibleServerFirewallRuleArgs{...} }

type FlexibleServerFirewallRuleArrayOutput

type FlexibleServerFirewallRuleArrayOutput struct{ *pulumi.OutputState }

func (FlexibleServerFirewallRuleArrayOutput) ElementType

func (FlexibleServerFirewallRuleArrayOutput) Index

func (FlexibleServerFirewallRuleArrayOutput) ToFlexibleServerFirewallRuleArrayOutput

func (o FlexibleServerFirewallRuleArrayOutput) ToFlexibleServerFirewallRuleArrayOutput() FlexibleServerFirewallRuleArrayOutput

func (FlexibleServerFirewallRuleArrayOutput) ToFlexibleServerFirewallRuleArrayOutputWithContext

func (o FlexibleServerFirewallRuleArrayOutput) ToFlexibleServerFirewallRuleArrayOutputWithContext(ctx context.Context) FlexibleServerFirewallRuleArrayOutput

type FlexibleServerFirewallRuleInput

type FlexibleServerFirewallRuleInput interface {
	pulumi.Input

	ToFlexibleServerFirewallRuleOutput() FlexibleServerFirewallRuleOutput
	ToFlexibleServerFirewallRuleOutputWithContext(ctx context.Context) FlexibleServerFirewallRuleOutput
}

type FlexibleServerFirewallRuleMap

type FlexibleServerFirewallRuleMap map[string]FlexibleServerFirewallRuleInput

func (FlexibleServerFirewallRuleMap) ElementType

func (FlexibleServerFirewallRuleMap) ToFlexibleServerFirewallRuleMapOutput

func (i FlexibleServerFirewallRuleMap) ToFlexibleServerFirewallRuleMapOutput() FlexibleServerFirewallRuleMapOutput

func (FlexibleServerFirewallRuleMap) ToFlexibleServerFirewallRuleMapOutputWithContext

func (i FlexibleServerFirewallRuleMap) ToFlexibleServerFirewallRuleMapOutputWithContext(ctx context.Context) FlexibleServerFirewallRuleMapOutput

type FlexibleServerFirewallRuleMapInput

type FlexibleServerFirewallRuleMapInput interface {
	pulumi.Input

	ToFlexibleServerFirewallRuleMapOutput() FlexibleServerFirewallRuleMapOutput
	ToFlexibleServerFirewallRuleMapOutputWithContext(context.Context) FlexibleServerFirewallRuleMapOutput
}

FlexibleServerFirewallRuleMapInput is an input type that accepts FlexibleServerFirewallRuleMap and FlexibleServerFirewallRuleMapOutput values. You can construct a concrete instance of `FlexibleServerFirewallRuleMapInput` via:

FlexibleServerFirewallRuleMap{ "key": FlexibleServerFirewallRuleArgs{...} }

type FlexibleServerFirewallRuleMapOutput

type FlexibleServerFirewallRuleMapOutput struct{ *pulumi.OutputState }

func (FlexibleServerFirewallRuleMapOutput) ElementType

func (FlexibleServerFirewallRuleMapOutput) MapIndex

func (FlexibleServerFirewallRuleMapOutput) ToFlexibleServerFirewallRuleMapOutput

func (o FlexibleServerFirewallRuleMapOutput) ToFlexibleServerFirewallRuleMapOutput() FlexibleServerFirewallRuleMapOutput

func (FlexibleServerFirewallRuleMapOutput) ToFlexibleServerFirewallRuleMapOutputWithContext

func (o FlexibleServerFirewallRuleMapOutput) ToFlexibleServerFirewallRuleMapOutputWithContext(ctx context.Context) FlexibleServerFirewallRuleMapOutput

type FlexibleServerFirewallRuleOutput

type FlexibleServerFirewallRuleOutput struct{ *pulumi.OutputState }

func (FlexibleServerFirewallRuleOutput) ElementType

func (FlexibleServerFirewallRuleOutput) EndIpAddress added in v5.5.0

Specifies the End IP Address associated with this Firewall 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 (FlexibleServerFirewallRuleOutput) Name added in v5.5.0

Specifies the name of the MySQL Firewall Rule. Changing this forces a new resource to be created.

func (FlexibleServerFirewallRuleOutput) ResourceGroupName added in v5.5.0

The name of the resource group in which the MySQL Flexible Server exists. Changing this forces a new resource to be created.

func (FlexibleServerFirewallRuleOutput) ServerName added in v5.5.0

Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.

func (FlexibleServerFirewallRuleOutput) StartIpAddress added in v5.5.0

Specifies the Start IP Address associated with this Firewall Rule.

func (FlexibleServerFirewallRuleOutput) ToFlexibleServerFirewallRuleOutput

func (o FlexibleServerFirewallRuleOutput) ToFlexibleServerFirewallRuleOutput() FlexibleServerFirewallRuleOutput

func (FlexibleServerFirewallRuleOutput) ToFlexibleServerFirewallRuleOutputWithContext

func (o FlexibleServerFirewallRuleOutput) ToFlexibleServerFirewallRuleOutputWithContext(ctx context.Context) FlexibleServerFirewallRuleOutput

type FlexibleServerFirewallRuleState

type FlexibleServerFirewallRuleState struct {
	// Specifies the End IP Address associated with this Firewall 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
	// Specifies the name of the MySQL Firewall Rule. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which the MySQL Flexible Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the name of the MySQL Flexible Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
	// Specifies the Start IP Address associated with this Firewall Rule.
	StartIpAddress pulumi.StringPtrInput
}

func (FlexibleServerFirewallRuleState) ElementType

type FlexibleServerHighAvailability

type FlexibleServerHighAvailability struct {
	// The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`.
	//
	// > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `highAvailability` is enabled. To change the `highAvailability` for a MySQL Flexible Server created with `highAvailability` disabled during creation, the resource has to be recreated.
	Mode                    string  `pulumi:"mode"`
	StandbyAvailabilityZone *string `pulumi:"standbyAvailabilityZone"`
}

type FlexibleServerHighAvailabilityArgs

type FlexibleServerHighAvailabilityArgs struct {
	// The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`.
	//
	// > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `highAvailability` is enabled. To change the `highAvailability` for a MySQL Flexible Server created with `highAvailability` disabled during creation, the resource has to be recreated.
	Mode                    pulumi.StringInput    `pulumi:"mode"`
	StandbyAvailabilityZone pulumi.StringPtrInput `pulumi:"standbyAvailabilityZone"`
}

func (FlexibleServerHighAvailabilityArgs) ElementType

func (FlexibleServerHighAvailabilityArgs) ToFlexibleServerHighAvailabilityOutput

func (i FlexibleServerHighAvailabilityArgs) ToFlexibleServerHighAvailabilityOutput() FlexibleServerHighAvailabilityOutput

func (FlexibleServerHighAvailabilityArgs) ToFlexibleServerHighAvailabilityOutputWithContext

func (i FlexibleServerHighAvailabilityArgs) ToFlexibleServerHighAvailabilityOutputWithContext(ctx context.Context) FlexibleServerHighAvailabilityOutput

func (FlexibleServerHighAvailabilityArgs) ToFlexibleServerHighAvailabilityPtrOutput

func (i FlexibleServerHighAvailabilityArgs) ToFlexibleServerHighAvailabilityPtrOutput() FlexibleServerHighAvailabilityPtrOutput

func (FlexibleServerHighAvailabilityArgs) ToFlexibleServerHighAvailabilityPtrOutputWithContext

func (i FlexibleServerHighAvailabilityArgs) ToFlexibleServerHighAvailabilityPtrOutputWithContext(ctx context.Context) FlexibleServerHighAvailabilityPtrOutput

type FlexibleServerHighAvailabilityInput

type FlexibleServerHighAvailabilityInput interface {
	pulumi.Input

	ToFlexibleServerHighAvailabilityOutput() FlexibleServerHighAvailabilityOutput
	ToFlexibleServerHighAvailabilityOutputWithContext(context.Context) FlexibleServerHighAvailabilityOutput
}

FlexibleServerHighAvailabilityInput is an input type that accepts FlexibleServerHighAvailabilityArgs and FlexibleServerHighAvailabilityOutput values. You can construct a concrete instance of `FlexibleServerHighAvailabilityInput` via:

FlexibleServerHighAvailabilityArgs{...}

type FlexibleServerHighAvailabilityOutput

type FlexibleServerHighAvailabilityOutput struct{ *pulumi.OutputState }

func (FlexibleServerHighAvailabilityOutput) ElementType

func (FlexibleServerHighAvailabilityOutput) Mode

The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`.

> **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `highAvailability` is enabled. To change the `highAvailability` for a MySQL Flexible Server created with `highAvailability` disabled during creation, the resource has to be recreated.

func (FlexibleServerHighAvailabilityOutput) StandbyAvailabilityZone

func (o FlexibleServerHighAvailabilityOutput) StandbyAvailabilityZone() pulumi.StringPtrOutput

func (FlexibleServerHighAvailabilityOutput) ToFlexibleServerHighAvailabilityOutput

func (o FlexibleServerHighAvailabilityOutput) ToFlexibleServerHighAvailabilityOutput() FlexibleServerHighAvailabilityOutput

func (FlexibleServerHighAvailabilityOutput) ToFlexibleServerHighAvailabilityOutputWithContext

func (o FlexibleServerHighAvailabilityOutput) ToFlexibleServerHighAvailabilityOutputWithContext(ctx context.Context) FlexibleServerHighAvailabilityOutput

func (FlexibleServerHighAvailabilityOutput) ToFlexibleServerHighAvailabilityPtrOutput

func (o FlexibleServerHighAvailabilityOutput) ToFlexibleServerHighAvailabilityPtrOutput() FlexibleServerHighAvailabilityPtrOutput

func (FlexibleServerHighAvailabilityOutput) ToFlexibleServerHighAvailabilityPtrOutputWithContext

func (o FlexibleServerHighAvailabilityOutput) ToFlexibleServerHighAvailabilityPtrOutputWithContext(ctx context.Context) FlexibleServerHighAvailabilityPtrOutput

type FlexibleServerHighAvailabilityPtrInput

type FlexibleServerHighAvailabilityPtrInput interface {
	pulumi.Input

	ToFlexibleServerHighAvailabilityPtrOutput() FlexibleServerHighAvailabilityPtrOutput
	ToFlexibleServerHighAvailabilityPtrOutputWithContext(context.Context) FlexibleServerHighAvailabilityPtrOutput
}

FlexibleServerHighAvailabilityPtrInput is an input type that accepts FlexibleServerHighAvailabilityArgs, FlexibleServerHighAvailabilityPtr and FlexibleServerHighAvailabilityPtrOutput values. You can construct a concrete instance of `FlexibleServerHighAvailabilityPtrInput` via:

        FlexibleServerHighAvailabilityArgs{...}

or:

        nil

type FlexibleServerHighAvailabilityPtrOutput

type FlexibleServerHighAvailabilityPtrOutput struct{ *pulumi.OutputState }

func (FlexibleServerHighAvailabilityPtrOutput) Elem

func (FlexibleServerHighAvailabilityPtrOutput) ElementType

func (FlexibleServerHighAvailabilityPtrOutput) Mode

The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`.

> **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `highAvailability` is enabled. To change the `highAvailability` for a MySQL Flexible Server created with `highAvailability` disabled during creation, the resource has to be recreated.

func (FlexibleServerHighAvailabilityPtrOutput) StandbyAvailabilityZone

func (FlexibleServerHighAvailabilityPtrOutput) ToFlexibleServerHighAvailabilityPtrOutput

func (o FlexibleServerHighAvailabilityPtrOutput) ToFlexibleServerHighAvailabilityPtrOutput() FlexibleServerHighAvailabilityPtrOutput

func (FlexibleServerHighAvailabilityPtrOutput) ToFlexibleServerHighAvailabilityPtrOutputWithContext

func (o FlexibleServerHighAvailabilityPtrOutput) ToFlexibleServerHighAvailabilityPtrOutputWithContext(ctx context.Context) FlexibleServerHighAvailabilityPtrOutput

type FlexibleServerIdentity added in v5.31.0

type FlexibleServerIdentity struct {
	// A list of User Assigned Managed Identity IDs to be assigned to this MySQL Flexible Server.
	IdentityIds []string `pulumi:"identityIds"`
	// Specifies the type of Managed Service Identity that should be configured on this MySQL Flexible Server. The only possible value is `UserAssigned`.
	Type string `pulumi:"type"`
}

type FlexibleServerIdentityArgs added in v5.31.0

type FlexibleServerIdentityArgs struct {
	// A list of User Assigned Managed Identity IDs to be assigned to this MySQL Flexible Server.
	IdentityIds pulumi.StringArrayInput `pulumi:"identityIds"`
	// Specifies the type of Managed Service Identity that should be configured on this MySQL Flexible Server. The only possible value is `UserAssigned`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (FlexibleServerIdentityArgs) ElementType added in v5.31.0

func (FlexibleServerIdentityArgs) ElementType() reflect.Type

func (FlexibleServerIdentityArgs) ToFlexibleServerIdentityOutput added in v5.31.0

func (i FlexibleServerIdentityArgs) ToFlexibleServerIdentityOutput() FlexibleServerIdentityOutput

func (FlexibleServerIdentityArgs) ToFlexibleServerIdentityOutputWithContext added in v5.31.0

func (i FlexibleServerIdentityArgs) ToFlexibleServerIdentityOutputWithContext(ctx context.Context) FlexibleServerIdentityOutput

func (FlexibleServerIdentityArgs) ToFlexibleServerIdentityPtrOutput added in v5.31.0

func (i FlexibleServerIdentityArgs) ToFlexibleServerIdentityPtrOutput() FlexibleServerIdentityPtrOutput

func (FlexibleServerIdentityArgs) ToFlexibleServerIdentityPtrOutputWithContext added in v5.31.0

func (i FlexibleServerIdentityArgs) ToFlexibleServerIdentityPtrOutputWithContext(ctx context.Context) FlexibleServerIdentityPtrOutput

type FlexibleServerIdentityInput added in v5.31.0

type FlexibleServerIdentityInput interface {
	pulumi.Input

	ToFlexibleServerIdentityOutput() FlexibleServerIdentityOutput
	ToFlexibleServerIdentityOutputWithContext(context.Context) FlexibleServerIdentityOutput
}

FlexibleServerIdentityInput is an input type that accepts FlexibleServerIdentityArgs and FlexibleServerIdentityOutput values. You can construct a concrete instance of `FlexibleServerIdentityInput` via:

FlexibleServerIdentityArgs{...}

type FlexibleServerIdentityOutput added in v5.31.0

type FlexibleServerIdentityOutput struct{ *pulumi.OutputState }

func (FlexibleServerIdentityOutput) ElementType added in v5.31.0

func (FlexibleServerIdentityOutput) IdentityIds added in v5.31.0

A list of User Assigned Managed Identity IDs to be assigned to this MySQL Flexible Server.

func (FlexibleServerIdentityOutput) ToFlexibleServerIdentityOutput added in v5.31.0

func (o FlexibleServerIdentityOutput) ToFlexibleServerIdentityOutput() FlexibleServerIdentityOutput

func (FlexibleServerIdentityOutput) ToFlexibleServerIdentityOutputWithContext added in v5.31.0

func (o FlexibleServerIdentityOutput) ToFlexibleServerIdentityOutputWithContext(ctx context.Context) FlexibleServerIdentityOutput

func (FlexibleServerIdentityOutput) ToFlexibleServerIdentityPtrOutput added in v5.31.0

func (o FlexibleServerIdentityOutput) ToFlexibleServerIdentityPtrOutput() FlexibleServerIdentityPtrOutput

func (FlexibleServerIdentityOutput) ToFlexibleServerIdentityPtrOutputWithContext added in v5.31.0

func (o FlexibleServerIdentityOutput) ToFlexibleServerIdentityPtrOutputWithContext(ctx context.Context) FlexibleServerIdentityPtrOutput

func (FlexibleServerIdentityOutput) Type added in v5.31.0

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

type FlexibleServerIdentityPtrInput added in v5.31.0

type FlexibleServerIdentityPtrInput interface {
	pulumi.Input

	ToFlexibleServerIdentityPtrOutput() FlexibleServerIdentityPtrOutput
	ToFlexibleServerIdentityPtrOutputWithContext(context.Context) FlexibleServerIdentityPtrOutput
}

FlexibleServerIdentityPtrInput is an input type that accepts FlexibleServerIdentityArgs, FlexibleServerIdentityPtr and FlexibleServerIdentityPtrOutput values. You can construct a concrete instance of `FlexibleServerIdentityPtrInput` via:

        FlexibleServerIdentityArgs{...}

or:

        nil

func FlexibleServerIdentityPtr added in v5.31.0

func FlexibleServerIdentityPtr(v *FlexibleServerIdentityArgs) FlexibleServerIdentityPtrInput

type FlexibleServerIdentityPtrOutput added in v5.31.0

type FlexibleServerIdentityPtrOutput struct{ *pulumi.OutputState }

func (FlexibleServerIdentityPtrOutput) Elem added in v5.31.0

func (FlexibleServerIdentityPtrOutput) ElementType added in v5.31.0

func (FlexibleServerIdentityPtrOutput) IdentityIds added in v5.31.0

A list of User Assigned Managed Identity IDs to be assigned to this MySQL Flexible Server.

func (FlexibleServerIdentityPtrOutput) ToFlexibleServerIdentityPtrOutput added in v5.31.0

func (o FlexibleServerIdentityPtrOutput) ToFlexibleServerIdentityPtrOutput() FlexibleServerIdentityPtrOutput

func (FlexibleServerIdentityPtrOutput) ToFlexibleServerIdentityPtrOutputWithContext added in v5.31.0

func (o FlexibleServerIdentityPtrOutput) ToFlexibleServerIdentityPtrOutputWithContext(ctx context.Context) FlexibleServerIdentityPtrOutput

func (FlexibleServerIdentityPtrOutput) Type added in v5.31.0

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

type FlexibleServerInput

type FlexibleServerInput interface {
	pulumi.Input

	ToFlexibleServerOutput() FlexibleServerOutput
	ToFlexibleServerOutputWithContext(ctx context.Context) FlexibleServerOutput
}

type FlexibleServerMaintenanceWindow

type FlexibleServerMaintenanceWindow struct {
	// The day of week for maintenance window. Defaults to `0`.
	DayOfWeek *int `pulumi:"dayOfWeek"`
	// The start hour for maintenance window. Defaults to `0`.
	StartHour *int `pulumi:"startHour"`
	// The start minute for maintenance window. Defaults to `0`.
	StartMinute *int `pulumi:"startMinute"`
}

type FlexibleServerMaintenanceWindowArgs

type FlexibleServerMaintenanceWindowArgs struct {
	// The day of week for maintenance window. Defaults to `0`.
	DayOfWeek pulumi.IntPtrInput `pulumi:"dayOfWeek"`
	// The start hour for maintenance window. Defaults to `0`.
	StartHour pulumi.IntPtrInput `pulumi:"startHour"`
	// The start minute for maintenance window. Defaults to `0`.
	StartMinute pulumi.IntPtrInput `pulumi:"startMinute"`
}

func (FlexibleServerMaintenanceWindowArgs) ElementType

func (FlexibleServerMaintenanceWindowArgs) ToFlexibleServerMaintenanceWindowOutput

func (i FlexibleServerMaintenanceWindowArgs) ToFlexibleServerMaintenanceWindowOutput() FlexibleServerMaintenanceWindowOutput

func (FlexibleServerMaintenanceWindowArgs) ToFlexibleServerMaintenanceWindowOutputWithContext

func (i FlexibleServerMaintenanceWindowArgs) ToFlexibleServerMaintenanceWindowOutputWithContext(ctx context.Context) FlexibleServerMaintenanceWindowOutput

func (FlexibleServerMaintenanceWindowArgs) ToFlexibleServerMaintenanceWindowPtrOutput

func (i FlexibleServerMaintenanceWindowArgs) ToFlexibleServerMaintenanceWindowPtrOutput() FlexibleServerMaintenanceWindowPtrOutput

func (FlexibleServerMaintenanceWindowArgs) ToFlexibleServerMaintenanceWindowPtrOutputWithContext

func (i FlexibleServerMaintenanceWindowArgs) ToFlexibleServerMaintenanceWindowPtrOutputWithContext(ctx context.Context) FlexibleServerMaintenanceWindowPtrOutput

type FlexibleServerMaintenanceWindowInput

type FlexibleServerMaintenanceWindowInput interface {
	pulumi.Input

	ToFlexibleServerMaintenanceWindowOutput() FlexibleServerMaintenanceWindowOutput
	ToFlexibleServerMaintenanceWindowOutputWithContext(context.Context) FlexibleServerMaintenanceWindowOutput
}

FlexibleServerMaintenanceWindowInput is an input type that accepts FlexibleServerMaintenanceWindowArgs and FlexibleServerMaintenanceWindowOutput values. You can construct a concrete instance of `FlexibleServerMaintenanceWindowInput` via:

FlexibleServerMaintenanceWindowArgs{...}

type FlexibleServerMaintenanceWindowOutput

type FlexibleServerMaintenanceWindowOutput struct{ *pulumi.OutputState }

func (FlexibleServerMaintenanceWindowOutput) DayOfWeek

The day of week for maintenance window. Defaults to `0`.

func (FlexibleServerMaintenanceWindowOutput) ElementType

func (FlexibleServerMaintenanceWindowOutput) StartHour

The start hour for maintenance window. Defaults to `0`.

func (FlexibleServerMaintenanceWindowOutput) StartMinute

The start minute for maintenance window. Defaults to `0`.

func (FlexibleServerMaintenanceWindowOutput) ToFlexibleServerMaintenanceWindowOutput

func (o FlexibleServerMaintenanceWindowOutput) ToFlexibleServerMaintenanceWindowOutput() FlexibleServerMaintenanceWindowOutput

func (FlexibleServerMaintenanceWindowOutput) ToFlexibleServerMaintenanceWindowOutputWithContext

func (o FlexibleServerMaintenanceWindowOutput) ToFlexibleServerMaintenanceWindowOutputWithContext(ctx context.Context) FlexibleServerMaintenanceWindowOutput

func (FlexibleServerMaintenanceWindowOutput) ToFlexibleServerMaintenanceWindowPtrOutput

func (o FlexibleServerMaintenanceWindowOutput) ToFlexibleServerMaintenanceWindowPtrOutput() FlexibleServerMaintenanceWindowPtrOutput

func (FlexibleServerMaintenanceWindowOutput) ToFlexibleServerMaintenanceWindowPtrOutputWithContext

func (o FlexibleServerMaintenanceWindowOutput) ToFlexibleServerMaintenanceWindowPtrOutputWithContext(ctx context.Context) FlexibleServerMaintenanceWindowPtrOutput

type FlexibleServerMaintenanceWindowPtrInput

type FlexibleServerMaintenanceWindowPtrInput interface {
	pulumi.Input

	ToFlexibleServerMaintenanceWindowPtrOutput() FlexibleServerMaintenanceWindowPtrOutput
	ToFlexibleServerMaintenanceWindowPtrOutputWithContext(context.Context) FlexibleServerMaintenanceWindowPtrOutput
}

FlexibleServerMaintenanceWindowPtrInput is an input type that accepts FlexibleServerMaintenanceWindowArgs, FlexibleServerMaintenanceWindowPtr and FlexibleServerMaintenanceWindowPtrOutput values. You can construct a concrete instance of `FlexibleServerMaintenanceWindowPtrInput` via:

        FlexibleServerMaintenanceWindowArgs{...}

or:

        nil

type FlexibleServerMaintenanceWindowPtrOutput

type FlexibleServerMaintenanceWindowPtrOutput struct{ *pulumi.OutputState }

func (FlexibleServerMaintenanceWindowPtrOutput) DayOfWeek

The day of week for maintenance window. Defaults to `0`.

func (FlexibleServerMaintenanceWindowPtrOutput) Elem

func (FlexibleServerMaintenanceWindowPtrOutput) ElementType

func (FlexibleServerMaintenanceWindowPtrOutput) StartHour

The start hour for maintenance window. Defaults to `0`.

func (FlexibleServerMaintenanceWindowPtrOutput) StartMinute

The start minute for maintenance window. Defaults to `0`.

func (FlexibleServerMaintenanceWindowPtrOutput) ToFlexibleServerMaintenanceWindowPtrOutput

func (o FlexibleServerMaintenanceWindowPtrOutput) ToFlexibleServerMaintenanceWindowPtrOutput() FlexibleServerMaintenanceWindowPtrOutput

func (FlexibleServerMaintenanceWindowPtrOutput) ToFlexibleServerMaintenanceWindowPtrOutputWithContext

func (o FlexibleServerMaintenanceWindowPtrOutput) ToFlexibleServerMaintenanceWindowPtrOutputWithContext(ctx context.Context) FlexibleServerMaintenanceWindowPtrOutput

type FlexibleServerMap

type FlexibleServerMap map[string]FlexibleServerInput

func (FlexibleServerMap) ElementType

func (FlexibleServerMap) ElementType() reflect.Type

func (FlexibleServerMap) ToFlexibleServerMapOutput

func (i FlexibleServerMap) ToFlexibleServerMapOutput() FlexibleServerMapOutput

func (FlexibleServerMap) ToFlexibleServerMapOutputWithContext

func (i FlexibleServerMap) ToFlexibleServerMapOutputWithContext(ctx context.Context) FlexibleServerMapOutput

type FlexibleServerMapInput

type FlexibleServerMapInput interface {
	pulumi.Input

	ToFlexibleServerMapOutput() FlexibleServerMapOutput
	ToFlexibleServerMapOutputWithContext(context.Context) FlexibleServerMapOutput
}

FlexibleServerMapInput is an input type that accepts FlexibleServerMap and FlexibleServerMapOutput values. You can construct a concrete instance of `FlexibleServerMapInput` via:

FlexibleServerMap{ "key": FlexibleServerArgs{...} }

type FlexibleServerMapOutput

type FlexibleServerMapOutput struct{ *pulumi.OutputState }

func (FlexibleServerMapOutput) ElementType

func (FlexibleServerMapOutput) ElementType() reflect.Type

func (FlexibleServerMapOutput) MapIndex

func (FlexibleServerMapOutput) ToFlexibleServerMapOutput

func (o FlexibleServerMapOutput) ToFlexibleServerMapOutput() FlexibleServerMapOutput

func (FlexibleServerMapOutput) ToFlexibleServerMapOutputWithContext

func (o FlexibleServerMapOutput) ToFlexibleServerMapOutputWithContext(ctx context.Context) FlexibleServerMapOutput

type FlexibleServerOutput

type FlexibleServerOutput struct{ *pulumi.OutputState }

func (FlexibleServerOutput) AdministratorLogin added in v5.5.0

func (o FlexibleServerOutput) AdministratorLogin() pulumi.StringOutput

The Administrator login for the MySQL Flexible Server. Required when `createMode` is `Default`. Changing this forces a new MySQL Flexible Server to be created.

func (FlexibleServerOutput) AdministratorPassword added in v5.5.0

func (o FlexibleServerOutput) AdministratorPassword() pulumi.StringPtrOutput

The Password associated with the `administratorLogin` for the MySQL Flexible Server. Required when `createMode` is `Default`.

func (FlexibleServerOutput) BackupRetentionDays added in v5.5.0

func (o FlexibleServerOutput) BackupRetentionDays() pulumi.IntPtrOutput

The backup retention days for the MySQL Flexible Server. Possible values are between `1` and `35` days. Defaults to `7`.

func (FlexibleServerOutput) CreateMode added in v5.5.0

The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `PointInTimeRestore`, `GeoRestore`, and `Replica`. Changing this forces a new MySQL Flexible Server to be created.

> **NOTE:** Creating a `GeoRestore` server requires the source server with `geoRedundantBackupEnabled` enabled.

> **NOTE:** When a server is first created it may not be immediately available for `geo restore` or `replica`. It may take a few minutes to several hours for the necessary metadata to be populated. Please see the [Geo Restore](https://learn.microsoft.com/azure/mysql/single-server/how-to-restore-server-portal#geo-restore) and the [Replica](https://learn.microsoft.com/azure/mysql/flexible-server/concepts-read-replicas#create-a-replica) for more information.

func (FlexibleServerOutput) CustomerManagedKey added in v5.31.0

A `customerManagedKey` block as defined below.

> **NOTE:** `identity` is required when `customerManagedKey` is specified.

func (FlexibleServerOutput) DelegatedSubnetId added in v5.5.0

func (o FlexibleServerOutput) DelegatedSubnetId() pulumi.StringPtrOutput

The ID of the virtual network subnet to create the MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.

func (FlexibleServerOutput) ElementType

func (FlexibleServerOutput) ElementType() reflect.Type

func (FlexibleServerOutput) Fqdn added in v5.5.0

The fully qualified domain name of the MySQL Flexible Server.

func (FlexibleServerOutput) GeoRedundantBackupEnabled added in v5.5.0

func (o FlexibleServerOutput) GeoRedundantBackupEnabled() pulumi.BoolPtrOutput

Should geo redundant backup enabled? Defaults to `false`. Changing this forces a new MySQL Flexible Server to be created.

func (FlexibleServerOutput) HighAvailability added in v5.5.0

A `highAvailability` block as defined below.

func (FlexibleServerOutput) Identity added in v5.31.0

An `identity` block as defined below.

func (FlexibleServerOutput) Location added in v5.5.0

The Azure Region where the MySQL Flexible Server should exist. Changing this forces a new MySQL Flexible Server to be created.

func (FlexibleServerOutput) MaintenanceWindow added in v5.5.0

A `maintenanceWindow` block as defined below.

func (FlexibleServerOutput) Name added in v5.5.0

The name which should be used for this MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.

func (FlexibleServerOutput) PointInTimeRestoreTimeInUtc added in v5.5.0

func (o FlexibleServerOutput) PointInTimeRestoreTimeInUtc() pulumi.StringPtrOutput

The point in time to restore from `creationSourceServerId` when `createMode` is `PointInTimeRestore`. Changing this forces a new MySQL Flexible Server to be created.

func (FlexibleServerOutput) PrivateDnsZoneId added in v5.5.0

func (o FlexibleServerOutput) PrivateDnsZoneId() pulumi.StringPtrOutput

The ID of the private DNS zone to create the MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.

> **NOTE:** The `privateDnsZoneId` is required when setting a `delegatedSubnetId`. The `privatedns.Zone` should end with suffix `.mysql.database.azure.com`.

func (FlexibleServerOutput) PublicNetworkAccessEnabled added in v5.5.0

func (o FlexibleServerOutput) PublicNetworkAccessEnabled() pulumi.BoolOutput

Is the public network access enabled?

func (FlexibleServerOutput) ReplicaCapacity added in v5.5.0

func (o FlexibleServerOutput) ReplicaCapacity() pulumi.IntOutput

The maximum number of replicas that a primary MySQL Flexible Server can have.

func (FlexibleServerOutput) ReplicationRole added in v5.5.0

func (o FlexibleServerOutput) ReplicationRole() pulumi.StringOutput

The replication role. Possible value is `None`.

> **NOTE:** The `replicationRole` cannot be set while creating and only can be updated from `Replica` to `None`.

func (FlexibleServerOutput) ResourceGroupName added in v5.5.0

func (o FlexibleServerOutput) ResourceGroupName() pulumi.StringOutput

The name of the Resource Group where the MySQL Flexible Server should exist. Changing this forces a new MySQL Flexible Server to be created.

func (FlexibleServerOutput) SkuName added in v5.5.0

The SKU Name for the MySQL Flexible Server.

> **NOTE:** `skuName` should start with SKU tier `B (Burstable)`, `GP (General Purpose)`, `MO (Memory Optimized)` like `B_Standard_B1s`.

func (FlexibleServerOutput) SourceServerId added in v5.5.0

func (o FlexibleServerOutput) SourceServerId() pulumi.StringPtrOutput

The resource ID of the source MySQL Flexible Server to be restored. Required when `createMode` is `PointInTimeRestore`, `GeoRestore`, and `Replica`. Changing this forces a new MySQL Flexible Server to be created.

func (FlexibleServerOutput) Storage added in v5.5.0

A `storage` block as defined below.

func (FlexibleServerOutput) Tags added in v5.5.0

A mapping of tags which should be assigned to the MySQL Flexible Server.

func (FlexibleServerOutput) ToFlexibleServerOutput

func (o FlexibleServerOutput) ToFlexibleServerOutput() FlexibleServerOutput

func (FlexibleServerOutput) ToFlexibleServerOutputWithContext

func (o FlexibleServerOutput) ToFlexibleServerOutputWithContext(ctx context.Context) FlexibleServerOutput

func (FlexibleServerOutput) Version added in v5.5.0

The version of the MySQL Flexible Server to use. Possible values are `5.7`, and `8.0.21`. Changing this forces a new MySQL Flexible Server to be created.

func (FlexibleServerOutput) Zone added in v5.5.0

type FlexibleServerState

type FlexibleServerState struct {
	// The Administrator login for the MySQL Flexible Server. Required when `createMode` is `Default`. Changing this forces a new MySQL Flexible Server to be created.
	AdministratorLogin pulumi.StringPtrInput
	// The Password associated with the `administratorLogin` for the MySQL Flexible Server. Required when `createMode` is `Default`.
	AdministratorPassword pulumi.StringPtrInput
	// The backup retention days for the MySQL Flexible Server. Possible values are between `1` and `35` days. Defaults to `7`.
	BackupRetentionDays pulumi.IntPtrInput
	// The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `PointInTimeRestore`, `GeoRestore`, and `Replica`. Changing this forces a new MySQL Flexible Server to be created.
	//
	// > **NOTE:** Creating a `GeoRestore` server requires the source server with `geoRedundantBackupEnabled` enabled.
	//
	// > **NOTE:** When a server is first created it may not be immediately available for `geo restore` or `replica`. It may take a few minutes to several hours for the necessary metadata to be populated. Please see the [Geo Restore](https://learn.microsoft.com/azure/mysql/single-server/how-to-restore-server-portal#geo-restore) and the [Replica](https://learn.microsoft.com/azure/mysql/flexible-server/concepts-read-replicas#create-a-replica) for more information.
	CreateMode pulumi.StringPtrInput
	// A `customerManagedKey` block as defined below.
	//
	// > **NOTE:** `identity` is required when `customerManagedKey` is specified.
	CustomerManagedKey FlexibleServerCustomerManagedKeyPtrInput
	// The ID of the virtual network subnet to create the MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.
	DelegatedSubnetId pulumi.StringPtrInput
	// The fully qualified domain name of the MySQL Flexible Server.
	Fqdn pulumi.StringPtrInput
	// Should geo redundant backup enabled? Defaults to `false`. Changing this forces a new MySQL Flexible Server to be created.
	GeoRedundantBackupEnabled pulumi.BoolPtrInput
	// A `highAvailability` block as defined below.
	HighAvailability FlexibleServerHighAvailabilityPtrInput
	// An `identity` block as defined below.
	Identity FlexibleServerIdentityPtrInput
	// The Azure Region where the MySQL Flexible Server should exist. Changing this forces a new MySQL Flexible Server to be created.
	Location pulumi.StringPtrInput
	// A `maintenanceWindow` block as defined below.
	MaintenanceWindow FlexibleServerMaintenanceWindowPtrInput
	// The name which should be used for this MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.
	Name pulumi.StringPtrInput
	// The point in time to restore from `creationSourceServerId` when `createMode` is `PointInTimeRestore`. Changing this forces a new MySQL Flexible Server to be created.
	PointInTimeRestoreTimeInUtc pulumi.StringPtrInput
	// The ID of the private DNS zone to create the MySQL Flexible Server. Changing this forces a new MySQL Flexible Server to be created.
	//
	// > **NOTE:** The `privateDnsZoneId` is required when setting a `delegatedSubnetId`. The `privatedns.Zone` should end with suffix `.mysql.database.azure.com`.
	PrivateDnsZoneId pulumi.StringPtrInput
	// Is the public network access enabled?
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// The maximum number of replicas that a primary MySQL Flexible Server can have.
	ReplicaCapacity pulumi.IntPtrInput
	// The replication role. Possible value is `None`.
	//
	// > **NOTE:** The `replicationRole` cannot be set while creating and only can be updated from `Replica` to `None`.
	ReplicationRole pulumi.StringPtrInput
	// The name of the Resource Group where the MySQL Flexible Server should exist. Changing this forces a new MySQL Flexible Server to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The SKU Name for the MySQL Flexible Server.
	//
	// > **NOTE:** `skuName` should start with SKU tier `B (Burstable)`, `GP (General Purpose)`, `MO (Memory Optimized)` like `B_Standard_B1s`.
	SkuName pulumi.StringPtrInput
	// The resource ID of the source MySQL Flexible Server to be restored. Required when `createMode` is `PointInTimeRestore`, `GeoRestore`, and `Replica`. Changing this forces a new MySQL Flexible Server to be created.
	SourceServerId pulumi.StringPtrInput
	// A `storage` block as defined below.
	Storage FlexibleServerStoragePtrInput
	// A mapping of tags which should be assigned to the MySQL Flexible Server.
	Tags pulumi.StringMapInput
	// The version of the MySQL Flexible Server to use. Possible values are `5.7`, and `8.0.21`. Changing this forces a new MySQL Flexible Server to be created.
	Version pulumi.StringPtrInput
	Zone    pulumi.StringPtrInput
}

func (FlexibleServerState) ElementType

func (FlexibleServerState) ElementType() reflect.Type

type FlexibleServerStorage

type FlexibleServerStorage struct {
	// Should Storage Auto Grow be enabled? Defaults to `true`.
	AutoGrowEnabled *bool `pulumi:"autoGrowEnabled"`
	// Should IOPS be scaled automatically? If `true`, `iops` can not be set. Defaults to `false`.
	IoScalingEnabled *bool `pulumi:"ioScalingEnabled"`
	// The storage IOPS for the MySQL Flexible Server. Possible values are between `360` and `20000`.
	Iops *int `pulumi:"iops"`
	// The max storage allowed for the MySQL Flexible Server. Possible values are between `20` and `16384`.
	//
	// > **Note:** Decreasing `sizeGb` forces a new resource to be created.
	SizeGb *int `pulumi:"sizeGb"`
}

type FlexibleServerStorageArgs

type FlexibleServerStorageArgs struct {
	// Should Storage Auto Grow be enabled? Defaults to `true`.
	AutoGrowEnabled pulumi.BoolPtrInput `pulumi:"autoGrowEnabled"`
	// Should IOPS be scaled automatically? If `true`, `iops` can not be set. Defaults to `false`.
	IoScalingEnabled pulumi.BoolPtrInput `pulumi:"ioScalingEnabled"`
	// The storage IOPS for the MySQL Flexible Server. Possible values are between `360` and `20000`.
	Iops pulumi.IntPtrInput `pulumi:"iops"`
	// The max storage allowed for the MySQL Flexible Server. Possible values are between `20` and `16384`.
	//
	// > **Note:** Decreasing `sizeGb` forces a new resource to be created.
	SizeGb pulumi.IntPtrInput `pulumi:"sizeGb"`
}

func (FlexibleServerStorageArgs) ElementType

func (FlexibleServerStorageArgs) ElementType() reflect.Type

func (FlexibleServerStorageArgs) ToFlexibleServerStorageOutput

func (i FlexibleServerStorageArgs) ToFlexibleServerStorageOutput() FlexibleServerStorageOutput

func (FlexibleServerStorageArgs) ToFlexibleServerStorageOutputWithContext

func (i FlexibleServerStorageArgs) ToFlexibleServerStorageOutputWithContext(ctx context.Context) FlexibleServerStorageOutput

func (FlexibleServerStorageArgs) ToFlexibleServerStoragePtrOutput

func (i FlexibleServerStorageArgs) ToFlexibleServerStoragePtrOutput() FlexibleServerStoragePtrOutput

func (FlexibleServerStorageArgs) ToFlexibleServerStoragePtrOutputWithContext

func (i FlexibleServerStorageArgs) ToFlexibleServerStoragePtrOutputWithContext(ctx context.Context) FlexibleServerStoragePtrOutput

type FlexibleServerStorageInput

type FlexibleServerStorageInput interface {
	pulumi.Input

	ToFlexibleServerStorageOutput() FlexibleServerStorageOutput
	ToFlexibleServerStorageOutputWithContext(context.Context) FlexibleServerStorageOutput
}

FlexibleServerStorageInput is an input type that accepts FlexibleServerStorageArgs and FlexibleServerStorageOutput values. You can construct a concrete instance of `FlexibleServerStorageInput` via:

FlexibleServerStorageArgs{...}

type FlexibleServerStorageOutput

type FlexibleServerStorageOutput struct{ *pulumi.OutputState }

func (FlexibleServerStorageOutput) AutoGrowEnabled

func (o FlexibleServerStorageOutput) AutoGrowEnabled() pulumi.BoolPtrOutput

Should Storage Auto Grow be enabled? Defaults to `true`.

func (FlexibleServerStorageOutput) ElementType

func (FlexibleServerStorageOutput) IoScalingEnabled added in v5.52.0

func (o FlexibleServerStorageOutput) IoScalingEnabled() pulumi.BoolPtrOutput

Should IOPS be scaled automatically? If `true`, `iops` can not be set. Defaults to `false`.

func (FlexibleServerStorageOutput) Iops

The storage IOPS for the MySQL Flexible Server. Possible values are between `360` and `20000`.

func (FlexibleServerStorageOutput) SizeGb

The max storage allowed for the MySQL Flexible Server. Possible values are between `20` and `16384`.

> **Note:** Decreasing `sizeGb` forces a new resource to be created.

func (FlexibleServerStorageOutput) ToFlexibleServerStorageOutput

func (o FlexibleServerStorageOutput) ToFlexibleServerStorageOutput() FlexibleServerStorageOutput

func (FlexibleServerStorageOutput) ToFlexibleServerStorageOutputWithContext

func (o FlexibleServerStorageOutput) ToFlexibleServerStorageOutputWithContext(ctx context.Context) FlexibleServerStorageOutput

func (FlexibleServerStorageOutput) ToFlexibleServerStoragePtrOutput

func (o FlexibleServerStorageOutput) ToFlexibleServerStoragePtrOutput() FlexibleServerStoragePtrOutput

func (FlexibleServerStorageOutput) ToFlexibleServerStoragePtrOutputWithContext

func (o FlexibleServerStorageOutput) ToFlexibleServerStoragePtrOutputWithContext(ctx context.Context) FlexibleServerStoragePtrOutput

type FlexibleServerStoragePtrInput

type FlexibleServerStoragePtrInput interface {
	pulumi.Input

	ToFlexibleServerStoragePtrOutput() FlexibleServerStoragePtrOutput
	ToFlexibleServerStoragePtrOutputWithContext(context.Context) FlexibleServerStoragePtrOutput
}

FlexibleServerStoragePtrInput is an input type that accepts FlexibleServerStorageArgs, FlexibleServerStoragePtr and FlexibleServerStoragePtrOutput values. You can construct a concrete instance of `FlexibleServerStoragePtrInput` via:

        FlexibleServerStorageArgs{...}

or:

        nil

type FlexibleServerStoragePtrOutput

type FlexibleServerStoragePtrOutput struct{ *pulumi.OutputState }

func (FlexibleServerStoragePtrOutput) AutoGrowEnabled

Should Storage Auto Grow be enabled? Defaults to `true`.

func (FlexibleServerStoragePtrOutput) Elem

func (FlexibleServerStoragePtrOutput) ElementType

func (FlexibleServerStoragePtrOutput) IoScalingEnabled added in v5.52.0

Should IOPS be scaled automatically? If `true`, `iops` can not be set. Defaults to `false`.

func (FlexibleServerStoragePtrOutput) Iops

The storage IOPS for the MySQL Flexible Server. Possible values are between `360` and `20000`.

func (FlexibleServerStoragePtrOutput) SizeGb

The max storage allowed for the MySQL Flexible Server. Possible values are between `20` and `16384`.

> **Note:** Decreasing `sizeGb` forces a new resource to be created.

func (FlexibleServerStoragePtrOutput) ToFlexibleServerStoragePtrOutput

func (o FlexibleServerStoragePtrOutput) ToFlexibleServerStoragePtrOutput() FlexibleServerStoragePtrOutput

func (FlexibleServerStoragePtrOutput) ToFlexibleServerStoragePtrOutputWithContext

func (o FlexibleServerStoragePtrOutput) ToFlexibleServerStoragePtrOutputWithContext(ctx context.Context) FlexibleServerStoragePtrOutput

type GetFlexibleServerHighAvailability

type GetFlexibleServerHighAvailability struct {
	// The high availability mode of the MySQL Flexible Server.
	Mode string `pulumi:"mode"`
	// The availability zone of the standby Flexible Server.
	StandbyAvailabilityZone string `pulumi:"standbyAvailabilityZone"`
}

type GetFlexibleServerHighAvailabilityArgs

type GetFlexibleServerHighAvailabilityArgs struct {
	// The high availability mode of the MySQL Flexible Server.
	Mode pulumi.StringInput `pulumi:"mode"`
	// The availability zone of the standby Flexible Server.
	StandbyAvailabilityZone pulumi.StringInput `pulumi:"standbyAvailabilityZone"`
}

func (GetFlexibleServerHighAvailabilityArgs) ElementType

func (GetFlexibleServerHighAvailabilityArgs) ToGetFlexibleServerHighAvailabilityOutput

func (i GetFlexibleServerHighAvailabilityArgs) ToGetFlexibleServerHighAvailabilityOutput() GetFlexibleServerHighAvailabilityOutput

func (GetFlexibleServerHighAvailabilityArgs) ToGetFlexibleServerHighAvailabilityOutputWithContext

func (i GetFlexibleServerHighAvailabilityArgs) ToGetFlexibleServerHighAvailabilityOutputWithContext(ctx context.Context) GetFlexibleServerHighAvailabilityOutput

type GetFlexibleServerHighAvailabilityArray

type GetFlexibleServerHighAvailabilityArray []GetFlexibleServerHighAvailabilityInput

func (GetFlexibleServerHighAvailabilityArray) ElementType

func (GetFlexibleServerHighAvailabilityArray) ToGetFlexibleServerHighAvailabilityArrayOutput

func (i GetFlexibleServerHighAvailabilityArray) ToGetFlexibleServerHighAvailabilityArrayOutput() GetFlexibleServerHighAvailabilityArrayOutput

func (GetFlexibleServerHighAvailabilityArray) ToGetFlexibleServerHighAvailabilityArrayOutputWithContext

func (i GetFlexibleServerHighAvailabilityArray) ToGetFlexibleServerHighAvailabilityArrayOutputWithContext(ctx context.Context) GetFlexibleServerHighAvailabilityArrayOutput

type GetFlexibleServerHighAvailabilityArrayInput

type GetFlexibleServerHighAvailabilityArrayInput interface {
	pulumi.Input

	ToGetFlexibleServerHighAvailabilityArrayOutput() GetFlexibleServerHighAvailabilityArrayOutput
	ToGetFlexibleServerHighAvailabilityArrayOutputWithContext(context.Context) GetFlexibleServerHighAvailabilityArrayOutput
}

GetFlexibleServerHighAvailabilityArrayInput is an input type that accepts GetFlexibleServerHighAvailabilityArray and GetFlexibleServerHighAvailabilityArrayOutput values. You can construct a concrete instance of `GetFlexibleServerHighAvailabilityArrayInput` via:

GetFlexibleServerHighAvailabilityArray{ GetFlexibleServerHighAvailabilityArgs{...} }

type GetFlexibleServerHighAvailabilityArrayOutput

type GetFlexibleServerHighAvailabilityArrayOutput struct{ *pulumi.OutputState }

func (GetFlexibleServerHighAvailabilityArrayOutput) ElementType

func (GetFlexibleServerHighAvailabilityArrayOutput) Index

func (GetFlexibleServerHighAvailabilityArrayOutput) ToGetFlexibleServerHighAvailabilityArrayOutput

func (o GetFlexibleServerHighAvailabilityArrayOutput) ToGetFlexibleServerHighAvailabilityArrayOutput() GetFlexibleServerHighAvailabilityArrayOutput

func (GetFlexibleServerHighAvailabilityArrayOutput) ToGetFlexibleServerHighAvailabilityArrayOutputWithContext

func (o GetFlexibleServerHighAvailabilityArrayOutput) ToGetFlexibleServerHighAvailabilityArrayOutputWithContext(ctx context.Context) GetFlexibleServerHighAvailabilityArrayOutput

type GetFlexibleServerHighAvailabilityInput

type GetFlexibleServerHighAvailabilityInput interface {
	pulumi.Input

	ToGetFlexibleServerHighAvailabilityOutput() GetFlexibleServerHighAvailabilityOutput
	ToGetFlexibleServerHighAvailabilityOutputWithContext(context.Context) GetFlexibleServerHighAvailabilityOutput
}

GetFlexibleServerHighAvailabilityInput is an input type that accepts GetFlexibleServerHighAvailabilityArgs and GetFlexibleServerHighAvailabilityOutput values. You can construct a concrete instance of `GetFlexibleServerHighAvailabilityInput` via:

GetFlexibleServerHighAvailabilityArgs{...}

type GetFlexibleServerHighAvailabilityOutput

type GetFlexibleServerHighAvailabilityOutput struct{ *pulumi.OutputState }

func (GetFlexibleServerHighAvailabilityOutput) ElementType

func (GetFlexibleServerHighAvailabilityOutput) Mode

The high availability mode of the MySQL Flexible Server.

func (GetFlexibleServerHighAvailabilityOutput) StandbyAvailabilityZone

func (o GetFlexibleServerHighAvailabilityOutput) StandbyAvailabilityZone() pulumi.StringOutput

The availability zone of the standby Flexible Server.

func (GetFlexibleServerHighAvailabilityOutput) ToGetFlexibleServerHighAvailabilityOutput

func (o GetFlexibleServerHighAvailabilityOutput) ToGetFlexibleServerHighAvailabilityOutput() GetFlexibleServerHighAvailabilityOutput

func (GetFlexibleServerHighAvailabilityOutput) ToGetFlexibleServerHighAvailabilityOutputWithContext

func (o GetFlexibleServerHighAvailabilityOutput) ToGetFlexibleServerHighAvailabilityOutputWithContext(ctx context.Context) GetFlexibleServerHighAvailabilityOutput

type GetFlexibleServerMaintenanceWindow

type GetFlexibleServerMaintenanceWindow struct {
	// The day of week of the maintenance window.
	DayOfWeek int `pulumi:"dayOfWeek"`
	// The start hour of the maintenance window.
	StartHour int `pulumi:"startHour"`
	// The start minute of the maintenance window.
	StartMinute int `pulumi:"startMinute"`
}

type GetFlexibleServerMaintenanceWindowArgs

type GetFlexibleServerMaintenanceWindowArgs struct {
	// The day of week of the maintenance window.
	DayOfWeek pulumi.IntInput `pulumi:"dayOfWeek"`
	// The start hour of the maintenance window.
	StartHour pulumi.IntInput `pulumi:"startHour"`
	// The start minute of the maintenance window.
	StartMinute pulumi.IntInput `pulumi:"startMinute"`
}

func (GetFlexibleServerMaintenanceWindowArgs) ElementType

func (GetFlexibleServerMaintenanceWindowArgs) ToGetFlexibleServerMaintenanceWindowOutput

func (i GetFlexibleServerMaintenanceWindowArgs) ToGetFlexibleServerMaintenanceWindowOutput() GetFlexibleServerMaintenanceWindowOutput

func (GetFlexibleServerMaintenanceWindowArgs) ToGetFlexibleServerMaintenanceWindowOutputWithContext

func (i GetFlexibleServerMaintenanceWindowArgs) ToGetFlexibleServerMaintenanceWindowOutputWithContext(ctx context.Context) GetFlexibleServerMaintenanceWindowOutput

type GetFlexibleServerMaintenanceWindowArray

type GetFlexibleServerMaintenanceWindowArray []GetFlexibleServerMaintenanceWindowInput

func (GetFlexibleServerMaintenanceWindowArray) ElementType

func (GetFlexibleServerMaintenanceWindowArray) ToGetFlexibleServerMaintenanceWindowArrayOutput

func (i GetFlexibleServerMaintenanceWindowArray) ToGetFlexibleServerMaintenanceWindowArrayOutput() GetFlexibleServerMaintenanceWindowArrayOutput

func (GetFlexibleServerMaintenanceWindowArray) ToGetFlexibleServerMaintenanceWindowArrayOutputWithContext

func (i GetFlexibleServerMaintenanceWindowArray) ToGetFlexibleServerMaintenanceWindowArrayOutputWithContext(ctx context.Context) GetFlexibleServerMaintenanceWindowArrayOutput

type GetFlexibleServerMaintenanceWindowArrayInput

type GetFlexibleServerMaintenanceWindowArrayInput interface {
	pulumi.Input

	ToGetFlexibleServerMaintenanceWindowArrayOutput() GetFlexibleServerMaintenanceWindowArrayOutput
	ToGetFlexibleServerMaintenanceWindowArrayOutputWithContext(context.Context) GetFlexibleServerMaintenanceWindowArrayOutput
}

GetFlexibleServerMaintenanceWindowArrayInput is an input type that accepts GetFlexibleServerMaintenanceWindowArray and GetFlexibleServerMaintenanceWindowArrayOutput values. You can construct a concrete instance of `GetFlexibleServerMaintenanceWindowArrayInput` via:

GetFlexibleServerMaintenanceWindowArray{ GetFlexibleServerMaintenanceWindowArgs{...} }

type GetFlexibleServerMaintenanceWindowArrayOutput

type GetFlexibleServerMaintenanceWindowArrayOutput struct{ *pulumi.OutputState }

func (GetFlexibleServerMaintenanceWindowArrayOutput) ElementType

func (GetFlexibleServerMaintenanceWindowArrayOutput) Index

func (GetFlexibleServerMaintenanceWindowArrayOutput) ToGetFlexibleServerMaintenanceWindowArrayOutput

func (o GetFlexibleServerMaintenanceWindowArrayOutput) ToGetFlexibleServerMaintenanceWindowArrayOutput() GetFlexibleServerMaintenanceWindowArrayOutput

func (GetFlexibleServerMaintenanceWindowArrayOutput) ToGetFlexibleServerMaintenanceWindowArrayOutputWithContext

func (o GetFlexibleServerMaintenanceWindowArrayOutput) ToGetFlexibleServerMaintenanceWindowArrayOutputWithContext(ctx context.Context) GetFlexibleServerMaintenanceWindowArrayOutput

type GetFlexibleServerMaintenanceWindowInput

type GetFlexibleServerMaintenanceWindowInput interface {
	pulumi.Input

	ToGetFlexibleServerMaintenanceWindowOutput() GetFlexibleServerMaintenanceWindowOutput
	ToGetFlexibleServerMaintenanceWindowOutputWithContext(context.Context) GetFlexibleServerMaintenanceWindowOutput
}

GetFlexibleServerMaintenanceWindowInput is an input type that accepts GetFlexibleServerMaintenanceWindowArgs and GetFlexibleServerMaintenanceWindowOutput values. You can construct a concrete instance of `GetFlexibleServerMaintenanceWindowInput` via:

GetFlexibleServerMaintenanceWindowArgs{...}

type GetFlexibleServerMaintenanceWindowOutput

type GetFlexibleServerMaintenanceWindowOutput struct{ *pulumi.OutputState }

func (GetFlexibleServerMaintenanceWindowOutput) DayOfWeek

The day of week of the maintenance window.

func (GetFlexibleServerMaintenanceWindowOutput) ElementType

func (GetFlexibleServerMaintenanceWindowOutput) StartHour

The start hour of the maintenance window.

func (GetFlexibleServerMaintenanceWindowOutput) StartMinute

The start minute of the maintenance window.

func (GetFlexibleServerMaintenanceWindowOutput) ToGetFlexibleServerMaintenanceWindowOutput

func (o GetFlexibleServerMaintenanceWindowOutput) ToGetFlexibleServerMaintenanceWindowOutput() GetFlexibleServerMaintenanceWindowOutput

func (GetFlexibleServerMaintenanceWindowOutput) ToGetFlexibleServerMaintenanceWindowOutputWithContext

func (o GetFlexibleServerMaintenanceWindowOutput) ToGetFlexibleServerMaintenanceWindowOutputWithContext(ctx context.Context) GetFlexibleServerMaintenanceWindowOutput

type GetFlexibleServerStorage

type GetFlexibleServerStorage struct {
	// Is Storage Auto Grow enabled?
	AutoGrowEnabled bool `pulumi:"autoGrowEnabled"`
	// Should IOPS be scaled automatically?
	IoScalingEnabled bool `pulumi:"ioScalingEnabled"`
	// The storage IOPS of the MySQL Flexible Server.
	Iops int `pulumi:"iops"`
	// The max storage allowed for the MySQL Flexible Server.
	SizeGb int `pulumi:"sizeGb"`
}

type GetFlexibleServerStorageArgs

type GetFlexibleServerStorageArgs struct {
	// Is Storage Auto Grow enabled?
	AutoGrowEnabled pulumi.BoolInput `pulumi:"autoGrowEnabled"`
	// Should IOPS be scaled automatically?
	IoScalingEnabled pulumi.BoolInput `pulumi:"ioScalingEnabled"`
	// The storage IOPS of the MySQL Flexible Server.
	Iops pulumi.IntInput `pulumi:"iops"`
	// The max storage allowed for the MySQL Flexible Server.
	SizeGb pulumi.IntInput `pulumi:"sizeGb"`
}

func (GetFlexibleServerStorageArgs) ElementType

func (GetFlexibleServerStorageArgs) ToGetFlexibleServerStorageOutput

func (i GetFlexibleServerStorageArgs) ToGetFlexibleServerStorageOutput() GetFlexibleServerStorageOutput

func (GetFlexibleServerStorageArgs) ToGetFlexibleServerStorageOutputWithContext

func (i GetFlexibleServerStorageArgs) ToGetFlexibleServerStorageOutputWithContext(ctx context.Context) GetFlexibleServerStorageOutput

type GetFlexibleServerStorageArray

type GetFlexibleServerStorageArray []GetFlexibleServerStorageInput

func (GetFlexibleServerStorageArray) ElementType

func (GetFlexibleServerStorageArray) ToGetFlexibleServerStorageArrayOutput

func (i GetFlexibleServerStorageArray) ToGetFlexibleServerStorageArrayOutput() GetFlexibleServerStorageArrayOutput

func (GetFlexibleServerStorageArray) ToGetFlexibleServerStorageArrayOutputWithContext

func (i GetFlexibleServerStorageArray) ToGetFlexibleServerStorageArrayOutputWithContext(ctx context.Context) GetFlexibleServerStorageArrayOutput

type GetFlexibleServerStorageArrayInput

type GetFlexibleServerStorageArrayInput interface {
	pulumi.Input

	ToGetFlexibleServerStorageArrayOutput() GetFlexibleServerStorageArrayOutput
	ToGetFlexibleServerStorageArrayOutputWithContext(context.Context) GetFlexibleServerStorageArrayOutput
}

GetFlexibleServerStorageArrayInput is an input type that accepts GetFlexibleServerStorageArray and GetFlexibleServerStorageArrayOutput values. You can construct a concrete instance of `GetFlexibleServerStorageArrayInput` via:

GetFlexibleServerStorageArray{ GetFlexibleServerStorageArgs{...} }

type GetFlexibleServerStorageArrayOutput

type GetFlexibleServerStorageArrayOutput struct{ *pulumi.OutputState }

func (GetFlexibleServerStorageArrayOutput) ElementType

func (GetFlexibleServerStorageArrayOutput) Index

func (GetFlexibleServerStorageArrayOutput) ToGetFlexibleServerStorageArrayOutput

func (o GetFlexibleServerStorageArrayOutput) ToGetFlexibleServerStorageArrayOutput() GetFlexibleServerStorageArrayOutput

func (GetFlexibleServerStorageArrayOutput) ToGetFlexibleServerStorageArrayOutputWithContext

func (o GetFlexibleServerStorageArrayOutput) ToGetFlexibleServerStorageArrayOutputWithContext(ctx context.Context) GetFlexibleServerStorageArrayOutput

type GetFlexibleServerStorageInput

type GetFlexibleServerStorageInput interface {
	pulumi.Input

	ToGetFlexibleServerStorageOutput() GetFlexibleServerStorageOutput
	ToGetFlexibleServerStorageOutputWithContext(context.Context) GetFlexibleServerStorageOutput
}

GetFlexibleServerStorageInput is an input type that accepts GetFlexibleServerStorageArgs and GetFlexibleServerStorageOutput values. You can construct a concrete instance of `GetFlexibleServerStorageInput` via:

GetFlexibleServerStorageArgs{...}

type GetFlexibleServerStorageOutput

type GetFlexibleServerStorageOutput struct{ *pulumi.OutputState }

func (GetFlexibleServerStorageOutput) AutoGrowEnabled

func (o GetFlexibleServerStorageOutput) AutoGrowEnabled() pulumi.BoolOutput

Is Storage Auto Grow enabled?

func (GetFlexibleServerStorageOutput) ElementType

func (GetFlexibleServerStorageOutput) IoScalingEnabled added in v5.52.0

func (o GetFlexibleServerStorageOutput) IoScalingEnabled() pulumi.BoolOutput

Should IOPS be scaled automatically?

func (GetFlexibleServerStorageOutput) Iops

The storage IOPS of the MySQL Flexible Server.

func (GetFlexibleServerStorageOutput) SizeGb

The max storage allowed for the MySQL Flexible Server.

func (GetFlexibleServerStorageOutput) ToGetFlexibleServerStorageOutput

func (o GetFlexibleServerStorageOutput) ToGetFlexibleServerStorageOutput() GetFlexibleServerStorageOutput

func (GetFlexibleServerStorageOutput) ToGetFlexibleServerStorageOutputWithContext

func (o GetFlexibleServerStorageOutput) ToGetFlexibleServerStorageOutputWithContext(ctx context.Context) GetFlexibleServerStorageOutput

type GetServerIdentity

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

type GetServerIdentityArgs

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

func (GetServerIdentityArgs) ElementType

func (GetServerIdentityArgs) ElementType() reflect.Type

func (GetServerIdentityArgs) ToGetServerIdentityOutput

func (i GetServerIdentityArgs) ToGetServerIdentityOutput() GetServerIdentityOutput

func (GetServerIdentityArgs) ToGetServerIdentityOutputWithContext

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

type GetServerIdentityArray

type GetServerIdentityArray []GetServerIdentityInput

func (GetServerIdentityArray) ElementType

func (GetServerIdentityArray) ElementType() reflect.Type

func (GetServerIdentityArray) ToGetServerIdentityArrayOutput

func (i GetServerIdentityArray) ToGetServerIdentityArrayOutput() GetServerIdentityArrayOutput

func (GetServerIdentityArray) ToGetServerIdentityArrayOutputWithContext

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

type GetServerIdentityArrayInput

type GetServerIdentityArrayInput interface {
	pulumi.Input

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

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

GetServerIdentityArray{ GetServerIdentityArgs{...} }

type GetServerIdentityArrayOutput

type GetServerIdentityArrayOutput struct{ *pulumi.OutputState }

func (GetServerIdentityArrayOutput) ElementType

func (GetServerIdentityArrayOutput) Index

func (GetServerIdentityArrayOutput) ToGetServerIdentityArrayOutput

func (o GetServerIdentityArrayOutput) ToGetServerIdentityArrayOutput() GetServerIdentityArrayOutput

func (GetServerIdentityArrayOutput) ToGetServerIdentityArrayOutputWithContext

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

type GetServerIdentityInput

type GetServerIdentityInput interface {
	pulumi.Input

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

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

GetServerIdentityArgs{...}

type GetServerIdentityOutput

type GetServerIdentityOutput struct{ *pulumi.OutputState }

func (GetServerIdentityOutput) ElementType

func (GetServerIdentityOutput) ElementType() reflect.Type

func (GetServerIdentityOutput) PrincipalId

The Principal ID associated with this Managed Service Identity.

func (GetServerIdentityOutput) TenantId

The Tenant ID associated with this Managed Service Identity.

func (GetServerIdentityOutput) ToGetServerIdentityOutput

func (o GetServerIdentityOutput) ToGetServerIdentityOutput() GetServerIdentityOutput

func (GetServerIdentityOutput) ToGetServerIdentityOutputWithContext

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

func (GetServerIdentityOutput) Type

The identity type of this Managed Service Identity.

type GetServerThreatDetectionPolicy

type GetServerThreatDetectionPolicy struct {
	// Specifies a list of alerts which should be disabled. Possible values include `Access_Anomaly`, `Sql_Injection` and `Sql_Injection_Vulnerability`.
	DisabledAlerts []string `pulumi:"disabledAlerts"`
	// Should the account administrators be emailed when this alert is triggered?
	EmailAccountAdmins bool `pulumi:"emailAccountAdmins"`
	// A list of email addresses which alerts should be sent to.
	EmailAddresses []string `pulumi:"emailAddresses"`
	// Is the policy enabled?
	Enabled bool `pulumi:"enabled"`
	// Specifies the number of days to keep in the Threat Detection audit logs.
	RetentionDays int `pulumi:"retentionDays"`
	// Specifies the identifier key of the Threat Detection audit storage account.
	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.
	StorageEndpoint string `pulumi:"storageEndpoint"`
}

type GetServerThreatDetectionPolicyArgs

type GetServerThreatDetectionPolicyArgs struct {
	// Specifies a list of alerts which should be disabled. Possible values include `Access_Anomaly`, `Sql_Injection` and `Sql_Injection_Vulnerability`.
	DisabledAlerts pulumi.StringArrayInput `pulumi:"disabledAlerts"`
	// Should the account administrators be emailed when this alert is triggered?
	EmailAccountAdmins pulumi.BoolInput `pulumi:"emailAccountAdmins"`
	// A list of email addresses which alerts should be sent to.
	EmailAddresses pulumi.StringArrayInput `pulumi:"emailAddresses"`
	// Is the policy enabled?
	Enabled pulumi.BoolInput `pulumi:"enabled"`
	// Specifies the number of days to keep in the Threat Detection audit logs.
	RetentionDays pulumi.IntInput `pulumi:"retentionDays"`
	// Specifies the identifier key of the Threat Detection audit storage account.
	StorageAccountAccessKey pulumi.StringInput `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.StringInput `pulumi:"storageEndpoint"`
}

func (GetServerThreatDetectionPolicyArgs) ElementType

func (GetServerThreatDetectionPolicyArgs) ToGetServerThreatDetectionPolicyOutput

func (i GetServerThreatDetectionPolicyArgs) ToGetServerThreatDetectionPolicyOutput() GetServerThreatDetectionPolicyOutput

func (GetServerThreatDetectionPolicyArgs) ToGetServerThreatDetectionPolicyOutputWithContext

func (i GetServerThreatDetectionPolicyArgs) ToGetServerThreatDetectionPolicyOutputWithContext(ctx context.Context) GetServerThreatDetectionPolicyOutput

type GetServerThreatDetectionPolicyArray

type GetServerThreatDetectionPolicyArray []GetServerThreatDetectionPolicyInput

func (GetServerThreatDetectionPolicyArray) ElementType

func (GetServerThreatDetectionPolicyArray) ToGetServerThreatDetectionPolicyArrayOutput

func (i GetServerThreatDetectionPolicyArray) ToGetServerThreatDetectionPolicyArrayOutput() GetServerThreatDetectionPolicyArrayOutput

func (GetServerThreatDetectionPolicyArray) ToGetServerThreatDetectionPolicyArrayOutputWithContext

func (i GetServerThreatDetectionPolicyArray) ToGetServerThreatDetectionPolicyArrayOutputWithContext(ctx context.Context) GetServerThreatDetectionPolicyArrayOutput

type GetServerThreatDetectionPolicyArrayInput

type GetServerThreatDetectionPolicyArrayInput interface {
	pulumi.Input

	ToGetServerThreatDetectionPolicyArrayOutput() GetServerThreatDetectionPolicyArrayOutput
	ToGetServerThreatDetectionPolicyArrayOutputWithContext(context.Context) GetServerThreatDetectionPolicyArrayOutput
}

GetServerThreatDetectionPolicyArrayInput is an input type that accepts GetServerThreatDetectionPolicyArray and GetServerThreatDetectionPolicyArrayOutput values. You can construct a concrete instance of `GetServerThreatDetectionPolicyArrayInput` via:

GetServerThreatDetectionPolicyArray{ GetServerThreatDetectionPolicyArgs{...} }

type GetServerThreatDetectionPolicyArrayOutput

type GetServerThreatDetectionPolicyArrayOutput struct{ *pulumi.OutputState }

func (GetServerThreatDetectionPolicyArrayOutput) ElementType

func (GetServerThreatDetectionPolicyArrayOutput) Index

func (GetServerThreatDetectionPolicyArrayOutput) ToGetServerThreatDetectionPolicyArrayOutput

func (o GetServerThreatDetectionPolicyArrayOutput) ToGetServerThreatDetectionPolicyArrayOutput() GetServerThreatDetectionPolicyArrayOutput

func (GetServerThreatDetectionPolicyArrayOutput) ToGetServerThreatDetectionPolicyArrayOutputWithContext

func (o GetServerThreatDetectionPolicyArrayOutput) ToGetServerThreatDetectionPolicyArrayOutputWithContext(ctx context.Context) GetServerThreatDetectionPolicyArrayOutput

type GetServerThreatDetectionPolicyInput

type GetServerThreatDetectionPolicyInput interface {
	pulumi.Input

	ToGetServerThreatDetectionPolicyOutput() GetServerThreatDetectionPolicyOutput
	ToGetServerThreatDetectionPolicyOutputWithContext(context.Context) GetServerThreatDetectionPolicyOutput
}

GetServerThreatDetectionPolicyInput is an input type that accepts GetServerThreatDetectionPolicyArgs and GetServerThreatDetectionPolicyOutput values. You can construct a concrete instance of `GetServerThreatDetectionPolicyInput` via:

GetServerThreatDetectionPolicyArgs{...}

type GetServerThreatDetectionPolicyOutput

type GetServerThreatDetectionPolicyOutput struct{ *pulumi.OutputState }

func (GetServerThreatDetectionPolicyOutput) DisabledAlerts

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

func (GetServerThreatDetectionPolicyOutput) ElementType

func (GetServerThreatDetectionPolicyOutput) EmailAccountAdmins

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

func (GetServerThreatDetectionPolicyOutput) EmailAddresses

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

func (GetServerThreatDetectionPolicyOutput) Enabled

Is the policy enabled?

func (GetServerThreatDetectionPolicyOutput) RetentionDays

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

func (GetServerThreatDetectionPolicyOutput) StorageAccountAccessKey

func (o GetServerThreatDetectionPolicyOutput) StorageAccountAccessKey() pulumi.StringOutput

Specifies the identifier key of the Threat Detection audit storage account.

func (GetServerThreatDetectionPolicyOutput) StorageEndpoint

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

func (GetServerThreatDetectionPolicyOutput) ToGetServerThreatDetectionPolicyOutput

func (o GetServerThreatDetectionPolicyOutput) ToGetServerThreatDetectionPolicyOutput() GetServerThreatDetectionPolicyOutput

func (GetServerThreatDetectionPolicyOutput) ToGetServerThreatDetectionPolicyOutputWithContext

func (o GetServerThreatDetectionPolicyOutput) ToGetServerThreatDetectionPolicyOutputWithContext(ctx context.Context) GetServerThreatDetectionPolicyOutput

type LookupFlexibleServerArgs

type LookupFlexibleServerArgs struct {
	// Specifies the name of the MySQL Flexible Server.
	Name string `pulumi:"name"`
	// The name of the resource group for the MySQL Flexible Server.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getFlexibleServer.

type LookupFlexibleServerOutputArgs

type LookupFlexibleServerOutputArgs struct {
	// Specifies the name of the MySQL Flexible Server.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the resource group for the MySQL Flexible Server.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getFlexibleServer.

func (LookupFlexibleServerOutputArgs) ElementType

type LookupFlexibleServerResult

type LookupFlexibleServerResult struct {
	// The Administrator login of the MySQL Flexible Server.
	AdministratorLogin string `pulumi:"administratorLogin"`
	// The backup retention days of the MySQL Flexible Server.
	BackupRetentionDays int `pulumi:"backupRetentionDays"`
	// The ID of the virtual network subnet the MySQL Flexible Server is created in.
	DelegatedSubnetId string `pulumi:"delegatedSubnetId"`
	// The fully qualified domain name of the MySQL Flexible Server.
	Fqdn string `pulumi:"fqdn"`
	// Is geo redundant backup enabled?
	GeoRedundantBackupEnabled bool `pulumi:"geoRedundantBackupEnabled"`
	// A `highAvailability` block for this MySQL Flexible Server as defined below.
	HighAvailabilities []GetFlexibleServerHighAvailability `pulumi:"highAvailabilities"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The Azure Region of the MySQL Flexible Server.
	Location string `pulumi:"location"`
	// A `maintenanceWindow` block for this MySQL Flexible Server as defined below.
	MaintenanceWindows []GetFlexibleServerMaintenanceWindow `pulumi:"maintenanceWindows"`
	Name               string                               `pulumi:"name"`
	// The ID of the Private DNS zone of the MySQL Flexible Server.
	PrivateDnsZoneId string `pulumi:"privateDnsZoneId"`
	// Is the public network access enabled?
	PublicNetworkAccessEnabled bool `pulumi:"publicNetworkAccessEnabled"`
	// The maximum number of replicas that a primary MySQL Flexible Server can have.
	ReplicaCapacity int `pulumi:"replicaCapacity"`
	// The replication role of the MySQL Flexible Server.
	ReplicationRole    string `pulumi:"replicationRole"`
	ResourceGroupName  string `pulumi:"resourceGroupName"`
	RestorePointInTime string `pulumi:"restorePointInTime"`
	// The SKU Name of the MySQL Flexible Server.
	SkuName string `pulumi:"skuName"`
	// A `storage` block for this MySQL Flexible Server as defined below.
	Storages []GetFlexibleServerStorage `pulumi:"storages"`
	// A mapping of tags which are assigned to the MySQL Flexible Server.
	Tags map[string]string `pulumi:"tags"`
	// The version of the MySQL Flexible Server.
	Version string `pulumi:"version"`
	// The Availability Zones where this MySQL Flexible Server is located.
	Zone string `pulumi:"zone"`
}

A collection of values returned by getFlexibleServer.

func LookupFlexibleServer

func LookupFlexibleServer(ctx *pulumi.Context, args *LookupFlexibleServerArgs, opts ...pulumi.InvokeOption) (*LookupFlexibleServerResult, error)

Use this data source to access information about an existing MySQL Flexible Server.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := mysql.LookupFlexibleServer(ctx, &mysql.LookupFlexibleServerArgs{
			Name:              "existingMySqlFlexibleServer",
			ResourceGroupName: "existingResGroup",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}

```

type LookupFlexibleServerResultOutput

type LookupFlexibleServerResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getFlexibleServer.

func (LookupFlexibleServerResultOutput) AdministratorLogin

func (o LookupFlexibleServerResultOutput) AdministratorLogin() pulumi.StringOutput

The Administrator login of the MySQL Flexible Server.

func (LookupFlexibleServerResultOutput) BackupRetentionDays

func (o LookupFlexibleServerResultOutput) BackupRetentionDays() pulumi.IntOutput

The backup retention days of the MySQL Flexible Server.

func (LookupFlexibleServerResultOutput) DelegatedSubnetId

The ID of the virtual network subnet the MySQL Flexible Server is created in.

func (LookupFlexibleServerResultOutput) ElementType

func (LookupFlexibleServerResultOutput) Fqdn

The fully qualified domain name of the MySQL Flexible Server.

func (LookupFlexibleServerResultOutput) GeoRedundantBackupEnabled

func (o LookupFlexibleServerResultOutput) GeoRedundantBackupEnabled() pulumi.BoolOutput

Is geo redundant backup enabled?

func (LookupFlexibleServerResultOutput) HighAvailabilities

A `highAvailability` block for this MySQL Flexible Server as defined below.

func (LookupFlexibleServerResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupFlexibleServerResultOutput) Location

The Azure Region of the MySQL Flexible Server.

func (LookupFlexibleServerResultOutput) MaintenanceWindows

A `maintenanceWindow` block for this MySQL Flexible Server as defined below.

func (LookupFlexibleServerResultOutput) Name

func (LookupFlexibleServerResultOutput) PrivateDnsZoneId

The ID of the Private DNS zone of the MySQL Flexible Server.

func (LookupFlexibleServerResultOutput) PublicNetworkAccessEnabled

func (o LookupFlexibleServerResultOutput) PublicNetworkAccessEnabled() pulumi.BoolOutput

Is the public network access enabled?

func (LookupFlexibleServerResultOutput) ReplicaCapacity

The maximum number of replicas that a primary MySQL Flexible Server can have.

func (LookupFlexibleServerResultOutput) ReplicationRole

The replication role of the MySQL Flexible Server.

func (LookupFlexibleServerResultOutput) ResourceGroupName

func (LookupFlexibleServerResultOutput) RestorePointInTime

func (o LookupFlexibleServerResultOutput) RestorePointInTime() pulumi.StringOutput

func (LookupFlexibleServerResultOutput) SkuName

The SKU Name of the MySQL Flexible Server.

func (LookupFlexibleServerResultOutput) Storages

A `storage` block for this MySQL Flexible Server as defined below.

func (LookupFlexibleServerResultOutput) Tags

A mapping of tags which are assigned to the MySQL Flexible Server.

func (LookupFlexibleServerResultOutput) ToLookupFlexibleServerResultOutput

func (o LookupFlexibleServerResultOutput) ToLookupFlexibleServerResultOutput() LookupFlexibleServerResultOutput

func (LookupFlexibleServerResultOutput) ToLookupFlexibleServerResultOutputWithContext

func (o LookupFlexibleServerResultOutput) ToLookupFlexibleServerResultOutputWithContext(ctx context.Context) LookupFlexibleServerResultOutput

func (LookupFlexibleServerResultOutput) Version

The version of the MySQL Flexible Server.

func (LookupFlexibleServerResultOutput) Zone

The Availability Zones where this MySQL Flexible Server is located.

type LookupServerArgs

type LookupServerArgs struct {
	// Specifies the name of the MySQL Server.
	Name string `pulumi:"name"`
	// The name of the resource group for the MySQL Server.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getServer.

type LookupServerOutputArgs

type LookupServerOutputArgs struct {
	// Specifies the name of the MySQL Server.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the resource group for the MySQL Server.
	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 Administrator login for the MySQL Server.
	AdministratorLogin string `pulumi:"administratorLogin"`
	// The auto grow setting for this MySQL Server.
	AutoGrowEnabled bool `pulumi:"autoGrowEnabled"`
	// The backup retention days for this MySQL server.
	BackupRetentionDays int `pulumi:"backupRetentionDays"`
	// The FQDN of the MySQL Server.
	Fqdn string `pulumi:"fqdn"`
	// The geo redundant backup setting for this MySQL Server.
	GeoRedundantBackupEnabled bool `pulumi:"geoRedundantBackupEnabled"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// An `identity` block as defined below.
	Identities []GetServerIdentity `pulumi:"identities"`
	// Whether or not infrastructure is encrypted for this MySQL Server.
	InfrastructureEncryptionEnabled bool `pulumi:"infrastructureEncryptionEnabled"`
	// The Azure location where the resource exists.
	Location string `pulumi:"location"`
	Name     string `pulumi:"name"`
	// Whether or not public network access is allowed for this MySQL Server.
	PublicNetworkAccessEnabled bool   `pulumi:"publicNetworkAccessEnabled"`
	ResourceGroupName          string `pulumi:"resourceGroupName"`
	RestorePointInTime         string `pulumi:"restorePointInTime"`
	// The SKU Name for this MySQL Server.
	SkuName string `pulumi:"skuName"`
	// Specifies if SSL should be enforced on connections for this MySQL Server.
	SslEnforcementEnabled bool `pulumi:"sslEnforcementEnabled"`
	// The minimum TLS version to support for this MySQL Server.
	SslMinimalTlsVersionEnforced string `pulumi:"sslMinimalTlsVersionEnforced"`
	// Max storage allowed for this MySQL Server.
	StorageMb int `pulumi:"storageMb"`
	// A mapping of tags to assign to the resource.
	Tags map[string]string `pulumi:"tags"`
	// Threat detection policy configuration, known in the API as Server Security Alerts Policy. The `threatDetectionPolicy` block exports fields documented below.
	ThreatDetectionPolicies []GetServerThreatDetectionPolicy `pulumi:"threatDetectionPolicies"`
	// The version of this MySQL Server.
	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 MySQL Server.

> **Note:** Azure Database for MySQL Single Server and its sub resources are scheduled for retirement by 2024-09-16 and will migrate to using Azure Database for MySQL Flexible Server: https://go.microsoft.com/fwlink/?linkid=2216041. The `mysql.Server` data source is deprecated and will be removed in v4.0 of the AzureRM Provider. Please use the `mysql.FlexibleServer` data source instead.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := mysql.LookupServer(ctx, &mysql.LookupServerArgs{
			Name:              "existingMySqlServer",
			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 Administrator login for the MySQL Server.

func (LookupServerResultOutput) AutoGrowEnabled

func (o LookupServerResultOutput) AutoGrowEnabled() pulumi.BoolOutput

The auto grow setting for this MySQL Server.

func (LookupServerResultOutput) BackupRetentionDays

func (o LookupServerResultOutput) BackupRetentionDays() pulumi.IntOutput

The backup retention days for this MySQL server.

func (LookupServerResultOutput) ElementType

func (LookupServerResultOutput) ElementType() reflect.Type

func (LookupServerResultOutput) Fqdn

The FQDN of the MySQL Server.

func (LookupServerResultOutput) GeoRedundantBackupEnabled

func (o LookupServerResultOutput) GeoRedundantBackupEnabled() pulumi.BoolOutput

The geo redundant backup setting for this MySQL Server.

func (LookupServerResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupServerResultOutput) Identities

An `identity` block as defined below.

func (LookupServerResultOutput) InfrastructureEncryptionEnabled

func (o LookupServerResultOutput) InfrastructureEncryptionEnabled() pulumi.BoolOutput

Whether or not infrastructure is encrypted for this MySQL Server.

func (LookupServerResultOutput) Location

The Azure location where the resource exists.

func (LookupServerResultOutput) Name

func (LookupServerResultOutput) PublicNetworkAccessEnabled

func (o LookupServerResultOutput) PublicNetworkAccessEnabled() pulumi.BoolOutput

Whether or not public network access is allowed for this MySQL Server.

func (LookupServerResultOutput) ResourceGroupName

func (o LookupServerResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupServerResultOutput) RestorePointInTime

func (o LookupServerResultOutput) RestorePointInTime() pulumi.StringOutput

func (LookupServerResultOutput) SkuName

The SKU Name for this MySQL Server.

func (LookupServerResultOutput) SslEnforcementEnabled

func (o LookupServerResultOutput) SslEnforcementEnabled() pulumi.BoolOutput

Specifies if SSL should be enforced on connections for this MySQL Server.

func (LookupServerResultOutput) SslMinimalTlsVersionEnforced

func (o LookupServerResultOutput) SslMinimalTlsVersionEnforced() pulumi.StringOutput

The minimum TLS version to support for this MySQL Server.

func (LookupServerResultOutput) StorageMb

Max storage allowed for this MySQL Server.

func (LookupServerResultOutput) Tags

A mapping of tags to assign to the resource.

func (LookupServerResultOutput) ThreatDetectionPolicies

Threat detection policy configuration, known in the API as Server Security Alerts Policy. The `threatDetectionPolicy` block exports fields documented below.

func (LookupServerResultOutput) ToLookupServerResultOutput

func (o LookupServerResultOutput) ToLookupServerResultOutput() LookupServerResultOutput

func (LookupServerResultOutput) ToLookupServerResultOutputWithContext

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

func (LookupServerResultOutput) Version

The version of this MySQL Server.

type Server

type Server struct {
	pulumi.CustomResourceState

	// The Administrator login for the MySQL Server. Required when `createMode` is `Default`. Changing this forces a new resource to be created.
	AdministratorLogin pulumi.StringOutput `pulumi:"administratorLogin"`
	// The Password associated with the `administratorLogin` for the MySQL Server. Required when `createMode` is `Default`.
	AdministratorLoginPassword pulumi.StringPtrOutput `pulumi:"administratorLoginPassword"`
	// Enable/Disable auto-growing of the storage. Storage auto-grow prevents your server from running out of storage and becoming read-only. If storage auto grow is enabled, the storage automatically grows without impacting the workload. Defaults to `true`.
	AutoGrowEnabled pulumi.BoolPtrOutput `pulumi:"autoGrowEnabled"`
	// Backup retention days for the server, supported values are between `7` and `35` days.
	BackupRetentionDays pulumi.IntOutput `pulumi:"backupRetentionDays"`
	// The creation mode. Can be used to restore or replicate existing servers. Possible values are `Default`, `Replica`, `GeoRestore`, and `PointInTimeRestore`. Defaults to `Default`.
	CreateMode pulumi.StringPtrOutput `pulumi:"createMode"`
	// For creation modes other than `Default`, the source server ID to use.
	CreationSourceServerId pulumi.StringPtrOutput `pulumi:"creationSourceServerId"`
	// The FQDN of the MySQL Server.
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// Turn Geo-redundant server backups on/off. This allows you to choose between locally redundant or geo-redundant backup storage in the General Purpose and Memory Optimized tiers. When the backups are stored in geo-redundant backup storage, they are not only stored within the region in which your server is hosted, but are also replicated to a paired data center. This provides better protection and ability to restore your server in a different region in the event of a disaster. This is not supported for the Basic tier.
	GeoRedundantBackupEnabled pulumi.BoolOutput `pulumi:"geoRedundantBackupEnabled"`
	// An `identity` block as defined below.
	Identity ServerIdentityPtrOutput `pulumi:"identity"`
	// Whether or not infrastructure is encrypted for this server. Changing this forces a new resource to be created.
	InfrastructureEncryptionEnabled pulumi.BoolPtrOutput `pulumi:"infrastructureEncryptionEnabled"`
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// Specifies the name of the MySQL Server. Changing this forces a new resource to be created. This needs to be globally unique within Azure.
	Name pulumi.StringOutput `pulumi:"name"`
	// Whether or not 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 MySQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// When `createMode` is `PointInTimeRestore`, specifies the point in time to restore from `creationSourceServerId`. It should be provided in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) format, e.g. `2013-11-08T22:00:40Z`.
	RestorePointInTime pulumi.StringPtrOutput `pulumi:"restorePointInTime"`
	// Specifies the SKU Name for this MySQL Server. The name of the SKU, follows the `tier` + `family` + `cores` pattern (e.g. `B_Gen4_1`, `GP_Gen5_8`). For more information see the [product documentation](https://docs.microsoft.com/azure/mysql/concepts-pricing-tiers). Possible values are `B_Gen4_1`, `B_Gen4_2`, `B_Gen5_1`, `B_Gen5_2`, `GP_Gen4_2`, `GP_Gen4_4`, `GP_Gen4_8`, `GP_Gen4_16`, `GP_Gen4_32`, `GP_Gen5_2`, `GP_Gen5_4`, `GP_Gen5_8`, `GP_Gen5_16`, `GP_Gen5_32`, `GP_Gen5_64`, `MO_Gen5_2`, `MO_Gen5_4`, `MO_Gen5_8`, `MO_Gen5_16` and `MO_Gen5_32`.
	SkuName pulumi.StringOutput `pulumi:"skuName"`
	// Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.
	SslEnforcementEnabled pulumi.BoolOutput `pulumi:"sslEnforcementEnabled"`
	// The minimum TLS version to support on the sever. Possible values are `TLSEnforcementDisabled`, `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2`.
	SslMinimalTlsVersionEnforced pulumi.StringPtrOutput `pulumi:"sslMinimalTlsVersionEnforced"`
	// Max storage allowed for a server. Possible values are between `5120` MB(5GB) and `1048576` MB(1TB) for the Basic SKU and between `5120` MB(5GB) and `16777216` MB(16TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/azure/mysql/concepts-pricing-tiers).
	StorageMb pulumi.IntOutput `pulumi:"storageMb"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Threat detection policy configuration, known in the API as Server Security Alerts Policy. The `threatDetectionPolicy` block supports fields documented below.
	ThreatDetectionPolicy ServerThreatDetectionPolicyPtrOutput `pulumi:"threatDetectionPolicy"`
	// Specifies the version of MySQL to use. Valid values are `5.7`, or `8.0`. Changing this forces a new resource to be created.
	Version pulumi.StringOutput `pulumi:"version"`
}

Manages a MySQL Server.

> **Note:** Azure Database for MySQL Single Server and its sub resources are scheduled for retirement by 2024-09-16 and will migrate to using Azure Database for MySQL Flexible Server: https://go.microsoft.com/fwlink/?linkid=2216041. The `mysql.Server` resource is deprecated and will be removed in v4.0 of the AzureRM Provider. Please use the `mysql.FlexibleServer` resource instead.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mysql"
"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 = mysql.NewServer(ctx, "example", &mysql.ServerArgs{
			Name:                            pulumi.String("example-mysqlserver"),
			Location:                        example.Location,
			ResourceGroupName:               example.Name,
			AdministratorLogin:              pulumi.String("mysqladminun"),
			AdministratorLoginPassword:      pulumi.String("H@Sh1CoR3!"),
			SkuName:                         pulumi.String("B_Gen5_2"),
			StorageMb:                       pulumi.Int(5120),
			Version:                         pulumi.String("5.7"),
			AutoGrowEnabled:                 pulumi.Bool(true),
			BackupRetentionDays:             pulumi.Int(7),
			GeoRedundantBackupEnabled:       pulumi.Bool(false),
			InfrastructureEncryptionEnabled: pulumi.Bool(false),
			PublicNetworkAccessEnabled:      pulumi.Bool(true),
			SslEnforcementEnabled:           pulumi.Bool(true),
			SslMinimalTlsVersionEnforced:    pulumi.String("TLS1_2"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

MySQL Server's can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:mysql/server:Server server1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforMySQL/servers/server1 ```

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 for the MySQL Server. Required when `createMode` is `Default`. Changing this forces a new resource to be created.
	AdministratorLogin pulumi.StringPtrInput
	// The Password associated with the `administratorLogin` for the MySQL Server. Required when `createMode` is `Default`.
	AdministratorLoginPassword pulumi.StringPtrInput
	// Enable/Disable auto-growing of the storage. Storage auto-grow prevents your server from running out of storage and becoming read-only. If storage auto grow is enabled, the storage automatically grows without impacting the workload. Defaults to `true`.
	AutoGrowEnabled pulumi.BoolPtrInput
	// Backup retention days for the server, supported values are between `7` and `35` days.
	BackupRetentionDays pulumi.IntPtrInput
	// The creation mode. Can be used to restore or replicate existing servers. Possible values are `Default`, `Replica`, `GeoRestore`, and `PointInTimeRestore`. Defaults to `Default`.
	CreateMode pulumi.StringPtrInput
	// For creation modes other than `Default`, the source server ID to use.
	CreationSourceServerId pulumi.StringPtrInput
	// Turn Geo-redundant server backups on/off. This allows you to choose between locally redundant or geo-redundant backup storage in the General Purpose and Memory Optimized tiers. When the backups are stored in geo-redundant backup storage, they are not only stored within the region in which your server is hosted, but are also replicated to a paired data center. This provides better protection and ability to restore your server in a different region in the event of a disaster. This is not supported for the Basic tier.
	GeoRedundantBackupEnabled pulumi.BoolPtrInput
	// An `identity` block as defined below.
	Identity ServerIdentityPtrInput
	// Whether or not infrastructure is encrypted for this server. Changing this forces a new resource to be created.
	InfrastructureEncryptionEnabled pulumi.BoolPtrInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of the MySQL Server. Changing this forces a new resource to be created. This needs to be globally unique within Azure.
	Name pulumi.StringPtrInput
	// Whether or not 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 MySQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// When `createMode` is `PointInTimeRestore`, specifies the point in time to restore from `creationSourceServerId`. It should be provided in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) format, e.g. `2013-11-08T22:00:40Z`.
	RestorePointInTime pulumi.StringPtrInput
	// Specifies the SKU Name for this MySQL Server. The name of the SKU, follows the `tier` + `family` + `cores` pattern (e.g. `B_Gen4_1`, `GP_Gen5_8`). For more information see the [product documentation](https://docs.microsoft.com/azure/mysql/concepts-pricing-tiers). Possible values are `B_Gen4_1`, `B_Gen4_2`, `B_Gen5_1`, `B_Gen5_2`, `GP_Gen4_2`, `GP_Gen4_4`, `GP_Gen4_8`, `GP_Gen4_16`, `GP_Gen4_32`, `GP_Gen5_2`, `GP_Gen5_4`, `GP_Gen5_8`, `GP_Gen5_16`, `GP_Gen5_32`, `GP_Gen5_64`, `MO_Gen5_2`, `MO_Gen5_4`, `MO_Gen5_8`, `MO_Gen5_16` and `MO_Gen5_32`.
	SkuName pulumi.StringInput
	// Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.
	SslEnforcementEnabled pulumi.BoolInput
	// The minimum TLS version to support on the sever. Possible values are `TLSEnforcementDisabled`, `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2`.
	SslMinimalTlsVersionEnforced pulumi.StringPtrInput
	// Max storage allowed for a server. Possible values are between `5120` MB(5GB) and `1048576` MB(1TB) for the Basic SKU and between `5120` MB(5GB) and `16777216` MB(16TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/azure/mysql/concepts-pricing-tiers).
	StorageMb pulumi.IntPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Threat detection policy configuration, known in the API as Server Security Alerts Policy. The `threatDetectionPolicy` block supports fields documented below.
	ThreatDetectionPolicy ServerThreatDetectionPolicyPtrInput
	// Specifies the version of MySQL to use. Valid values are `5.7`, or `8.0`. 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 ServerIdentity

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

type ServerIdentityArgs

type ServerIdentityArgs struct {
	// The Principal ID associated with this Managed Service Identity.
	PrincipalId pulumi.StringPtrInput `pulumi:"principalId"`
	// The Tenant ID associated with this Managed Service Identity.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
	// Specifies the type of Managed Service Identity that should be configured on this MySQL Server. The only possible value is `SystemAssigned`.
	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) PrincipalId

The Principal ID associated with this Managed Service Identity.

func (ServerIdentityOutput) TenantId

The Tenant ID associated with this Managed Service Identity.

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 MySQL Server. The only possible value is `SystemAssigned`.

type ServerIdentityPtrInput

type ServerIdentityPtrInput interface {
	pulumi.Input

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

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

        ServerIdentityArgs{...}

or:

        nil

type ServerIdentityPtrOutput

type ServerIdentityPtrOutput struct{ *pulumi.OutputState }

func (ServerIdentityPtrOutput) Elem

func (ServerIdentityPtrOutput) ElementType

func (ServerIdentityPtrOutput) ElementType() reflect.Type

func (ServerIdentityPtrOutput) PrincipalId

The Principal ID associated with this Managed Service Identity.

func (ServerIdentityPtrOutput) TenantId

The Tenant ID associated with this Managed Service Identity.

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 MySQL Server. The only possible value is `SystemAssigned`.

type ServerInput

type ServerInput interface {
	pulumi.Input

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

type ServerKey

type ServerKey struct {
	pulumi.CustomResourceState

	// The URL to a Key Vault Key.
	KeyVaultKeyId pulumi.StringOutput `pulumi:"keyVaultKeyId"`
	// The ID of the MySQL Server. Changing this forces a new resource to be created.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
}

Manages a Customer Managed Key for a MySQL Server.

> **Note:** Azure Database for MySQL Single Server and its sub resources are scheduled for retirement by 2024-09-16 and will migrate to using Azure Database for MySQL Flexible Server: https://go.microsoft.com/fwlink/?linkid=2216041. The `mysql.ServerKey` resource is deprecated and will be removed in v4.0 of the AzureRM Provider. Please use the `customerManagedKey` property of the `mysql.FlexibleServer` resource instead.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mysql"
"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
		}
		exampleKeyVault, err := keyvault.NewKeyVault(ctx, "example", &keyvault.KeyVaultArgs{
			Name:                   pulumi.String("examplekv"),
			Location:               example.Location,
			ResourceGroupName:      example.Name,
			TenantId:               pulumi.String(current.TenantId),
			SkuName:                pulumi.String("premium"),
			PurgeProtectionEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		exampleServer, err := mysql.NewServer(ctx, "example", &mysql.ServerArgs{
			Name:                         pulumi.String("example-mysql-server"),
			Location:                     example.Location,
			ResourceGroupName:            example.Name,
			SkuName:                      pulumi.String("GP_Gen5_2"),
			AdministratorLogin:           pulumi.String("acctestun"),
			AdministratorLoginPassword:   pulumi.String("H@Sh1CoR3!"),
			SslEnforcementEnabled:        pulumi.Bool(true),
			SslMinimalTlsVersionEnforced: pulumi.String("TLS1_1"),
			StorageMb:                    pulumi.Int(51200),
			Version:                      pulumi.String("5.7"),
			Identity: &mysql.ServerIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		server, err := keyvault.NewAccessPolicy(ctx, "server", &keyvault.AccessPolicyArgs{
			KeyVaultId: exampleKeyVault.ID(),
			TenantId:   pulumi.String(current.TenantId),
			ObjectId: exampleServer.Identity.ApplyT(func(identity mysql.ServerIdentity) (*string, error) {
				return &identity.PrincipalId, nil
			}).(pulumi.StringPtrOutput),
			KeyPermissions: pulumi.StringArray{
				pulumi.String("Get"),
				pulumi.String("UnwrapKey"),
				pulumi.String("WrapKey"),
			},
			SecretPermissions: pulumi.StringArray{
				pulumi.String("Get"),
			},
		})
		if err != nil {
			return err
		}
		client, err := keyvault.NewAccessPolicy(ctx, "client", &keyvault.AccessPolicyArgs{
			KeyVaultId: exampleKeyVault.ID(),
			TenantId:   pulumi.String(current.TenantId),
			ObjectId:   pulumi.String(current.ObjectId),
			KeyPermissions: pulumi.StringArray{
				pulumi.String("Get"),
				pulumi.String("Create"),
				pulumi.String("Delete"),
				pulumi.String("List"),
				pulumi.String("Restore"),
				pulumi.String("Recover"),
				pulumi.String("UnwrapKey"),
				pulumi.String("WrapKey"),
				pulumi.String("Purge"),
				pulumi.String("Encrypt"),
				pulumi.String("Decrypt"),
				pulumi.String("Sign"),
				pulumi.String("Verify"),
				pulumi.String("GetRotationPolicy"),
			},
			SecretPermissions: pulumi.StringArray{
				pulumi.String("Get"),
			},
		})
		if err != nil {
			return err
		}
		exampleKey, err := keyvault.NewKey(ctx, "example", &keyvault.KeyArgs{
			Name:       pulumi.String("tfex-key"),
			KeyVaultId: exampleKeyVault.ID(),
			KeyType:    pulumi.String("RSA"),
			KeySize:    pulumi.Int(2048),
			KeyOpts: pulumi.StringArray{
				pulumi.String("decrypt"),
				pulumi.String("encrypt"),
				pulumi.String("sign"),
				pulumi.String("unwrapKey"),
				pulumi.String("verify"),
				pulumi.String("wrapKey"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			client,
			server,
		}))
		if err != nil {
			return err
		}
		_, err = mysql.NewServerKey(ctx, "example", &mysql.ServerKeyArgs{
			ServerId:      exampleServer.ID(),
			KeyVaultKeyId: exampleKey.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

A MySQL Server Key can be imported using the `resource id` of the MySQL Server Key, e.g.

```sh $ pulumi import azure:mysql/serverKey:ServerKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DBforMySQL/servers/server1/keys/keyvaultname_key-name_keyversion ```

func GetServerKey

func GetServerKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerKeyState, opts ...pulumi.ResourceOption) (*ServerKey, error)

GetServerKey gets an existing ServerKey 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 NewServerKey

func NewServerKey(ctx *pulumi.Context,
	name string, args *ServerKeyArgs, opts ...pulumi.ResourceOption) (*ServerKey, error)

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

func (*ServerKey) ElementType

func (*ServerKey) ElementType() reflect.Type

func (*ServerKey) ToServerKeyOutput

func (i *ServerKey) ToServerKeyOutput() ServerKeyOutput

func (*ServerKey) ToServerKeyOutputWithContext

func (i *ServerKey) ToServerKeyOutputWithContext(ctx context.Context) ServerKeyOutput

type ServerKeyArgs

type ServerKeyArgs struct {
	// The URL to a Key Vault Key.
	KeyVaultKeyId pulumi.StringInput
	// The ID of the MySQL Server. Changing this forces a new resource to be created.
	ServerId pulumi.StringInput
}

The set of arguments for constructing a ServerKey resource.

func (ServerKeyArgs) ElementType

func (ServerKeyArgs) ElementType() reflect.Type

type ServerKeyArray

type ServerKeyArray []ServerKeyInput

func (ServerKeyArray) ElementType

func (ServerKeyArray) ElementType() reflect.Type

func (ServerKeyArray) ToServerKeyArrayOutput

func (i ServerKeyArray) ToServerKeyArrayOutput() ServerKeyArrayOutput

func (ServerKeyArray) ToServerKeyArrayOutputWithContext

func (i ServerKeyArray) ToServerKeyArrayOutputWithContext(ctx context.Context) ServerKeyArrayOutput

type ServerKeyArrayInput

type ServerKeyArrayInput interface {
	pulumi.Input

	ToServerKeyArrayOutput() ServerKeyArrayOutput
	ToServerKeyArrayOutputWithContext(context.Context) ServerKeyArrayOutput
}

ServerKeyArrayInput is an input type that accepts ServerKeyArray and ServerKeyArrayOutput values. You can construct a concrete instance of `ServerKeyArrayInput` via:

ServerKeyArray{ ServerKeyArgs{...} }

type ServerKeyArrayOutput

type ServerKeyArrayOutput struct{ *pulumi.OutputState }

func (ServerKeyArrayOutput) ElementType

func (ServerKeyArrayOutput) ElementType() reflect.Type

func (ServerKeyArrayOutput) Index

func (ServerKeyArrayOutput) ToServerKeyArrayOutput

func (o ServerKeyArrayOutput) ToServerKeyArrayOutput() ServerKeyArrayOutput

func (ServerKeyArrayOutput) ToServerKeyArrayOutputWithContext

func (o ServerKeyArrayOutput) ToServerKeyArrayOutputWithContext(ctx context.Context) ServerKeyArrayOutput

type ServerKeyInput

type ServerKeyInput interface {
	pulumi.Input

	ToServerKeyOutput() ServerKeyOutput
	ToServerKeyOutputWithContext(ctx context.Context) ServerKeyOutput
}

type ServerKeyMap

type ServerKeyMap map[string]ServerKeyInput

func (ServerKeyMap) ElementType

func (ServerKeyMap) ElementType() reflect.Type

func (ServerKeyMap) ToServerKeyMapOutput

func (i ServerKeyMap) ToServerKeyMapOutput() ServerKeyMapOutput

func (ServerKeyMap) ToServerKeyMapOutputWithContext

func (i ServerKeyMap) ToServerKeyMapOutputWithContext(ctx context.Context) ServerKeyMapOutput

type ServerKeyMapInput

type ServerKeyMapInput interface {
	pulumi.Input

	ToServerKeyMapOutput() ServerKeyMapOutput
	ToServerKeyMapOutputWithContext(context.Context) ServerKeyMapOutput
}

ServerKeyMapInput is an input type that accepts ServerKeyMap and ServerKeyMapOutput values. You can construct a concrete instance of `ServerKeyMapInput` via:

ServerKeyMap{ "key": ServerKeyArgs{...} }

type ServerKeyMapOutput

type ServerKeyMapOutput struct{ *pulumi.OutputState }

func (ServerKeyMapOutput) ElementType

func (ServerKeyMapOutput) ElementType() reflect.Type

func (ServerKeyMapOutput) MapIndex

func (ServerKeyMapOutput) ToServerKeyMapOutput

func (o ServerKeyMapOutput) ToServerKeyMapOutput() ServerKeyMapOutput

func (ServerKeyMapOutput) ToServerKeyMapOutputWithContext

func (o ServerKeyMapOutput) ToServerKeyMapOutputWithContext(ctx context.Context) ServerKeyMapOutput

type ServerKeyOutput

type ServerKeyOutput struct{ *pulumi.OutputState }

func (ServerKeyOutput) ElementType

func (ServerKeyOutput) ElementType() reflect.Type

func (ServerKeyOutput) KeyVaultKeyId added in v5.5.0

func (o ServerKeyOutput) KeyVaultKeyId() pulumi.StringOutput

The URL to a Key Vault Key.

func (ServerKeyOutput) ServerId added in v5.5.0

func (o ServerKeyOutput) ServerId() pulumi.StringOutput

The ID of the MySQL Server. Changing this forces a new resource to be created.

func (ServerKeyOutput) ToServerKeyOutput

func (o ServerKeyOutput) ToServerKeyOutput() ServerKeyOutput

func (ServerKeyOutput) ToServerKeyOutputWithContext

func (o ServerKeyOutput) ToServerKeyOutputWithContext(ctx context.Context) ServerKeyOutput

type ServerKeyState

type ServerKeyState struct {
	// The URL to a Key Vault Key.
	KeyVaultKeyId pulumi.StringPtrInput
	// The ID of the MySQL Server. Changing this forces a new resource to be created.
	ServerId pulumi.StringPtrInput
}

func (ServerKeyState) ElementType

func (ServerKeyState) ElementType() reflect.Type

type ServerMap

type ServerMap map[string]ServerInput

func (ServerMap) ElementType

func (ServerMap) ElementType() reflect.Type

func (ServerMap) ToServerMapOutput

func (i ServerMap) ToServerMapOutput() ServerMapOutput

func (ServerMap) ToServerMapOutputWithContext

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

type ServerMapInput

type ServerMapInput interface {
	pulumi.Input

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

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

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

type ServerMapOutput

type ServerMapOutput struct{ *pulumi.OutputState }

func (ServerMapOutput) ElementType

func (ServerMapOutput) ElementType() reflect.Type

func (ServerMapOutput) MapIndex

func (ServerMapOutput) ToServerMapOutput

func (o ServerMapOutput) ToServerMapOutput() ServerMapOutput

func (ServerMapOutput) ToServerMapOutputWithContext

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

type ServerOutput

type ServerOutput struct{ *pulumi.OutputState }

func (ServerOutput) AdministratorLogin added in v5.5.0

func (o ServerOutput) AdministratorLogin() pulumi.StringOutput

The Administrator login for the MySQL Server. Required when `createMode` is `Default`. 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` for the MySQL Server. Required when `createMode` is `Default`.

func (ServerOutput) AutoGrowEnabled added in v5.5.0

func (o ServerOutput) AutoGrowEnabled() pulumi.BoolPtrOutput

Enable/Disable auto-growing of the storage. Storage auto-grow prevents your server from running out of storage and becoming read-only. If storage auto grow is enabled, the storage automatically grows without impacting the workload. Defaults to `true`.

func (ServerOutput) BackupRetentionDays added in v5.5.0

func (o ServerOutput) BackupRetentionDays() pulumi.IntOutput

Backup retention days for the server, supported values are between `7` and `35` days.

func (ServerOutput) CreateMode added in v5.5.0

func (o ServerOutput) CreateMode() pulumi.StringPtrOutput

The creation mode. Can be used to restore or replicate existing servers. Possible values are `Default`, `Replica`, `GeoRestore`, and `PointInTimeRestore`. Defaults to `Default`.

func (ServerOutput) CreationSourceServerId added in v5.5.0

func (o ServerOutput) CreationSourceServerId() pulumi.StringPtrOutput

For creation modes other than `Default`, the source server ID to use.

func (ServerOutput) ElementType

func (ServerOutput) ElementType() reflect.Type

func (ServerOutput) Fqdn added in v5.5.0

func (o ServerOutput) Fqdn() pulumi.StringOutput

The FQDN of the MySQL Server.

func (ServerOutput) GeoRedundantBackupEnabled added in v5.5.0

func (o ServerOutput) GeoRedundantBackupEnabled() pulumi.BoolOutput

Turn Geo-redundant server backups on/off. This allows you to choose between locally redundant or geo-redundant backup storage in the General Purpose and Memory Optimized tiers. When the backups are stored in geo-redundant backup storage, they are not only stored within the region in which your server is hosted, but are also replicated to a paired data center. This provides better protection and ability to restore your server in a different region in the event of a disaster. This is not supported for the Basic tier.

func (ServerOutput) Identity added in v5.5.0

An `identity` block as defined below.

func (ServerOutput) InfrastructureEncryptionEnabled added in v5.5.0

func (o ServerOutput) InfrastructureEncryptionEnabled() pulumi.BoolPtrOutput

Whether or not infrastructure is encrypted for this server. Changing this forces a new resource to be created.

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

func (o ServerOutput) Name() pulumi.StringOutput

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

func (ServerOutput) PublicNetworkAccessEnabled added in v5.5.0

func (o ServerOutput) PublicNetworkAccessEnabled() pulumi.BoolPtrOutput

Whether or not 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 MySQL Server. Changing this forces a new resource to be created.

func (ServerOutput) RestorePointInTime added in v5.5.0

func (o ServerOutput) RestorePointInTime() pulumi.StringPtrOutput

When `createMode` is `PointInTimeRestore`, specifies the point in time to restore from `creationSourceServerId`. It should be provided in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) format, e.g. `2013-11-08T22:00:40Z`.

func (ServerOutput) SkuName added in v5.5.0

func (o ServerOutput) SkuName() pulumi.StringOutput

Specifies the SKU Name for this MySQL Server. The name of the SKU, follows the `tier` + `family` + `cores` pattern (e.g. `B_Gen4_1`, `GP_Gen5_8`). For more information see the [product documentation](https://docs.microsoft.com/azure/mysql/concepts-pricing-tiers). Possible values are `B_Gen4_1`, `B_Gen4_2`, `B_Gen5_1`, `B_Gen5_2`, `GP_Gen4_2`, `GP_Gen4_4`, `GP_Gen4_8`, `GP_Gen4_16`, `GP_Gen4_32`, `GP_Gen5_2`, `GP_Gen5_4`, `GP_Gen5_8`, `GP_Gen5_16`, `GP_Gen5_32`, `GP_Gen5_64`, `MO_Gen5_2`, `MO_Gen5_4`, `MO_Gen5_8`, `MO_Gen5_16` and `MO_Gen5_32`.

func (ServerOutput) SslEnforcementEnabled added in v5.5.0

func (o ServerOutput) SslEnforcementEnabled() pulumi.BoolOutput

Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.

func (ServerOutput) SslMinimalTlsVersionEnforced added in v5.5.0

func (o ServerOutput) SslMinimalTlsVersionEnforced() pulumi.StringPtrOutput

The minimum TLS version to support on the sever. Possible values are `TLSEnforcementDisabled`, `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2`.

func (ServerOutput) StorageMb added in v5.5.0

func (o ServerOutput) StorageMb() pulumi.IntOutput

Max storage allowed for a server. Possible values are between `5120` MB(5GB) and `1048576` MB(1TB) for the Basic SKU and between `5120` MB(5GB) and `16777216` MB(16TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/azure/mysql/concepts-pricing-tiers).

func (ServerOutput) Tags added in v5.5.0

A mapping of tags to assign to the resource.

func (ServerOutput) ThreatDetectionPolicy added in v5.5.0

func (o ServerOutput) ThreatDetectionPolicy() ServerThreatDetectionPolicyPtrOutput

Threat detection policy configuration, known in the API as Server Security Alerts Policy. The `threatDetectionPolicy` block supports fields documented below.

func (ServerOutput) ToServerOutput

func (o ServerOutput) ToServerOutput() ServerOutput

func (ServerOutput) ToServerOutputWithContext

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

func (ServerOutput) Version added in v5.5.0

func (o ServerOutput) Version() pulumi.StringOutput

Specifies the version of MySQL to use. Valid values are `5.7`, or `8.0`. Changing this forces a new resource to be created.

type ServerState

type ServerState struct {
	// The Administrator login for the MySQL Server. Required when `createMode` is `Default`. Changing this forces a new resource to be created.
	AdministratorLogin pulumi.StringPtrInput
	// The Password associated with the `administratorLogin` for the MySQL Server. Required when `createMode` is `Default`.
	AdministratorLoginPassword pulumi.StringPtrInput
	// Enable/Disable auto-growing of the storage. Storage auto-grow prevents your server from running out of storage and becoming read-only. If storage auto grow is enabled, the storage automatically grows without impacting the workload. Defaults to `true`.
	AutoGrowEnabled pulumi.BoolPtrInput
	// Backup retention days for the server, supported values are between `7` and `35` days.
	BackupRetentionDays pulumi.IntPtrInput
	// The creation mode. Can be used to restore or replicate existing servers. Possible values are `Default`, `Replica`, `GeoRestore`, and `PointInTimeRestore`. Defaults to `Default`.
	CreateMode pulumi.StringPtrInput
	// For creation modes other than `Default`, the source server ID to use.
	CreationSourceServerId pulumi.StringPtrInput
	// The FQDN of the MySQL Server.
	Fqdn pulumi.StringPtrInput
	// Turn Geo-redundant server backups on/off. This allows you to choose between locally redundant or geo-redundant backup storage in the General Purpose and Memory Optimized tiers. When the backups are stored in geo-redundant backup storage, they are not only stored within the region in which your server is hosted, but are also replicated to a paired data center. This provides better protection and ability to restore your server in a different region in the event of a disaster. This is not supported for the Basic tier.
	GeoRedundantBackupEnabled pulumi.BoolPtrInput
	// An `identity` block as defined below.
	Identity ServerIdentityPtrInput
	// Whether or not infrastructure is encrypted for this server. Changing this forces a new resource to be created.
	InfrastructureEncryptionEnabled pulumi.BoolPtrInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of the MySQL Server. Changing this forces a new resource to be created. This needs to be globally unique within Azure.
	Name pulumi.StringPtrInput
	// Whether or not 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 MySQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// When `createMode` is `PointInTimeRestore`, specifies the point in time to restore from `creationSourceServerId`. It should be provided in [RFC3339](https://www.rfc-editor.org/rfc/rfc3339) format, e.g. `2013-11-08T22:00:40Z`.
	RestorePointInTime pulumi.StringPtrInput
	// Specifies the SKU Name for this MySQL Server. The name of the SKU, follows the `tier` + `family` + `cores` pattern (e.g. `B_Gen4_1`, `GP_Gen5_8`). For more information see the [product documentation](https://docs.microsoft.com/azure/mysql/concepts-pricing-tiers). Possible values are `B_Gen4_1`, `B_Gen4_2`, `B_Gen5_1`, `B_Gen5_2`, `GP_Gen4_2`, `GP_Gen4_4`, `GP_Gen4_8`, `GP_Gen4_16`, `GP_Gen4_32`, `GP_Gen5_2`, `GP_Gen5_4`, `GP_Gen5_8`, `GP_Gen5_16`, `GP_Gen5_32`, `GP_Gen5_64`, `MO_Gen5_2`, `MO_Gen5_4`, `MO_Gen5_8`, `MO_Gen5_16` and `MO_Gen5_32`.
	SkuName pulumi.StringPtrInput
	// Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.
	SslEnforcementEnabled pulumi.BoolPtrInput
	// The minimum TLS version to support on the sever. Possible values are `TLSEnforcementDisabled`, `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLS1_2`.
	SslMinimalTlsVersionEnforced pulumi.StringPtrInput
	// Max storage allowed for a server. Possible values are between `5120` MB(5GB) and `1048576` MB(1TB) for the Basic SKU and between `5120` MB(5GB) and `16777216` MB(16TB) for General Purpose/Memory Optimized SKUs. For more information see the [product documentation](https://docs.microsoft.com/azure/mysql/concepts-pricing-tiers).
	StorageMb pulumi.IntPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Threat detection policy configuration, known in the API as Server Security Alerts Policy. The `threatDetectionPolicy` block supports fields documented below.
	ThreatDetectionPolicy ServerThreatDetectionPolicyPtrInput
	// Specifies the version of MySQL to use. Valid values are `5.7`, or `8.0`. Changing this forces a new resource to be created.
	Version pulumi.StringPtrInput
}

func (ServerState) ElementType

func (ServerState) ElementType() reflect.Type

type ServerThreatDetectionPolicy

type ServerThreatDetectionPolicy struct {
	// Specifies a list of alerts which should be disabled. Possible values are `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration` and `Unsafe_Action`.
	DisabledAlerts []string `pulumi:"disabledAlerts"`
	// Should the account administrators be emailed when this alert is triggered?
	EmailAccountAdmins *bool `pulumi:"emailAccountAdmins"`
	// A list of email addresses which alerts should be sent to.
	EmailAddresses []string `pulumi:"emailAddresses"`
	// Is the policy enabled?
	Enabled *bool `pulumi:"enabled"`
	// Specifies the number of days to keep in the Threat Detection audit logs.
	RetentionDays *int `pulumi:"retentionDays"`
	// Specifies the identifier key of the Threat Detection audit storage account.
	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.
	StorageEndpoint *string `pulumi:"storageEndpoint"`
}

type ServerThreatDetectionPolicyArgs

type ServerThreatDetectionPolicyArgs struct {
	// Specifies a list of alerts which should be disabled. Possible values are `Sql_Injection`, `Sql_Injection_Vulnerability`, `Access_Anomaly`, `Data_Exfiltration` and `Unsafe_Action`.
	DisabledAlerts pulumi.StringArrayInput `pulumi:"disabledAlerts"`
	// Should the account administrators be emailed when this alert is triggered?
	EmailAccountAdmins pulumi.BoolPtrInput `pulumi:"emailAccountAdmins"`
	// A list of email addresses which alerts should be sent to.
	EmailAddresses pulumi.StringArrayInput `pulumi:"emailAddresses"`
	// Is the policy enabled?
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// Specifies the number of days to keep in the Threat Detection audit logs.
	RetentionDays pulumi.IntPtrInput `pulumi:"retentionDays"`
	// Specifies the identifier key of the Threat Detection audit storage account.
	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.
	StorageEndpoint pulumi.StringPtrInput `pulumi:"storageEndpoint"`
}

func (ServerThreatDetectionPolicyArgs) ElementType

func (ServerThreatDetectionPolicyArgs) ToServerThreatDetectionPolicyOutput

func (i ServerThreatDetectionPolicyArgs) ToServerThreatDetectionPolicyOutput() ServerThreatDetectionPolicyOutput

func (ServerThreatDetectionPolicyArgs) ToServerThreatDetectionPolicyOutputWithContext

func (i ServerThreatDetectionPolicyArgs) ToServerThreatDetectionPolicyOutputWithContext(ctx context.Context) ServerThreatDetectionPolicyOutput

func (ServerThreatDetectionPolicyArgs) ToServerThreatDetectionPolicyPtrOutput

func (i ServerThreatDetectionPolicyArgs) ToServerThreatDetectionPolicyPtrOutput() ServerThreatDetectionPolicyPtrOutput

func (ServerThreatDetectionPolicyArgs) ToServerThreatDetectionPolicyPtrOutputWithContext

func (i ServerThreatDetectionPolicyArgs) ToServerThreatDetectionPolicyPtrOutputWithContext(ctx context.Context) ServerThreatDetectionPolicyPtrOutput

type ServerThreatDetectionPolicyInput

type ServerThreatDetectionPolicyInput interface {
	pulumi.Input

	ToServerThreatDetectionPolicyOutput() ServerThreatDetectionPolicyOutput
	ToServerThreatDetectionPolicyOutputWithContext(context.Context) ServerThreatDetectionPolicyOutput
}

ServerThreatDetectionPolicyInput is an input type that accepts ServerThreatDetectionPolicyArgs and ServerThreatDetectionPolicyOutput values. You can construct a concrete instance of `ServerThreatDetectionPolicyInput` via:

ServerThreatDetectionPolicyArgs{...}

type ServerThreatDetectionPolicyOutput

type ServerThreatDetectionPolicyOutput struct{ *pulumi.OutputState }

func (ServerThreatDetectionPolicyOutput) DisabledAlerts

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

func (ServerThreatDetectionPolicyOutput) ElementType

func (ServerThreatDetectionPolicyOutput) EmailAccountAdmins

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

func (ServerThreatDetectionPolicyOutput) EmailAddresses

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

func (ServerThreatDetectionPolicyOutput) Enabled

Is the policy enabled?

func (ServerThreatDetectionPolicyOutput) RetentionDays

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

func (ServerThreatDetectionPolicyOutput) StorageAccountAccessKey

func (o ServerThreatDetectionPolicyOutput) StorageAccountAccessKey() pulumi.StringPtrOutput

Specifies the identifier key of the Threat Detection audit storage account.

func (ServerThreatDetectionPolicyOutput) StorageEndpoint

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

func (ServerThreatDetectionPolicyOutput) ToServerThreatDetectionPolicyOutput

func (o ServerThreatDetectionPolicyOutput) ToServerThreatDetectionPolicyOutput() ServerThreatDetectionPolicyOutput

func (ServerThreatDetectionPolicyOutput) ToServerThreatDetectionPolicyOutputWithContext

func (o ServerThreatDetectionPolicyOutput) ToServerThreatDetectionPolicyOutputWithContext(ctx context.Context) ServerThreatDetectionPolicyOutput

func (ServerThreatDetectionPolicyOutput) ToServerThreatDetectionPolicyPtrOutput

func (o ServerThreatDetectionPolicyOutput) ToServerThreatDetectionPolicyPtrOutput() ServerThreatDetectionPolicyPtrOutput

func (ServerThreatDetectionPolicyOutput) ToServerThreatDetectionPolicyPtrOutputWithContext

func (o ServerThreatDetectionPolicyOutput) ToServerThreatDetectionPolicyPtrOutputWithContext(ctx context.Context) ServerThreatDetectionPolicyPtrOutput

type ServerThreatDetectionPolicyPtrInput

type ServerThreatDetectionPolicyPtrInput interface {
	pulumi.Input

	ToServerThreatDetectionPolicyPtrOutput() ServerThreatDetectionPolicyPtrOutput
	ToServerThreatDetectionPolicyPtrOutputWithContext(context.Context) ServerThreatDetectionPolicyPtrOutput
}

ServerThreatDetectionPolicyPtrInput is an input type that accepts ServerThreatDetectionPolicyArgs, ServerThreatDetectionPolicyPtr and ServerThreatDetectionPolicyPtrOutput values. You can construct a concrete instance of `ServerThreatDetectionPolicyPtrInput` via:

        ServerThreatDetectionPolicyArgs{...}

or:

        nil

type ServerThreatDetectionPolicyPtrOutput

type ServerThreatDetectionPolicyPtrOutput struct{ *pulumi.OutputState }

func (ServerThreatDetectionPolicyPtrOutput) DisabledAlerts

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

func (ServerThreatDetectionPolicyPtrOutput) Elem

func (ServerThreatDetectionPolicyPtrOutput) ElementType

func (ServerThreatDetectionPolicyPtrOutput) EmailAccountAdmins

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

func (ServerThreatDetectionPolicyPtrOutput) EmailAddresses

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

func (ServerThreatDetectionPolicyPtrOutput) Enabled

Is the policy enabled?

func (ServerThreatDetectionPolicyPtrOutput) RetentionDays

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

func (ServerThreatDetectionPolicyPtrOutput) StorageAccountAccessKey

func (o ServerThreatDetectionPolicyPtrOutput) StorageAccountAccessKey() pulumi.StringPtrOutput

Specifies the identifier key of the Threat Detection audit storage account.

func (ServerThreatDetectionPolicyPtrOutput) StorageEndpoint

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

func (ServerThreatDetectionPolicyPtrOutput) ToServerThreatDetectionPolicyPtrOutput

func (o ServerThreatDetectionPolicyPtrOutput) ToServerThreatDetectionPolicyPtrOutput() ServerThreatDetectionPolicyPtrOutput

func (ServerThreatDetectionPolicyPtrOutput) ToServerThreatDetectionPolicyPtrOutputWithContext

func (o ServerThreatDetectionPolicyPtrOutput) ToServerThreatDetectionPolicyPtrOutputWithContext(ctx context.Context) ServerThreatDetectionPolicyPtrOutput

type VirtualNetworkRule

type VirtualNetworkRule struct {
	pulumi.CustomResourceState

	// The name of the MySQL Virtual Network Rule. Cannot be empty and must only contain alphanumeric characters and hyphens. Cannot start with a number, and cannot start or end with a hyphen. Changing this forces a new resource to be created.
	//
	// > **NOTE:** `name` must be between 1-128 characters long and must satisfy all of the requirements below:
	//
	// 1. Contains only alphanumeric and hyphen characters
	// 2. Cannot start with a number or hyphen
	// 3. Cannot end with a hyphen
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the resource group where the MySQL server resides. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The name of the SQL Server to which this MySQL virtual network rule will be applied to. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// The ID of the subnet that the MySQL server will be connected to.
	//
	// > **NOTE:** Due to [a bug in the Azure API](https://github.com/Azure/azure-rest-api-specs/issues/3719) this resource currently doesn't expose the `ignoreMissingVnetServiceEndpoint` field and defaults this to `false`. This provider will check during the provisioning of the Virtual Network Rule that the Subnet contains the Service Rule to verify that the Virtual Network Rule can be created.
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
}

Manages a MySQL Virtual Network Rule.

> **Note:** Azure Database for MySQL Single Server and its sub resources are scheduled for retirement by 2024-09-16 and will migrate to using Azure Database for MySQL Flexible Server: https://go.microsoft.com/fwlink/?linkid=2216041. The `mysql.VirtualNetworkRule` resource is deprecated and will be removed in v4.0 of the AzureRM Provider.

> **NOTE:** MySQL Virtual Network Rules [can only be used with SKU Tiers of `GeneralPurpose` or `MemoryOptimized`](https://docs.microsoft.com/azure/mysql/concepts-data-access-and-security-vnet)

## 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/mysql"
"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-vnet"),
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.7.29.0/29"),
			},
			Location:          example.Location,
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		internal, err := network.NewSubnet(ctx, "internal", &network.SubnetArgs{
			Name:               pulumi.String("internal"),
			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 := mysql.NewServer(ctx, "example", &mysql.ServerArgs{
			Name:                       pulumi.String("example-mysqlserver"),
			Location:                   example.Location,
			ResourceGroupName:          example.Name,
			AdministratorLogin:         pulumi.String("mysqladminun"),
			AdministratorLoginPassword: pulumi.String("H@Sh1CoR3!"),
			SkuName:                    pulumi.String("GP_Gen5_2"),
			StorageMb:                  pulumi.Int(5120),
			Version:                    pulumi.String("5.7"),
			BackupRetentionDays:        pulumi.Int(7),
			GeoRedundantBackupEnabled:  pulumi.Bool(false),
			SslEnforcementEnabled:      pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = mysql.NewVirtualNetworkRule(ctx, "example", &mysql.VirtualNetworkRuleArgs{
			Name:              pulumi.String("mysql-vnet-rule"),
			ResourceGroupName: example.Name,
			ServerName:        exampleServer.Name,
			SubnetId:          internal.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:mysql/virtualNetworkRule:VirtualNetworkRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforMySQL/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 {
	// The name of the MySQL Virtual Network Rule. Cannot be empty and must only contain alphanumeric characters and hyphens. Cannot start with a number, and cannot start or end with a hyphen. Changing this forces a new resource to be created.
	//
	// > **NOTE:** `name` must be between 1-128 characters long and must satisfy all of the requirements below:
	//
	// 1. Contains only alphanumeric and hyphen characters
	// 2. Cannot start with a number or hyphen
	// 3. Cannot end with a hyphen
	Name pulumi.StringPtrInput
	// The name of the resource group where the MySQL server resides. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The name of the SQL Server to which this MySQL virtual network rule will be applied to. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
	// The ID of the subnet that the MySQL server will be connected to.
	//
	// > **NOTE:** Due to [a bug in the Azure API](https://github.com/Azure/azure-rest-api-specs/issues/3719) this resource currently doesn't expose the `ignoreMissingVnetServiceEndpoint` field and defaults this to `false`. This provider will check during the provisioning of the Virtual Network Rule that the Subnet contains the Service Rule to verify that the Virtual Network Rule can be created.
	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) Name added in v5.5.0

The name of the MySQL Virtual Network Rule. Cannot be empty and must only contain alphanumeric characters and hyphens. Cannot start with a number, and cannot start or end with a hyphen. Changing this forces a new resource to be created.

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

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

func (VirtualNetworkRuleOutput) ResourceGroupName added in v5.5.0

func (o VirtualNetworkRuleOutput) ResourceGroupName() pulumi.StringOutput

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

func (VirtualNetworkRuleOutput) ServerName added in v5.5.0

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

func (VirtualNetworkRuleOutput) SubnetId added in v5.5.0

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

> **NOTE:** Due to [a bug in the Azure API](https://github.com/Azure/azure-rest-api-specs/issues/3719) this resource currently doesn't expose the `ignoreMissingVnetServiceEndpoint` field and defaults this to `false`. This provider will check during the provisioning of the Virtual Network Rule that the Subnet contains the Service Rule to verify that the Virtual Network Rule can be created.

func (VirtualNetworkRuleOutput) ToVirtualNetworkRuleOutput

func (o VirtualNetworkRuleOutput) ToVirtualNetworkRuleOutput() VirtualNetworkRuleOutput

func (VirtualNetworkRuleOutput) ToVirtualNetworkRuleOutputWithContext

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

type VirtualNetworkRuleState

type VirtualNetworkRuleState struct {
	// The name of the MySQL Virtual Network Rule. Cannot be empty and must only contain alphanumeric characters and hyphens. Cannot start with a number, and cannot start or end with a hyphen. Changing this forces a new resource to be created.
	//
	// > **NOTE:** `name` must be between 1-128 characters long and must satisfy all of the requirements below:
	//
	// 1. Contains only alphanumeric and hyphen characters
	// 2. Cannot start with a number or hyphen
	// 3. Cannot end with a hyphen
	Name pulumi.StringPtrInput
	// The name of the resource group where the MySQL server resides. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The name of the SQL Server to which this MySQL virtual network rule will be applied to. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
	// The ID of the subnet that the MySQL server will be connected to.
	//
	// > **NOTE:** Due to [a bug in the Azure API](https://github.com/Azure/azure-rest-api-specs/issues/3719) this resource currently doesn't expose the `ignoreMissingVnetServiceEndpoint` field and defaults this to `false`. This provider will check during the provisioning of the Virtual Network Rule that the Subnet contains the Service Rule to verify that the Virtual Network Rule can be created.
	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