postgresql

package
v5.74.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActiveDirectoryAdministrator

type ActiveDirectoryAdministrator struct {
	pulumi.CustomResourceState

	// 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 PostgreSQL server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The name of the PostgreSQL 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 PostgreSQL server in Azure

## 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/postgresql"
"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 := postgresql.NewServer(ctx, "example", &postgresql.ServerArgs{
			Name:                       pulumi.String("example-psqlserver"),
			ResourceGroupName:          example.Name,
			Location:                   example.Location,
			Version:                    pulumi.String("9.6"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
			SkuName:                    pulumi.String("GP_Gen5_2"),
			SslEnforcementEnabled:      pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = postgresql.NewActiveDirectoryAdministrator(ctx, "example", &postgresql.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 PostgreSQL Active Directory Administrator can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:postgresql/activeDirectoryAdministrator:ActiveDirectoryAdministrator administrator /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforPostgreSQL/servers/myserver ```

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 PostgreSQL server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The name of the PostgreSQL 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 PostgreSQL server. Changing this forces a new resource to be created.

func (ActiveDirectoryAdministratorOutput) ServerName added in v5.5.0

The name of the PostgreSQL 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 PostgreSQL server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The name of the PostgreSQL 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 PostgreSQL Configuration, which needs [to be a valid PostgreSQL configuration name](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIER). Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the resource group in which the PostgreSQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the name of the PostgreSQL Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// Specifies the value of the PostgreSQL Configuration. See the PostgreSQL documentation for valid values. Changing this forces a new resource to be created.
	Value pulumi.StringOutput `pulumi:"value"`
}

Sets a PostgreSQL Configuration value on a PostgreSQL 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/postgresql"
"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 := postgresql.NewServer(ctx, "example", &postgresql.ServerArgs{
			Name:                       pulumi.String("postgresql-server-1"),
			Location:                   example.Location,
			ResourceGroupName:          example.Name,
			SkuName:                    pulumi.String("B_Gen5_2"),
			StorageMb:                  pulumi.Int(5120),
			BackupRetentionDays:        pulumi.Int(7),
			GeoRedundantBackupEnabled:  pulumi.Bool(false),
			AutoGrowEnabled:            pulumi.Bool(true),
			AdministratorLogin:         pulumi.String("psqladmin"),
			AdministratorLoginPassword: pulumi.String("H@Sh1CoR3!"),
			Version:                    pulumi.String("9.5"),
			SslEnforcementEnabled:      pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = postgresql.NewConfiguration(ctx, "example", &postgresql.ConfigurationArgs{
			Name:              pulumi.String("backslash_quote"),
			ResourceGroupName: example.Name,
			ServerName:        exampleServer.Name,
			Value:             pulumi.String("on"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:postgresql/configuration:Configuration backslash_quote /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforPostgreSQL/servers/server1/configurations/backslash_quote ```

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 PostgreSQL Configuration, which needs [to be a valid PostgreSQL configuration name](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIER). Changing this forces a new resource to be created.
	Name pulumi.StringInput
	// The name of the resource group in which the PostgreSQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Specifies the name of the PostgreSQL Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
	// Specifies the value of the PostgreSQL Configuration. See the PostgreSQL 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 PostgreSQL Configuration, which needs [to be a valid PostgreSQL configuration name](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIER). 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 PostgreSQL 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 PostgreSQL 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 PostgreSQL Configuration. See the PostgreSQL documentation for valid values. Changing this forces a new resource to be created.

type ConfigurationState

type ConfigurationState struct {
	// Specifies the name of the PostgreSQL Configuration, which needs [to be a valid PostgreSQL configuration name](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIER). Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which the PostgreSQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the name of the PostgreSQL Server. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
	// Specifies the value of the PostgreSQL Configuration. See the PostgreSQL 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 PostgreSQL Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Changing this forces a new resource to be created.
	Charset pulumi.StringOutput `pulumi:"charset"`
	// Specifies the Collation for the PostgreSQL Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Note that Microsoft uses different [notation](https://msdn.microsoft.com/library/windows/desktop/dd373814.aspx) - en-US instead of en_US. Changing this forces a new resource to be created.
	Collation pulumi.StringOutput `pulumi:"collation"`
	// Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the resource group in which the PostgreSQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the name of the PostgreSQL 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/postgresql"
"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 := postgresql.NewServer(ctx, "example", &postgresql.ServerArgs{
			Name:                       pulumi.String("postgresql-server-1"),
			Location:                   example.Location,
			ResourceGroupName:          example.Name,
			SkuName:                    pulumi.String("B_Gen5_2"),
			StorageMb:                  pulumi.Int(5120),
			BackupRetentionDays:        pulumi.Int(7),
			GeoRedundantBackupEnabled:  pulumi.Bool(false),
			AutoGrowEnabled:            pulumi.Bool(true),
			AdministratorLogin:         pulumi.String("psqladmin"),
			AdministratorLoginPassword: pulumi.String("H@Sh1CoR3!"),
			Version:                    pulumi.String("9.5"),
			SslEnforcementEnabled:      pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = postgresql.NewDatabase(ctx, "example", &postgresql.DatabaseArgs{
			Name:              pulumi.String("exampledb"),
			ResourceGroupName: example.Name,
			ServerName:        exampleServer.Name,
			Charset:           pulumi.String("UTF8"),
			Collation:         pulumi.String("English_United States.1252"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:postgresql/database:Database database1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforPostgreSQL/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 PostgreSQL Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Changing this forces a new resource to be created.
	Charset pulumi.StringInput
	// Specifies the Collation for the PostgreSQL Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Note that Microsoft uses different [notation](https://msdn.microsoft.com/library/windows/desktop/dd373814.aspx) - en-US instead of en_US. Changing this forces a new resource to be created.
	Collation pulumi.StringInput
	// Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which the PostgreSQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Specifies the name of the PostgreSQL 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 PostgreSQL Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.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 PostgreSQL Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Note that Microsoft uses different [notation](https://msdn.microsoft.com/library/windows/desktop/dd373814.aspx) - en-US instead of en_US. 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 PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). 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 PostgreSQL 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 PostgreSQL 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 PostgreSQL Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Changing this forces a new resource to be created.
	Charset pulumi.StringPtrInput
	// Specifies the Collation for the PostgreSQL Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Note that Microsoft uses different [notation](https://msdn.microsoft.com/library/windows/desktop/dd373814.aspx) - en-US instead of en_US. Changing this forces a new resource to be created.
	Collation pulumi.StringPtrInput
	// Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which the PostgreSQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the name of the PostgreSQL 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. Changing this forces a new resource to be created.
	//
	// > **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 PostgreSQL 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 PostgreSQL Server exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the name of the PostgreSQL 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. Changing this forces a new resource to be created.
	StartIpAddress pulumi.StringOutput `pulumi:"startIpAddress"`
}

Manages a Firewall Rule for a PostgreSQL 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/postgresql"
"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 := postgresql.NewServer(ctx, "example", &postgresql.ServerArgs{
			Name:                  pulumi.String("example-postgre-server"),
			Location:              example.Location,
			ResourceGroupName:     example.Name,
			SkuName:               pulumi.String("GP_Gen5_2"),
			Version:               pulumi.String("11"),
			SslEnforcementEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = postgresql.NewFirewallRule(ctx, "example", &postgresql.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/postgresql"
"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 := postgresql.NewServer(ctx, "example", nil)
		if err != nil {
			return err
		}
		_, err = postgresql.NewFirewallRule(ctx, "example", &postgresql.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
	})
}

```

## Import

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

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

> **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 PostgreSQL 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 PostgreSQL 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 PostgreSQL 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. Changing this forces a new resource to be created.

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

func (FirewallRuleState) ElementType

func (FirewallRuleState) ElementType() reflect.Type

type FlexibleServer

type FlexibleServer struct {
	pulumi.CustomResourceState

	// The Administrator login for the PostgreSQL Flexible Server. Required when `createMode` is `Default` and `authentication.password_auth_enabled` is `true`.
	//
	// > **Note:** Once `administratorLogin` is specified, changing this forces a new PostgreSQL Flexible Server to be created.
	//
	// > **Note:** To create with `administratorLogin` specified or update with it first specified , `authentication.password_auth_enabled` must be set to `true`.
	AdministratorLogin pulumi.StringOutput `pulumi:"administratorLogin"`
	// The Password associated with the `administratorLogin` for the PostgreSQL Flexible Server. Required when `createMode` is `Default` and `authentication.password_auth_enabled` is `true`.
	AdministratorPassword pulumi.StringPtrOutput `pulumi:"administratorPassword"`
	// An `authentication` block as defined below.
	Authentication FlexibleServerAuthenticationOutput `pulumi:"authentication"`
	// Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to `false`.
	AutoGrowEnabled pulumi.BoolPtrOutput `pulumi:"autoGrowEnabled"`
	// The backup retention days for the PostgreSQL Flexible Server. Possible values are between `7` and `35` days.
	BackupRetentionDays pulumi.IntOutput `pulumi:"backupRetentionDays"`
	// The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`.
	//
	// > **Note:** While creating the resource, `createMode` cannot be set to `Update`.
	CreateMode pulumi.StringPtrOutput `pulumi:"createMode"`
	// A `customerManagedKey` block as defined below. Changing this forces a new resource to be created.
	CustomerManagedKey FlexibleServerCustomerManagedKeyPtrOutput `pulumi:"customerManagedKey"`
	// The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
	DelegatedSubnetId pulumi.StringPtrOutput `pulumi:"delegatedSubnetId"`
	// The FQDN of the PostgreSQL Flexible Server.
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to `false`. Changing this forces a new PostgreSQL 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 PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL 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 PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.
	//
	// > **Note** This must be unique across the entire Azure service, not just within the resource group.
	Name pulumi.StringOutput `pulumi:"name"`
	// The point in time to restore from `sourceServerId` when `createMode` is `GeoRestore`, `PointInTimeRestore`. Changing this forces a new PostgreSQL Flexible Server to be created.
	PointInTimeRestoreTimeInUtc pulumi.StringPtrOutput `pulumi:"pointInTimeRestoreTimeInUtc"`
	// The ID of the private DNS zone to create the PostgreSQL Flexible Server.
	//
	// > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`.
	PrivateDnsZoneId pulumi.StringOutput `pulumi:"privateDnsZoneId"`
	// Is public network access enabled?
	PublicNetworkAccessEnabled pulumi.BoolOutput `pulumi:"publicNetworkAccessEnabled"`
	// The replication role for the PostgreSQL Flexible Server. Possible value is `None`.
	//
	// > **Note:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server.
	ReplicationRole pulumi.StringPtrOutput `pulumi:"replicationRole"`
	// The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the `tier` + `name` pattern (e.g. `B_Standard_B1ms`, `GP_Standard_D2s_v3`, `MO_Standard_E4s_v3`).
	SkuName pulumi.StringOutput `pulumi:"skuName"`
	// The resource ID of the source PostgreSQL Flexible Server to be restored. Required when `createMode` is `GeoRestore`, `PointInTimeRestore` or `Replica`. Changing this forces a new PostgreSQL Flexible Server to be created.
	SourceServerId pulumi.StringPtrOutput `pulumi:"sourceServerId"`
	// The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`.
	//
	// > **Note:** If the `storageMb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storageMb` field has been defined and then removed, the `storageMb` field will retain the previously defined value.
	//
	// > **Note:** The `storageMb` can only be scaled up, for example, you can scale the `storageMb` from `32768` to `65536`, but not from `65536` to `32768`.
	StorageMb pulumi.IntOutput `pulumi:"storageMb"`
	// The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storageMb` value. Please see the `storageTier` defaults based on `storageMb` table below.
	//
	// > **Note:** The `storageTier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.
	StorageTier pulumi.StringOutput `pulumi:"storageTier"`
	// A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The version of PostgreSQL Flexible Server to use. Possible values are `11`,`12`, `13`, `14`, `15` and `16`. Required when `createMode` is `Default`.
	//
	// > **Note:** When `createMode` is `Update`, upgrading version wouldn't force a new resource to be created.
	Version pulumi.StringOutput    `pulumi:"version"`
	Zone    pulumi.StringPtrOutput `pulumi:"zone"`
}

Manages a PostgreSQL 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/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/postgresql"
"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.DBforPostgreSQL/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.postgres.database.azure.com"),
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		_, 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 = postgresql.NewFlexibleServer(ctx, "example", &postgresql.FlexibleServerArgs{
			Name:                  pulumi.String("example-psqlflexibleserver"),
			ResourceGroupName:     example.Name,
			Location:              example.Location,
			Version:               pulumi.String("12"),
			DelegatedSubnetId:     exampleSubnet.ID(),
			PrivateDnsZoneId:      exampleZone.ID(),
			AdministratorLogin:    pulumi.String("psqladmin"),
			AdministratorPassword: pulumi.String("H@Sh1CoR3!"),
			Zone:                  pulumi.String("1"),
			StorageMb:             pulumi.Int(32768),
			StorageTier:           pulumi.String("P30"),
			SkuName:               pulumi.String("GP_Standard_D4s_v3"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## `storageTier` defaults based on `storageMb`

| `storageMb` | GiB | TiB | Default | Supported `storageTier`'s | Provisioned `IOPS` | |:------------:|:-----:|:---:|:-------:|:------------------------------------:|:-------------------:| | 32768 | 32 | - | P4 | P4, P6, P10, P15, P20, P30, P40, P50 | 120 | | 65536 | 64 | - | P6 | P6, P10, P15, P20, P30, P40, P50 | 240 | | 131072 | 128 | - | P10 | P10, P15, P20, P30, P40, P50 | 500 | | 262144 | 256 | - | P15 | P15, P20, P30, P40, P50 | 1,100 | | 524288 | 512 | - | P20 | P20, P30, P40, P50 | 2,300 | | 1048576 | 1024 | 1 | P30 | P30, P40, P50 | 5,000 | | 2097152 | 2048 | 2 | P40 | P40, P50 | 7,500 | | 4193280 | 4095 | 4 | P50 | P50 | 7,500 | | 4194304 | 4096 | 4 | P50 | P50 | 7,500 | | 8388608 | 8192 | 8 | P60 | P60, P70 | 16,000 | | 16777216 | 16384 | 16 | P70 | P70, P80 | 18,000 | | 33553408 | 32767 | 32 | P80 | P80 | 20,000 |

> **Note:** Host Caching (ReadOnly and Read/Write) is supported on disk sizes less than 4194304 MiB. This means any disk that is provisioned up to 4193280 MiB can take advantage of Host Caching. Host caching is not supported for disk sizes larger than 4193280 MiB. For example, a P50 premium disk provisioned at 4193280 GiB can take advantage of Host caching while a P50 disk provisioned at 4194304 MiB cannot. Moving from a smaller disk size to a larger disk size, greater than 4193280 MiB, will cause the disk to lose the disk caching ability.

***

## Import

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

```sh $ pulumi import azure:postgresql/flexibleServer:FlexibleServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforPostgreSQL/flexibleServers/server1 ```

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

type FlexibleServerActiveDirectoryAdministrator struct {
	pulumi.CustomResourceState

	// The object ID of a user, service principal or security group in the Azure Active Directory tenant set as the Flexible Server Admin. Changing this forces a new resource to be created.
	ObjectId pulumi.StringOutput `pulumi:"objectId"`
	// The name of Azure Active Directory principal. Changing this forces a new resource to be created.
	PrincipalName pulumi.StringOutput `pulumi:"principalName"`
	// The type of Azure Active Directory principal. Possible values are `Group`, `ServicePrincipal` and `User`. Changing this forces a new resource to be created.
	PrincipalType pulumi.StringOutput `pulumi:"principalType"`
	// The name of the resource group for the PostgreSQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The name of the PostgreSQL Flexible 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. Changing this forces a new resource to be created.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

Allows you to set a user or group as the AD administrator for a PostgreSQL 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/postgresql"
"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		example, err := azuread.LookupServicePrincipal(ctx, &azuread.LookupServicePrincipalArgs{
			ObjectId: pulumi.StringRef(current.ObjectId),
		}, nil)
		if err != nil {
			return err
		}
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleFlexibleServer, err := postgresql.NewFlexibleServer(ctx, "example", &postgresql.FlexibleServerArgs{
			Name:                  pulumi.String("example-fs"),
			ResourceGroupName:     exampleResourceGroup.Name,
			Location:              exampleResourceGroup.Location,
			AdministratorLogin:    pulumi.String("adminTerraform"),
			AdministratorPassword: pulumi.String("QAZwsx123"),
			StorageMb:             pulumi.Int(32768),
			Version:               pulumi.String("12"),
			SkuName:               pulumi.String("GP_Standard_D2s_v3"),
			Zone:                  pulumi.String("2"),
			Authentication: &postgresql.FlexibleServerAuthenticationArgs{
				ActiveDirectoryAuthEnabled: pulumi.Bool(true),
				TenantId:                   pulumi.String(current.TenantId),
			},
		})
		if err != nil {
			return err
		}
		_, err = postgresql.NewFlexibleServerActiveDirectoryAdministrator(ctx, "example", &postgresql.FlexibleServerActiveDirectoryAdministratorArgs{
			ServerName:        exampleFlexibleServer.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			TenantId:          pulumi.String(current.TenantId),
			ObjectId:          pulumi.String(example.ObjectId),
			PrincipalName:     pulumi.String(example.DisplayName),
			PrincipalType:     pulumi.String("ServicePrincipal"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:postgresql/flexibleServerActiveDirectoryAdministrator:FlexibleServerActiveDirectoryAdministrator example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/myserver/administrators/objectId ```

func GetFlexibleServerActiveDirectoryAdministrator added in v5.26.1

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

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

func (*FlexibleServerActiveDirectoryAdministrator) ToFlexibleServerActiveDirectoryAdministratorOutput added in v5.26.1

func (i *FlexibleServerActiveDirectoryAdministrator) ToFlexibleServerActiveDirectoryAdministratorOutput() FlexibleServerActiveDirectoryAdministratorOutput

func (*FlexibleServerActiveDirectoryAdministrator) ToFlexibleServerActiveDirectoryAdministratorOutputWithContext added in v5.26.1

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

type FlexibleServerActiveDirectoryAdministratorArgs added in v5.26.1

type FlexibleServerActiveDirectoryAdministratorArgs struct {
	// The object ID of a user, service principal or security group in the Azure Active Directory tenant set as the Flexible Server Admin. Changing this forces a new resource to be created.
	ObjectId pulumi.StringInput
	// The name of Azure Active Directory principal. Changing this forces a new resource to be created.
	PrincipalName pulumi.StringInput
	// The type of Azure Active Directory principal. Possible values are `Group`, `ServicePrincipal` and `User`. Changing this forces a new resource to be created.
	PrincipalType pulumi.StringInput
	// The name of the resource group for the PostgreSQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The name of the PostgreSQL Flexible Server on which to set the administrator. Changing this forces a new resource to be created.
	ServerName pulumi.StringInput
	// The Azure Tenant ID. Changing this forces a new resource to be created.
	TenantId pulumi.StringInput
}

The set of arguments for constructing a FlexibleServerActiveDirectoryAdministrator resource.

func (FlexibleServerActiveDirectoryAdministratorArgs) ElementType added in v5.26.1

type FlexibleServerActiveDirectoryAdministratorArray added in v5.26.1

type FlexibleServerActiveDirectoryAdministratorArray []FlexibleServerActiveDirectoryAdministratorInput

func (FlexibleServerActiveDirectoryAdministratorArray) ElementType added in v5.26.1

func (FlexibleServerActiveDirectoryAdministratorArray) ToFlexibleServerActiveDirectoryAdministratorArrayOutput added in v5.26.1

func (i FlexibleServerActiveDirectoryAdministratorArray) ToFlexibleServerActiveDirectoryAdministratorArrayOutput() FlexibleServerActiveDirectoryAdministratorArrayOutput

func (FlexibleServerActiveDirectoryAdministratorArray) ToFlexibleServerActiveDirectoryAdministratorArrayOutputWithContext added in v5.26.1

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

type FlexibleServerActiveDirectoryAdministratorArrayInput added in v5.26.1

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

type FlexibleServerActiveDirectoryAdministratorArrayOutput struct{ *pulumi.OutputState }

func (FlexibleServerActiveDirectoryAdministratorArrayOutput) ElementType added in v5.26.1

func (FlexibleServerActiveDirectoryAdministratorArrayOutput) Index added in v5.26.1

func (FlexibleServerActiveDirectoryAdministratorArrayOutput) ToFlexibleServerActiveDirectoryAdministratorArrayOutput added in v5.26.1

func (FlexibleServerActiveDirectoryAdministratorArrayOutput) ToFlexibleServerActiveDirectoryAdministratorArrayOutputWithContext added in v5.26.1

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

type FlexibleServerActiveDirectoryAdministratorInput added in v5.26.1

type FlexibleServerActiveDirectoryAdministratorInput interface {
	pulumi.Input

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

type FlexibleServerActiveDirectoryAdministratorMap added in v5.26.1

type FlexibleServerActiveDirectoryAdministratorMap map[string]FlexibleServerActiveDirectoryAdministratorInput

func (FlexibleServerActiveDirectoryAdministratorMap) ElementType added in v5.26.1

func (FlexibleServerActiveDirectoryAdministratorMap) ToFlexibleServerActiveDirectoryAdministratorMapOutput added in v5.26.1

func (i FlexibleServerActiveDirectoryAdministratorMap) ToFlexibleServerActiveDirectoryAdministratorMapOutput() FlexibleServerActiveDirectoryAdministratorMapOutput

func (FlexibleServerActiveDirectoryAdministratorMap) ToFlexibleServerActiveDirectoryAdministratorMapOutputWithContext added in v5.26.1

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

type FlexibleServerActiveDirectoryAdministratorMapInput added in v5.26.1

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

type FlexibleServerActiveDirectoryAdministratorMapOutput struct{ *pulumi.OutputState }

func (FlexibleServerActiveDirectoryAdministratorMapOutput) ElementType added in v5.26.1

func (FlexibleServerActiveDirectoryAdministratorMapOutput) MapIndex added in v5.26.1

func (FlexibleServerActiveDirectoryAdministratorMapOutput) ToFlexibleServerActiveDirectoryAdministratorMapOutput added in v5.26.1

func (o FlexibleServerActiveDirectoryAdministratorMapOutput) ToFlexibleServerActiveDirectoryAdministratorMapOutput() FlexibleServerActiveDirectoryAdministratorMapOutput

func (FlexibleServerActiveDirectoryAdministratorMapOutput) ToFlexibleServerActiveDirectoryAdministratorMapOutputWithContext added in v5.26.1

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

type FlexibleServerActiveDirectoryAdministratorOutput added in v5.26.1

type FlexibleServerActiveDirectoryAdministratorOutput struct{ *pulumi.OutputState }

func (FlexibleServerActiveDirectoryAdministratorOutput) ElementType added in v5.26.1

func (FlexibleServerActiveDirectoryAdministratorOutput) ObjectId added in v5.26.1

The object ID of a user, service principal or security group in the Azure Active Directory tenant set as the Flexible Server Admin. Changing this forces a new resource to be created.

func (FlexibleServerActiveDirectoryAdministratorOutput) PrincipalName added in v5.26.1

The name of Azure Active Directory principal. Changing this forces a new resource to be created.

func (FlexibleServerActiveDirectoryAdministratorOutput) PrincipalType added in v5.26.1

The type of Azure Active Directory principal. Possible values are `Group`, `ServicePrincipal` and `User`. Changing this forces a new resource to be created.

func (FlexibleServerActiveDirectoryAdministratorOutput) ResourceGroupName added in v5.26.1

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

func (FlexibleServerActiveDirectoryAdministratorOutput) ServerName added in v5.26.1

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

func (FlexibleServerActiveDirectoryAdministratorOutput) TenantId added in v5.26.1

The Azure Tenant ID. Changing this forces a new resource to be created.

func (FlexibleServerActiveDirectoryAdministratorOutput) ToFlexibleServerActiveDirectoryAdministratorOutput added in v5.26.1

func (o FlexibleServerActiveDirectoryAdministratorOutput) ToFlexibleServerActiveDirectoryAdministratorOutput() FlexibleServerActiveDirectoryAdministratorOutput

func (FlexibleServerActiveDirectoryAdministratorOutput) ToFlexibleServerActiveDirectoryAdministratorOutputWithContext added in v5.26.1

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

type FlexibleServerActiveDirectoryAdministratorState added in v5.26.1

type FlexibleServerActiveDirectoryAdministratorState struct {
	// The object ID of a user, service principal or security group in the Azure Active Directory tenant set as the Flexible Server Admin. Changing this forces a new resource to be created.
	ObjectId pulumi.StringPtrInput
	// The name of Azure Active Directory principal. Changing this forces a new resource to be created.
	PrincipalName pulumi.StringPtrInput
	// The type of Azure Active Directory principal. Possible values are `Group`, `ServicePrincipal` and `User`. Changing this forces a new resource to be created.
	PrincipalType pulumi.StringPtrInput
	// The name of the resource group for the PostgreSQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The name of the PostgreSQL Flexible Server on which to set the administrator. Changing this forces a new resource to be created.
	ServerName pulumi.StringPtrInput
	// The Azure Tenant ID. Changing this forces a new resource to be created.
	TenantId pulumi.StringPtrInput
}

func (FlexibleServerActiveDirectoryAdministratorState) ElementType added in v5.26.1

type FlexibleServerArgs

type FlexibleServerArgs struct {
	// The Administrator login for the PostgreSQL Flexible Server. Required when `createMode` is `Default` and `authentication.password_auth_enabled` is `true`.
	//
	// > **Note:** Once `administratorLogin` is specified, changing this forces a new PostgreSQL Flexible Server to be created.
	//
	// > **Note:** To create with `administratorLogin` specified or update with it first specified , `authentication.password_auth_enabled` must be set to `true`.
	AdministratorLogin pulumi.StringPtrInput
	// The Password associated with the `administratorLogin` for the PostgreSQL Flexible Server. Required when `createMode` is `Default` and `authentication.password_auth_enabled` is `true`.
	AdministratorPassword pulumi.StringPtrInput
	// An `authentication` block as defined below.
	Authentication FlexibleServerAuthenticationPtrInput
	// Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to `false`.
	AutoGrowEnabled pulumi.BoolPtrInput
	// The backup retention days for the PostgreSQL Flexible Server. Possible values are between `7` and `35` days.
	BackupRetentionDays pulumi.IntPtrInput
	// The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`.
	//
	// > **Note:** While creating the resource, `createMode` cannot be set to `Update`.
	CreateMode pulumi.StringPtrInput
	// A `customerManagedKey` block as defined below. Changing this forces a new resource to be created.
	CustomerManagedKey FlexibleServerCustomerManagedKeyPtrInput
	// The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
	DelegatedSubnetId pulumi.StringPtrInput
	// Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to `false`. Changing this forces a new PostgreSQL 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 PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
	Location pulumi.StringPtrInput
	// A `maintenanceWindow` block as defined below.
	MaintenanceWindow FlexibleServerMaintenanceWindowPtrInput
	// The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.
	//
	// > **Note** This must be unique across the entire Azure service, not just within the resource group.
	Name pulumi.StringPtrInput
	// The point in time to restore from `sourceServerId` when `createMode` is `GeoRestore`, `PointInTimeRestore`. Changing this forces a new PostgreSQL Flexible Server to be created.
	PointInTimeRestoreTimeInUtc pulumi.StringPtrInput
	// The ID of the private DNS zone to create the PostgreSQL Flexible Server.
	//
	// > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`.
	PrivateDnsZoneId pulumi.StringPtrInput
	// The replication role for the PostgreSQL Flexible Server. Possible value is `None`.
	//
	// > **Note:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server.
	ReplicationRole pulumi.StringPtrInput
	// The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
	ResourceGroupName pulumi.StringInput
	// The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the `tier` + `name` pattern (e.g. `B_Standard_B1ms`, `GP_Standard_D2s_v3`, `MO_Standard_E4s_v3`).
	SkuName pulumi.StringPtrInput
	// The resource ID of the source PostgreSQL Flexible Server to be restored. Required when `createMode` is `GeoRestore`, `PointInTimeRestore` or `Replica`. Changing this forces a new PostgreSQL Flexible Server to be created.
	SourceServerId pulumi.StringPtrInput
	// The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`.
	//
	// > **Note:** If the `storageMb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storageMb` field has been defined and then removed, the `storageMb` field will retain the previously defined value.
	//
	// > **Note:** The `storageMb` can only be scaled up, for example, you can scale the `storageMb` from `32768` to `65536`, but not from `65536` to `32768`.
	StorageMb pulumi.IntPtrInput
	// The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storageMb` value. Please see the `storageTier` defaults based on `storageMb` table below.
	//
	// > **Note:** The `storageTier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.
	StorageTier pulumi.StringPtrInput
	// A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
	Tags pulumi.StringMapInput
	// The version of PostgreSQL Flexible Server to use. Possible values are `11`,`12`, `13`, `14`, `15` and `16`. Required when `createMode` is `Default`.
	//
	// > **Note:** When `createMode` is `Update`, upgrading version wouldn't force a new resource 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 FlexibleServerAuthentication added in v5.26.1

type FlexibleServerAuthentication struct {
	// Whether or not Active Directory authentication is allowed to access the PostgreSQL Flexible Server. Defaults to `false`.
	ActiveDirectoryAuthEnabled *bool `pulumi:"activeDirectoryAuthEnabled"`
	// Whether or not password authentication is allowed to access the PostgreSQL Flexible Server. Defaults to `true`.
	PasswordAuthEnabled *bool `pulumi:"passwordAuthEnabled"`
	// The Tenant ID of the Azure Active Directory which is used by the Active Directory authentication. `activeDirectoryAuthEnabled` must be set to `true`.
	//
	// > **Note:** Setting `activeDirectoryAuthEnabled` to `true` requires a Service Principal for the Postgres Flexible Server. For more details see [this document](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-configure-sign-in-azure-ad-authentication).
	//
	// > **Note:** `tenantId` is required when `activeDirectoryAuthEnabled` is set to `true`. And it should not be specified when `activeDirectoryAuthEnabled` is set to `false`
	TenantId *string `pulumi:"tenantId"`
}

type FlexibleServerAuthenticationArgs added in v5.26.1

type FlexibleServerAuthenticationArgs struct {
	// Whether or not Active Directory authentication is allowed to access the PostgreSQL Flexible Server. Defaults to `false`.
	ActiveDirectoryAuthEnabled pulumi.BoolPtrInput `pulumi:"activeDirectoryAuthEnabled"`
	// Whether or not password authentication is allowed to access the PostgreSQL Flexible Server. Defaults to `true`.
	PasswordAuthEnabled pulumi.BoolPtrInput `pulumi:"passwordAuthEnabled"`
	// The Tenant ID of the Azure Active Directory which is used by the Active Directory authentication. `activeDirectoryAuthEnabled` must be set to `true`.
	//
	// > **Note:** Setting `activeDirectoryAuthEnabled` to `true` requires a Service Principal for the Postgres Flexible Server. For more details see [this document](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-configure-sign-in-azure-ad-authentication).
	//
	// > **Note:** `tenantId` is required when `activeDirectoryAuthEnabled` is set to `true`. And it should not be specified when `activeDirectoryAuthEnabled` is set to `false`
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
}

func (FlexibleServerAuthenticationArgs) ElementType added in v5.26.1

func (FlexibleServerAuthenticationArgs) ToFlexibleServerAuthenticationOutput added in v5.26.1

func (i FlexibleServerAuthenticationArgs) ToFlexibleServerAuthenticationOutput() FlexibleServerAuthenticationOutput

func (FlexibleServerAuthenticationArgs) ToFlexibleServerAuthenticationOutputWithContext added in v5.26.1

func (i FlexibleServerAuthenticationArgs) ToFlexibleServerAuthenticationOutputWithContext(ctx context.Context) FlexibleServerAuthenticationOutput

func (FlexibleServerAuthenticationArgs) ToFlexibleServerAuthenticationPtrOutput added in v5.26.1

func (i FlexibleServerAuthenticationArgs) ToFlexibleServerAuthenticationPtrOutput() FlexibleServerAuthenticationPtrOutput

func (FlexibleServerAuthenticationArgs) ToFlexibleServerAuthenticationPtrOutputWithContext added in v5.26.1

func (i FlexibleServerAuthenticationArgs) ToFlexibleServerAuthenticationPtrOutputWithContext(ctx context.Context) FlexibleServerAuthenticationPtrOutput

type FlexibleServerAuthenticationInput added in v5.26.1

type FlexibleServerAuthenticationInput interface {
	pulumi.Input

	ToFlexibleServerAuthenticationOutput() FlexibleServerAuthenticationOutput
	ToFlexibleServerAuthenticationOutputWithContext(context.Context) FlexibleServerAuthenticationOutput
}

FlexibleServerAuthenticationInput is an input type that accepts FlexibleServerAuthenticationArgs and FlexibleServerAuthenticationOutput values. You can construct a concrete instance of `FlexibleServerAuthenticationInput` via:

FlexibleServerAuthenticationArgs{...}

type FlexibleServerAuthenticationOutput added in v5.26.1

type FlexibleServerAuthenticationOutput struct{ *pulumi.OutputState }

func (FlexibleServerAuthenticationOutput) ActiveDirectoryAuthEnabled added in v5.26.1

func (o FlexibleServerAuthenticationOutput) ActiveDirectoryAuthEnabled() pulumi.BoolPtrOutput

Whether or not Active Directory authentication is allowed to access the PostgreSQL Flexible Server. Defaults to `false`.

func (FlexibleServerAuthenticationOutput) ElementType added in v5.26.1

func (FlexibleServerAuthenticationOutput) PasswordAuthEnabled added in v5.26.1

Whether or not password authentication is allowed to access the PostgreSQL Flexible Server. Defaults to `true`.

func (FlexibleServerAuthenticationOutput) TenantId added in v5.26.1

The Tenant ID of the Azure Active Directory which is used by the Active Directory authentication. `activeDirectoryAuthEnabled` must be set to `true`.

> **Note:** Setting `activeDirectoryAuthEnabled` to `true` requires a Service Principal for the Postgres Flexible Server. For more details see [this document](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-configure-sign-in-azure-ad-authentication).

> **Note:** `tenantId` is required when `activeDirectoryAuthEnabled` is set to `true`. And it should not be specified when `activeDirectoryAuthEnabled` is set to `false`

func (FlexibleServerAuthenticationOutput) ToFlexibleServerAuthenticationOutput added in v5.26.1

func (o FlexibleServerAuthenticationOutput) ToFlexibleServerAuthenticationOutput() FlexibleServerAuthenticationOutput

func (FlexibleServerAuthenticationOutput) ToFlexibleServerAuthenticationOutputWithContext added in v5.26.1

func (o FlexibleServerAuthenticationOutput) ToFlexibleServerAuthenticationOutputWithContext(ctx context.Context) FlexibleServerAuthenticationOutput

func (FlexibleServerAuthenticationOutput) ToFlexibleServerAuthenticationPtrOutput added in v5.26.1

func (o FlexibleServerAuthenticationOutput) ToFlexibleServerAuthenticationPtrOutput() FlexibleServerAuthenticationPtrOutput

func (FlexibleServerAuthenticationOutput) ToFlexibleServerAuthenticationPtrOutputWithContext added in v5.26.1

func (o FlexibleServerAuthenticationOutput) ToFlexibleServerAuthenticationPtrOutputWithContext(ctx context.Context) FlexibleServerAuthenticationPtrOutput

type FlexibleServerAuthenticationPtrInput added in v5.26.1

type FlexibleServerAuthenticationPtrInput interface {
	pulumi.Input

	ToFlexibleServerAuthenticationPtrOutput() FlexibleServerAuthenticationPtrOutput
	ToFlexibleServerAuthenticationPtrOutputWithContext(context.Context) FlexibleServerAuthenticationPtrOutput
}

FlexibleServerAuthenticationPtrInput is an input type that accepts FlexibleServerAuthenticationArgs, FlexibleServerAuthenticationPtr and FlexibleServerAuthenticationPtrOutput values. You can construct a concrete instance of `FlexibleServerAuthenticationPtrInput` via:

        FlexibleServerAuthenticationArgs{...}

or:

        nil

func FlexibleServerAuthenticationPtr added in v5.26.1

type FlexibleServerAuthenticationPtrOutput added in v5.26.1

type FlexibleServerAuthenticationPtrOutput struct{ *pulumi.OutputState }

func (FlexibleServerAuthenticationPtrOutput) ActiveDirectoryAuthEnabled added in v5.26.1

func (o FlexibleServerAuthenticationPtrOutput) ActiveDirectoryAuthEnabled() pulumi.BoolPtrOutput

Whether or not Active Directory authentication is allowed to access the PostgreSQL Flexible Server. Defaults to `false`.

func (FlexibleServerAuthenticationPtrOutput) Elem added in v5.26.1

func (FlexibleServerAuthenticationPtrOutput) ElementType added in v5.26.1

func (FlexibleServerAuthenticationPtrOutput) PasswordAuthEnabled added in v5.26.1

Whether or not password authentication is allowed to access the PostgreSQL Flexible Server. Defaults to `true`.

func (FlexibleServerAuthenticationPtrOutput) TenantId added in v5.26.1

The Tenant ID of the Azure Active Directory which is used by the Active Directory authentication. `activeDirectoryAuthEnabled` must be set to `true`.

> **Note:** Setting `activeDirectoryAuthEnabled` to `true` requires a Service Principal for the Postgres Flexible Server. For more details see [this document](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-configure-sign-in-azure-ad-authentication).

> **Note:** `tenantId` is required when `activeDirectoryAuthEnabled` is set to `true`. And it should not be specified when `activeDirectoryAuthEnabled` is set to `false`

func (FlexibleServerAuthenticationPtrOutput) ToFlexibleServerAuthenticationPtrOutput added in v5.26.1

func (o FlexibleServerAuthenticationPtrOutput) ToFlexibleServerAuthenticationPtrOutput() FlexibleServerAuthenticationPtrOutput

func (FlexibleServerAuthenticationPtrOutput) ToFlexibleServerAuthenticationPtrOutputWithContext added in v5.26.1

func (o FlexibleServerAuthenticationPtrOutput) ToFlexibleServerAuthenticationPtrOutputWithContext(ctx context.Context) FlexibleServerAuthenticationPtrOutput

type FlexibleServerConfiguration

type FlexibleServerConfiguration struct {
	pulumi.CustomResourceState

	// Specifies the name of the PostgreSQL Configuration, which needs [to be a valid PostgreSQL configuration name](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIER). Changing this forces a new resource to be created.
	//
	// > **Note:** PostgreSQL provides the ability to extend the functionality using azure extensions, with PostgreSQL azure extensions you should specify the `name` value as `azure.extensions` and the `value` you wish to allow in the [extensions list](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-extensions?WT.mc_id=Portal-Microsoft_Azure_OSSDatabases#extension-versions).
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the PostgreSQL Flexible Server where we want to change configuration. Changing this forces a new PostgreSQL Flexible Server Configuration resource.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
	// Specifies the value of the PostgreSQL Configuration. See the PostgreSQL documentation for valid values.
	Value pulumi.StringOutput `pulumi:"value"`
}

Sets a PostgreSQL Configuration value on a Azure PostgreSQL Flexible Server.

> **Note:** Changes to static server parameters will automatically trigger Azure Flex Server restart. This behavior can be disabled in the provider `features` block by setting the `restartServerOnConfigurationValueChange` field to `false` within the `postgresqlFlexibleServer` block.

## 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/postgresql"
"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 := postgresql.NewFlexibleServer(ctx, "example", &postgresql.FlexibleServerArgs{
			Name:                  pulumi.String("example-psqlflexibleserver"),
			ResourceGroupName:     example.Name,
			Location:              example.Location,
			Version:               pulumi.String("12"),
			AdministratorLogin:    pulumi.String("psqladmin"),
			AdministratorPassword: pulumi.String("H@Sh1CoR3!"),
			StorageMb:             pulumi.Int(32768),
			SkuName:               pulumi.String("GP_Standard_D4s_v3"),
		})
		if err != nil {
			return err
		}
		_, err = postgresql.NewFlexibleServerConfiguration(ctx, "example", &postgresql.FlexibleServerConfigurationArgs{
			Name:     pulumi.String("backslash_quote"),
			ServerId: exampleFlexibleServer.ID(),
			Value:    pulumi.String("on"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Azure Extensions

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/postgresql"
"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 := postgresql.NewFlexibleServer(ctx, "example", &postgresql.FlexibleServerArgs{
			Name:                  pulumi.String("example-psqlflexibleserver"),
			ResourceGroupName:     example.Name,
			Location:              example.Location,
			Version:               pulumi.String("12"),
			AdministratorLogin:    pulumi.String("psqladmin"),
			AdministratorPassword: pulumi.String("H@Sh1CoR3!"),
			StorageMb:             pulumi.Int(32768),
			SkuName:               pulumi.String("GP_Standard_D4s_v3"),
		})
		if err != nil {
			return err
		}
		_, err = postgresql.NewFlexibleServerConfiguration(ctx, "example", &postgresql.FlexibleServerConfigurationArgs{
			Name:     pulumi.String("azure.extensions"),
			ServerId: exampleFlexibleServer.ID(),
			Value:    pulumi.String("CUBE,CITEXT,BTREE_GIST"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:postgresql/flexibleServerConfiguration:FlexibleServerConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforPostgreSQL/flexibleServers/server1/configurations/configuration1 ```

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 PostgreSQL Configuration, which needs [to be a valid PostgreSQL configuration name](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIER). Changing this forces a new resource to be created.
	//
	// > **Note:** PostgreSQL provides the ability to extend the functionality using azure extensions, with PostgreSQL azure extensions you should specify the `name` value as `azure.extensions` and the `value` you wish to allow in the [extensions list](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-extensions?WT.mc_id=Portal-Microsoft_Azure_OSSDatabases#extension-versions).
	Name pulumi.StringPtrInput
	// The ID of the PostgreSQL Flexible Server where we want to change configuration. Changing this forces a new PostgreSQL Flexible Server Configuration resource.
	ServerId pulumi.StringInput
	// Specifies the value of the PostgreSQL Configuration. See the PostgreSQL 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 PostgreSQL Configuration, which needs [to be a valid PostgreSQL configuration name](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIER). Changing this forces a new resource to be created.

> **Note:** PostgreSQL provides the ability to extend the functionality using azure extensions, with PostgreSQL azure extensions you should specify the `name` value as `azure.extensions` and the `value` you wish to allow in the [extensions list](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-extensions?WT.mc_id=Portal-Microsoft_Azure_OSSDatabases#extension-versions).

func (FlexibleServerConfigurationOutput) ServerId added in v5.5.0

The ID of the PostgreSQL Flexible Server where we want to change configuration. Changing this forces a new PostgreSQL Flexible Server Configuration resource.

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 PostgreSQL Configuration. See the PostgreSQL documentation for valid values.

type FlexibleServerConfigurationState

type FlexibleServerConfigurationState struct {
	// Specifies the name of the PostgreSQL Configuration, which needs [to be a valid PostgreSQL configuration name](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIER). Changing this forces a new resource to be created.
	//
	// > **Note:** PostgreSQL provides the ability to extend the functionality using azure extensions, with PostgreSQL azure extensions you should specify the `name` value as `azure.extensions` and the `value` you wish to allow in the [extensions list](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-extensions?WT.mc_id=Portal-Microsoft_Azure_OSSDatabases#extension-versions).
	Name pulumi.StringPtrInput
	// The ID of the PostgreSQL Flexible Server where we want to change configuration. Changing this forces a new PostgreSQL Flexible Server Configuration resource.
	ServerId pulumi.StringPtrInput
	// Specifies the value of the PostgreSQL Configuration. See the PostgreSQL documentation for valid values.
	Value pulumi.StringPtrInput
}

func (FlexibleServerConfigurationState) ElementType

type FlexibleServerCustomerManagedKey added in v5.33.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`.
	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.33.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`.
	GeoBackupUserAssignedIdentityId pulumi.StringPtrInput `pulumi:"geoBackupUserAssignedIdentityId"`
	// The ID of the Key Vault Key.
	KeyVaultKeyId pulumi.StringInput `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.33.0

func (FlexibleServerCustomerManagedKeyArgs) ToFlexibleServerCustomerManagedKeyOutput added in v5.33.0

func (i FlexibleServerCustomerManagedKeyArgs) ToFlexibleServerCustomerManagedKeyOutput() FlexibleServerCustomerManagedKeyOutput

func (FlexibleServerCustomerManagedKeyArgs) ToFlexibleServerCustomerManagedKeyOutputWithContext added in v5.33.0

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

func (FlexibleServerCustomerManagedKeyArgs) ToFlexibleServerCustomerManagedKeyPtrOutput added in v5.33.0

func (i FlexibleServerCustomerManagedKeyArgs) ToFlexibleServerCustomerManagedKeyPtrOutput() FlexibleServerCustomerManagedKeyPtrOutput

func (FlexibleServerCustomerManagedKeyArgs) ToFlexibleServerCustomerManagedKeyPtrOutputWithContext added in v5.33.0

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

type FlexibleServerCustomerManagedKeyInput added in v5.33.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.33.0

type FlexibleServerCustomerManagedKeyOutput struct{ *pulumi.OutputState }

func (FlexibleServerCustomerManagedKeyOutput) ElementType added in v5.33.0

func (FlexibleServerCustomerManagedKeyOutput) GeoBackupKeyVaultKeyId added in v5.46.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.46.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`.

func (FlexibleServerCustomerManagedKeyOutput) KeyVaultKeyId added in v5.33.0

The ID of the Key Vault Key.

func (FlexibleServerCustomerManagedKeyOutput) PrimaryUserAssignedIdentityId added in v5.33.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.33.0

func (o FlexibleServerCustomerManagedKeyOutput) ToFlexibleServerCustomerManagedKeyOutput() FlexibleServerCustomerManagedKeyOutput

func (FlexibleServerCustomerManagedKeyOutput) ToFlexibleServerCustomerManagedKeyOutputWithContext added in v5.33.0

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

func (FlexibleServerCustomerManagedKeyOutput) ToFlexibleServerCustomerManagedKeyPtrOutput added in v5.33.0

func (o FlexibleServerCustomerManagedKeyOutput) ToFlexibleServerCustomerManagedKeyPtrOutput() FlexibleServerCustomerManagedKeyPtrOutput

func (FlexibleServerCustomerManagedKeyOutput) ToFlexibleServerCustomerManagedKeyPtrOutputWithContext added in v5.33.0

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

type FlexibleServerCustomerManagedKeyPtrInput added in v5.33.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.33.0

type FlexibleServerCustomerManagedKeyPtrOutput struct{ *pulumi.OutputState }

func (FlexibleServerCustomerManagedKeyPtrOutput) Elem added in v5.33.0

func (FlexibleServerCustomerManagedKeyPtrOutput) ElementType added in v5.33.0

func (FlexibleServerCustomerManagedKeyPtrOutput) GeoBackupKeyVaultKeyId added in v5.46.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.46.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`.

func (FlexibleServerCustomerManagedKeyPtrOutput) KeyVaultKeyId added in v5.33.0

The ID of the Key Vault Key.

func (FlexibleServerCustomerManagedKeyPtrOutput) PrimaryUserAssignedIdentityId added in v5.33.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.33.0

func (o FlexibleServerCustomerManagedKeyPtrOutput) ToFlexibleServerCustomerManagedKeyPtrOutput() FlexibleServerCustomerManagedKeyPtrOutput

func (FlexibleServerCustomerManagedKeyPtrOutput) ToFlexibleServerCustomerManagedKeyPtrOutputWithContext added in v5.33.0

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

type FlexibleServerDatabase

type FlexibleServerDatabase struct {
	pulumi.CustomResourceState

	// Specifies the Charset for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Defaults to `UTF8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.
	Charset pulumi.StringPtrOutput `pulumi:"charset"`
	// Specifies the Collation for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Defaults to `en_US.utf8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.
	Collation pulumi.StringPtrOutput `pulumi:"collation"`
	// Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the Azure PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
}

## 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/postgresql"
"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 := postgresql.NewFlexibleServer(ctx, "example", &postgresql.FlexibleServerArgs{
			Name:                  pulumi.String("example-psqlflexibleserver"),
			ResourceGroupName:     example.Name,
			Location:              example.Location,
			Version:               pulumi.String("12"),
			AdministratorLogin:    pulumi.String("psqladmin"),
			AdministratorPassword: pulumi.String("H@Sh1CoR3!"),
			StorageMb:             pulumi.Int(32768),
			SkuName:               pulumi.String("GP_Standard_D4s_v3"),
		})
		if err != nil {
			return err
		}
		_, err = postgresql.NewFlexibleServerDatabase(ctx, "example", &postgresql.FlexibleServerDatabaseArgs{
			Name:      pulumi.String("exampledb"),
			ServerId:  exampleFlexibleServer.ID(),
			Collation: pulumi.String("en_US.utf8"),
			Charset:   pulumi.String("utf8"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Azure PostgreSQL Flexible Server Database can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:postgresql/flexibleServerDatabase:FlexibleServerDatabase example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.DBforPostgreSQL/flexibleServers/flexibleServer1/databases/database1 ```

func GetFlexibleServerDatabase

func GetFlexibleServerDatabase(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FlexibleServerDatabaseState, opts ...pulumi.ResourceOption) (*FlexibleServerDatabase, error)

GetFlexibleServerDatabase gets an existing FlexibleServerDatabase 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 NewFlexibleServerDatabase

func NewFlexibleServerDatabase(ctx *pulumi.Context,
	name string, args *FlexibleServerDatabaseArgs, opts ...pulumi.ResourceOption) (*FlexibleServerDatabase, error)

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

func (*FlexibleServerDatabase) ElementType

func (*FlexibleServerDatabase) ElementType() reflect.Type

func (*FlexibleServerDatabase) ToFlexibleServerDatabaseOutput

func (i *FlexibleServerDatabase) ToFlexibleServerDatabaseOutput() FlexibleServerDatabaseOutput

func (*FlexibleServerDatabase) ToFlexibleServerDatabaseOutputWithContext

func (i *FlexibleServerDatabase) ToFlexibleServerDatabaseOutputWithContext(ctx context.Context) FlexibleServerDatabaseOutput

type FlexibleServerDatabaseArgs

type FlexibleServerDatabaseArgs struct {
	// Specifies the Charset for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Defaults to `UTF8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.
	Charset pulumi.StringPtrInput
	// Specifies the Collation for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Defaults to `en_US.utf8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.
	Collation pulumi.StringPtrInput
	// Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.
	Name pulumi.StringPtrInput
	// The ID of the Azure PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.
	ServerId pulumi.StringInput
}

The set of arguments for constructing a FlexibleServerDatabase resource.

func (FlexibleServerDatabaseArgs) ElementType

func (FlexibleServerDatabaseArgs) ElementType() reflect.Type

type FlexibleServerDatabaseArray

type FlexibleServerDatabaseArray []FlexibleServerDatabaseInput

func (FlexibleServerDatabaseArray) ElementType

func (FlexibleServerDatabaseArray) ToFlexibleServerDatabaseArrayOutput

func (i FlexibleServerDatabaseArray) ToFlexibleServerDatabaseArrayOutput() FlexibleServerDatabaseArrayOutput

func (FlexibleServerDatabaseArray) ToFlexibleServerDatabaseArrayOutputWithContext

func (i FlexibleServerDatabaseArray) ToFlexibleServerDatabaseArrayOutputWithContext(ctx context.Context) FlexibleServerDatabaseArrayOutput

type FlexibleServerDatabaseArrayInput

type FlexibleServerDatabaseArrayInput interface {
	pulumi.Input

	ToFlexibleServerDatabaseArrayOutput() FlexibleServerDatabaseArrayOutput
	ToFlexibleServerDatabaseArrayOutputWithContext(context.Context) FlexibleServerDatabaseArrayOutput
}

FlexibleServerDatabaseArrayInput is an input type that accepts FlexibleServerDatabaseArray and FlexibleServerDatabaseArrayOutput values. You can construct a concrete instance of `FlexibleServerDatabaseArrayInput` via:

FlexibleServerDatabaseArray{ FlexibleServerDatabaseArgs{...} }

type FlexibleServerDatabaseArrayOutput

type FlexibleServerDatabaseArrayOutput struct{ *pulumi.OutputState }

func (FlexibleServerDatabaseArrayOutput) ElementType

func (FlexibleServerDatabaseArrayOutput) Index

func (FlexibleServerDatabaseArrayOutput) ToFlexibleServerDatabaseArrayOutput

func (o FlexibleServerDatabaseArrayOutput) ToFlexibleServerDatabaseArrayOutput() FlexibleServerDatabaseArrayOutput

func (FlexibleServerDatabaseArrayOutput) ToFlexibleServerDatabaseArrayOutputWithContext

func (o FlexibleServerDatabaseArrayOutput) ToFlexibleServerDatabaseArrayOutputWithContext(ctx context.Context) FlexibleServerDatabaseArrayOutput

type FlexibleServerDatabaseInput

type FlexibleServerDatabaseInput interface {
	pulumi.Input

	ToFlexibleServerDatabaseOutput() FlexibleServerDatabaseOutput
	ToFlexibleServerDatabaseOutputWithContext(ctx context.Context) FlexibleServerDatabaseOutput
}

type FlexibleServerDatabaseMap

type FlexibleServerDatabaseMap map[string]FlexibleServerDatabaseInput

func (FlexibleServerDatabaseMap) ElementType

func (FlexibleServerDatabaseMap) ElementType() reflect.Type

func (FlexibleServerDatabaseMap) ToFlexibleServerDatabaseMapOutput

func (i FlexibleServerDatabaseMap) ToFlexibleServerDatabaseMapOutput() FlexibleServerDatabaseMapOutput

func (FlexibleServerDatabaseMap) ToFlexibleServerDatabaseMapOutputWithContext

func (i FlexibleServerDatabaseMap) ToFlexibleServerDatabaseMapOutputWithContext(ctx context.Context) FlexibleServerDatabaseMapOutput

type FlexibleServerDatabaseMapInput

type FlexibleServerDatabaseMapInput interface {
	pulumi.Input

	ToFlexibleServerDatabaseMapOutput() FlexibleServerDatabaseMapOutput
	ToFlexibleServerDatabaseMapOutputWithContext(context.Context) FlexibleServerDatabaseMapOutput
}

FlexibleServerDatabaseMapInput is an input type that accepts FlexibleServerDatabaseMap and FlexibleServerDatabaseMapOutput values. You can construct a concrete instance of `FlexibleServerDatabaseMapInput` via:

FlexibleServerDatabaseMap{ "key": FlexibleServerDatabaseArgs{...} }

type FlexibleServerDatabaseMapOutput

type FlexibleServerDatabaseMapOutput struct{ *pulumi.OutputState }

func (FlexibleServerDatabaseMapOutput) ElementType

func (FlexibleServerDatabaseMapOutput) MapIndex

func (FlexibleServerDatabaseMapOutput) ToFlexibleServerDatabaseMapOutput

func (o FlexibleServerDatabaseMapOutput) ToFlexibleServerDatabaseMapOutput() FlexibleServerDatabaseMapOutput

func (FlexibleServerDatabaseMapOutput) ToFlexibleServerDatabaseMapOutputWithContext

func (o FlexibleServerDatabaseMapOutput) ToFlexibleServerDatabaseMapOutputWithContext(ctx context.Context) FlexibleServerDatabaseMapOutput

type FlexibleServerDatabaseOutput

type FlexibleServerDatabaseOutput struct{ *pulumi.OutputState }

func (FlexibleServerDatabaseOutput) Charset added in v5.5.0

Specifies the Charset for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Defaults to `UTF8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.

func (FlexibleServerDatabaseOutput) Collation added in v5.5.0

Specifies the Collation for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Defaults to `en_US.utf8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.

func (FlexibleServerDatabaseOutput) ElementType

func (FlexibleServerDatabaseOutput) Name added in v5.5.0

Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.

func (FlexibleServerDatabaseOutput) ServerId added in v5.5.0

The ID of the Azure PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.

func (FlexibleServerDatabaseOutput) ToFlexibleServerDatabaseOutput

func (o FlexibleServerDatabaseOutput) ToFlexibleServerDatabaseOutput() FlexibleServerDatabaseOutput

func (FlexibleServerDatabaseOutput) ToFlexibleServerDatabaseOutputWithContext

func (o FlexibleServerDatabaseOutput) ToFlexibleServerDatabaseOutputWithContext(ctx context.Context) FlexibleServerDatabaseOutput

type FlexibleServerDatabaseState

type FlexibleServerDatabaseState struct {
	// Specifies the Charset for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Defaults to `UTF8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.
	Charset pulumi.StringPtrInput
	// Specifies the Collation for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Defaults to `en_US.utf8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.
	Collation pulumi.StringPtrInput
	// Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.
	Name pulumi.StringPtrInput
	// The ID of the Azure PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.
	ServerId pulumi.StringPtrInput
}

func (FlexibleServerDatabaseState) ElementType

type FlexibleServerFirewallRule

type FlexibleServerFirewallRule struct {
	pulumi.CustomResourceState

	// The End IP Address associated with this PostgreSQL Flexible Server Firewall Rule.
	EndIpAddress pulumi.StringOutput `pulumi:"endIpAddress"`
	// The name which should be used for this PostgreSQL Flexible Server Firewall Rule. Changing this forces a new PostgreSQL Flexible Server Firewall Rule to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Firewall Rule. Changing this forces a new PostgreSQL Flexible Server Firewall Rule to be created.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
	// The Start IP Address associated with this PostgreSQL Flexible Server Firewall Rule.
	StartIpAddress pulumi.StringOutput `pulumi:"startIpAddress"`
}

Manages a PostgreSQL Flexible Server Firewall Rule.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/postgresql"
"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 := postgresql.NewFlexibleServer(ctx, "example", &postgresql.FlexibleServerArgs{
			Name:                  pulumi.String("example-psqlflexibleserver"),
			ResourceGroupName:     example.Name,
			Location:              example.Location,
			Version:               pulumi.String("12"),
			AdministratorLogin:    pulumi.String("psqladmin"),
			AdministratorPassword: pulumi.String("H@Sh1CoR3!"),
			StorageMb:             pulumi.Int(32768),
			SkuName:               pulumi.String("GP_Standard_D4s_v3"),
		})
		if err != nil {
			return err
		}
		_, err = postgresql.NewFlexibleServerFirewallRule(ctx, "example", &postgresql.FlexibleServerFirewallRuleArgs{
			Name:           pulumi.String("example-fw"),
			ServerId:       exampleFlexibleServer.ID(),
			StartIpAddress: pulumi.String("122.122.0.0"),
			EndIpAddress:   pulumi.String("122.122.0.0"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

PostgreSQL Flexible Server Firewall Rules can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:postgresql/flexibleServerFirewallRule:FlexibleServerFirewallRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DBforPostgreSQL/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 {
	// The End IP Address associated with this PostgreSQL Flexible Server Firewall Rule.
	EndIpAddress pulumi.StringInput
	// The name which should be used for this PostgreSQL Flexible Server Firewall Rule. Changing this forces a new PostgreSQL Flexible Server Firewall Rule to be created.
	Name pulumi.StringPtrInput
	// The ID of the PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Firewall Rule. Changing this forces a new PostgreSQL Flexible Server Firewall Rule to be created.
	ServerId pulumi.StringInput
	// The Start IP Address associated with this PostgreSQL Flexible Server 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

The End IP Address associated with this PostgreSQL Flexible Server Firewall Rule.

func (FlexibleServerFirewallRuleOutput) Name added in v5.5.0

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

func (FlexibleServerFirewallRuleOutput) ServerId added in v5.5.0

The ID of the PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Firewall Rule. Changing this forces a new PostgreSQL Flexible Server Firewall Rule to be created.

func (FlexibleServerFirewallRuleOutput) StartIpAddress added in v5.5.0

The Start IP Address associated with this PostgreSQL Flexible Server 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 {
	// The End IP Address associated with this PostgreSQL Flexible Server Firewall Rule.
	EndIpAddress pulumi.StringPtrInput
	// The name which should be used for this PostgreSQL Flexible Server Firewall Rule. Changing this forces a new PostgreSQL Flexible Server Firewall Rule to be created.
	Name pulumi.StringPtrInput
	// The ID of the PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Firewall Rule. Changing this forces a new PostgreSQL Flexible Server Firewall Rule to be created.
	ServerId pulumi.StringPtrInput
	// The Start IP Address associated with this PostgreSQL Flexible Server Firewall Rule.
	StartIpAddress pulumi.StringPtrInput
}

func (FlexibleServerFirewallRuleState) ElementType

type FlexibleServerHighAvailability

type FlexibleServerHighAvailability struct {
	// The high availability mode for the PostgreSQL Flexible Server. Possible value are `SameZone` or `ZoneRedundant`.
	Mode                    string  `pulumi:"mode"`
	StandbyAvailabilityZone *string `pulumi:"standbyAvailabilityZone"`
}

type FlexibleServerHighAvailabilityArgs

type FlexibleServerHighAvailabilityArgs struct {
	// The high availability mode for the PostgreSQL Flexible Server. Possible value are `SameZone` or `ZoneRedundant`.
	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 PostgreSQL Flexible Server. Possible value are `SameZone` or `ZoneRedundant`.

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 PostgreSQL Flexible Server. Possible value are `SameZone` or `ZoneRedundant`.

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

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

type FlexibleServerIdentityArgs added in v5.33.0

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

func (FlexibleServerIdentityArgs) ElementType added in v5.33.0

func (FlexibleServerIdentityArgs) ElementType() reflect.Type

func (FlexibleServerIdentityArgs) ToFlexibleServerIdentityOutput added in v5.33.0

func (i FlexibleServerIdentityArgs) ToFlexibleServerIdentityOutput() FlexibleServerIdentityOutput

func (FlexibleServerIdentityArgs) ToFlexibleServerIdentityOutputWithContext added in v5.33.0

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

func (FlexibleServerIdentityArgs) ToFlexibleServerIdentityPtrOutput added in v5.33.0

func (i FlexibleServerIdentityArgs) ToFlexibleServerIdentityPtrOutput() FlexibleServerIdentityPtrOutput

func (FlexibleServerIdentityArgs) ToFlexibleServerIdentityPtrOutputWithContext added in v5.33.0

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

type FlexibleServerIdentityInput added in v5.33.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.33.0

type FlexibleServerIdentityOutput struct{ *pulumi.OutputState }

func (FlexibleServerIdentityOutput) ElementType added in v5.33.0

func (FlexibleServerIdentityOutput) IdentityIds added in v5.33.0

A list of User Assigned Managed Identity IDs to be assigned to this PostgreSQL Flexible Server. Required if used together with `customerManagedKey` block.

func (FlexibleServerIdentityOutput) ToFlexibleServerIdentityOutput added in v5.33.0

func (o FlexibleServerIdentityOutput) ToFlexibleServerIdentityOutput() FlexibleServerIdentityOutput

func (FlexibleServerIdentityOutput) ToFlexibleServerIdentityOutputWithContext added in v5.33.0

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

func (FlexibleServerIdentityOutput) ToFlexibleServerIdentityPtrOutput added in v5.33.0

func (o FlexibleServerIdentityOutput) ToFlexibleServerIdentityPtrOutput() FlexibleServerIdentityPtrOutput

func (FlexibleServerIdentityOutput) ToFlexibleServerIdentityPtrOutputWithContext added in v5.33.0

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

func (FlexibleServerIdentityOutput) Type added in v5.33.0

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

type FlexibleServerIdentityPtrInput added in v5.33.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.33.0

func FlexibleServerIdentityPtr(v *FlexibleServerIdentityArgs) FlexibleServerIdentityPtrInput

type FlexibleServerIdentityPtrOutput added in v5.33.0

type FlexibleServerIdentityPtrOutput struct{ *pulumi.OutputState }

func (FlexibleServerIdentityPtrOutput) Elem added in v5.33.0

func (FlexibleServerIdentityPtrOutput) ElementType added in v5.33.0

func (FlexibleServerIdentityPtrOutput) IdentityIds added in v5.33.0

A list of User Assigned Managed Identity IDs to be assigned to this PostgreSQL Flexible Server. Required if used together with `customerManagedKey` block.

func (FlexibleServerIdentityPtrOutput) ToFlexibleServerIdentityPtrOutput added in v5.33.0

func (o FlexibleServerIdentityPtrOutput) ToFlexibleServerIdentityPtrOutput() FlexibleServerIdentityPtrOutput

func (FlexibleServerIdentityPtrOutput) ToFlexibleServerIdentityPtrOutputWithContext added in v5.33.0

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

func (FlexibleServerIdentityPtrOutput) Type added in v5.33.0

Specifies the type of Managed Service Identity that should be configured on this PostgreSQL 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, where the week starts on a Sunday, i.e. Sunday = `0`, Monday = `1`. 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, where the week starts on a Sunday, i.e. Sunday = `0`, Monday = `1`. 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, where the week starts on a Sunday, i.e. Sunday = `0`, Monday = `1`. 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, where the week starts on a Sunday, i.e. Sunday = `0`, Monday = `1`. 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 PostgreSQL Flexible Server. Required when `createMode` is `Default` and `authentication.password_auth_enabled` is `true`.

> **Note:** Once `administratorLogin` is specified, changing this forces a new PostgreSQL Flexible Server to be created.

> **Note:** To create with `administratorLogin` specified or update with it first specified , `authentication.password_auth_enabled` must be set to `true`.

func (FlexibleServerOutput) AdministratorPassword added in v5.5.0

func (o FlexibleServerOutput) AdministratorPassword() pulumi.StringPtrOutput

The Password associated with the `administratorLogin` for the PostgreSQL Flexible Server. Required when `createMode` is `Default` and `authentication.password_auth_enabled` is `true`.

func (FlexibleServerOutput) Authentication added in v5.26.1

An `authentication` block as defined below.

func (FlexibleServerOutput) AutoGrowEnabled added in v5.52.0

func (o FlexibleServerOutput) AutoGrowEnabled() pulumi.BoolPtrOutput

Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to `false`.

func (FlexibleServerOutput) BackupRetentionDays added in v5.5.0

func (o FlexibleServerOutput) BackupRetentionDays() pulumi.IntOutput

The backup retention days for the PostgreSQL Flexible Server. Possible values are between `7` and `35` days.

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`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`.

> **Note:** While creating the resource, `createMode` cannot be set to `Update`.

func (FlexibleServerOutput) CustomerManagedKey added in v5.33.0

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

func (FlexibleServerOutput) DelegatedSubnetId added in v5.5.0

func (o FlexibleServerOutput) DelegatedSubnetId() pulumi.StringPtrOutput

The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.

func (FlexibleServerOutput) ElementType

func (FlexibleServerOutput) ElementType() reflect.Type

func (FlexibleServerOutput) Fqdn added in v5.5.0

The FQDN of the PostgreSQL Flexible Server.

func (FlexibleServerOutput) GeoRedundantBackupEnabled added in v5.5.0

func (o FlexibleServerOutput) GeoRedundantBackupEnabled() pulumi.BoolPtrOutput

Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to `false`. Changing this forces a new PostgreSQL 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.33.0

An `identity` block as defined below.

func (FlexibleServerOutput) Location added in v5.5.0

The Azure Region where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL 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 PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.

> **Note** This must be unique across the entire Azure service, not just within the resource group.

func (FlexibleServerOutput) PointInTimeRestoreTimeInUtc added in v5.5.0

func (o FlexibleServerOutput) PointInTimeRestoreTimeInUtc() pulumi.StringPtrOutput

The point in time to restore from `sourceServerId` when `createMode` is `GeoRestore`, `PointInTimeRestore`. Changing this forces a new PostgreSQL Flexible Server to be created.

func (FlexibleServerOutput) PrivateDnsZoneId added in v5.5.0

func (o FlexibleServerOutput) PrivateDnsZoneId() pulumi.StringOutput

The ID of the private DNS zone to create the PostgreSQL Flexible Server.

> **Note:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`.

func (FlexibleServerOutput) PublicNetworkAccessEnabled added in v5.5.0

func (o FlexibleServerOutput) PublicNetworkAccessEnabled() pulumi.BoolOutput

Is public network access enabled?

func (FlexibleServerOutput) ReplicationRole added in v5.35.0

func (o FlexibleServerOutput) ReplicationRole() pulumi.StringPtrOutput

The replication role for the PostgreSQL Flexible Server. Possible value is `None`.

> **Note:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server.

func (FlexibleServerOutput) ResourceGroupName added in v5.5.0

func (o FlexibleServerOutput) ResourceGroupName() pulumi.StringOutput

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

func (FlexibleServerOutput) SkuName added in v5.5.0

The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the `tier` + `name` pattern (e.g. `B_Standard_B1ms`, `GP_Standard_D2s_v3`, `MO_Standard_E4s_v3`).

func (FlexibleServerOutput) SourceServerId added in v5.5.0

func (o FlexibleServerOutput) SourceServerId() pulumi.StringPtrOutput

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

func (FlexibleServerOutput) StorageMb added in v5.5.0

func (o FlexibleServerOutput) StorageMb() pulumi.IntOutput

The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`.

> **Note:** If the `storageMb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storageMb` field has been defined and then removed, the `storageMb` field will retain the previously defined value.

> **Note:** The `storageMb` can only be scaled up, for example, you can scale the `storageMb` from `32768` to `65536`, but not from `65536` to `32768`.

func (FlexibleServerOutput) StorageTier added in v5.68.0

func (o FlexibleServerOutput) StorageTier() pulumi.StringOutput

The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storageMb` value. Please see the `storageTier` defaults based on `storageMb` table below.

> **Note:** The `storageTier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.

func (FlexibleServerOutput) Tags added in v5.5.0

A mapping of tags which should be assigned to the PostgreSQL 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 PostgreSQL Flexible Server to use. Possible values are `11`,`12`, `13`, `14`, `15` and `16`. Required when `createMode` is `Default`.

> **Note:** When `createMode` is `Update`, upgrading version wouldn't force a new resource to be created.

func (FlexibleServerOutput) Zone added in v5.5.0

type FlexibleServerState

type FlexibleServerState struct {
	// The Administrator login for the PostgreSQL Flexible Server. Required when `createMode` is `Default` and `authentication.password_auth_enabled` is `true`.
	//
	// > **Note:** Once `administratorLogin` is specified, changing this forces a new PostgreSQL Flexible Server to be created.
	//
	// > **Note:** To create with `administratorLogin` specified or update with it first specified , `authentication.password_auth_enabled` must be set to `true`.
	AdministratorLogin pulumi.StringPtrInput
	// The Password associated with the `administratorLogin` for the PostgreSQL Flexible Server. Required when `createMode` is `Default` and `authentication.password_auth_enabled` is `true`.
	AdministratorPassword pulumi.StringPtrInput
	// An `authentication` block as defined below.
	Authentication FlexibleServerAuthenticationPtrInput
	// Is the storage auto grow for PostgreSQL Flexible Server enabled? Defaults to `false`.
	AutoGrowEnabled pulumi.BoolPtrInput
	// The backup retention days for the PostgreSQL Flexible Server. Possible values are between `7` and `35` days.
	BackupRetentionDays pulumi.IntPtrInput
	// The creation mode which can be used to restore or replicate existing servers. Possible values are `Default`, `GeoRestore`, `PointInTimeRestore`, `Replica` and `Update`.
	//
	// > **Note:** While creating the resource, `createMode` cannot be set to `Update`.
	CreateMode pulumi.StringPtrInput
	// A `customerManagedKey` block as defined below. Changing this forces a new resource to be created.
	CustomerManagedKey FlexibleServerCustomerManagedKeyPtrInput
	// The ID of the virtual network subnet to create the PostgreSQL Flexible Server. The provided subnet should not have any other resource deployed in it and this subnet will be delegated to the PostgreSQL Flexible Server, if not already delegated. Changing this forces a new PostgreSQL Flexible Server to be created.
	DelegatedSubnetId pulumi.StringPtrInput
	// The FQDN of the PostgreSQL Flexible Server.
	Fqdn pulumi.StringPtrInput
	// Is Geo-Redundant backup enabled on the PostgreSQL Flexible Server. Defaults to `false`. Changing this forces a new PostgreSQL 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 PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
	Location pulumi.StringPtrInput
	// A `maintenanceWindow` block as defined below.
	MaintenanceWindow FlexibleServerMaintenanceWindowPtrInput
	// The name which should be used for this PostgreSQL Flexible Server. Changing this forces a new PostgreSQL Flexible Server to be created.
	//
	// > **Note** This must be unique across the entire Azure service, not just within the resource group.
	Name pulumi.StringPtrInput
	// The point in time to restore from `sourceServerId` when `createMode` is `GeoRestore`, `PointInTimeRestore`. Changing this forces a new PostgreSQL Flexible Server to be created.
	PointInTimeRestoreTimeInUtc pulumi.StringPtrInput
	// The ID of the private DNS zone to create the PostgreSQL Flexible Server.
	//
	// > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`.
	PrivateDnsZoneId pulumi.StringPtrInput
	// Is public network access enabled?
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// The replication role for the PostgreSQL Flexible Server. Possible value is `None`.
	//
	// > **Note:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server.
	ReplicationRole pulumi.StringPtrInput
	// The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the `tier` + `name` pattern (e.g. `B_Standard_B1ms`, `GP_Standard_D2s_v3`, `MO_Standard_E4s_v3`).
	SkuName pulumi.StringPtrInput
	// The resource ID of the source PostgreSQL Flexible Server to be restored. Required when `createMode` is `GeoRestore`, `PointInTimeRestore` or `Replica`. Changing this forces a new PostgreSQL Flexible Server to be created.
	SourceServerId pulumi.StringPtrInput
	// The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`.
	//
	// > **Note:** If the `storageMb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storageMb` field has been defined and then removed, the `storageMb` field will retain the previously defined value.
	//
	// > **Note:** The `storageMb` can only be scaled up, for example, you can scale the `storageMb` from `32768` to `65536`, but not from `65536` to `32768`.
	StorageMb pulumi.IntPtrInput
	// The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storageMb` value. Please see the `storageTier` defaults based on `storageMb` table below.
	//
	// > **Note:** The `storageTier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.
	StorageTier pulumi.StringPtrInput
	// A mapping of tags which should be assigned to the PostgreSQL Flexible Server.
	Tags pulumi.StringMapInput
	// The version of PostgreSQL Flexible Server to use. Possible values are `11`,`12`, `13`, `14`, `15` and `16`. Required when `createMode` is `Default`.
	//
	// > **Note:** When `createMode` is `Update`, upgrading version wouldn't force a new resource to be created.
	Version pulumi.StringPtrInput
	Zone    pulumi.StringPtrInput
}

func (FlexibleServerState) ElementType

func (FlexibleServerState) ElementType() reflect.Type

type GetServerIdentity

type GetServerIdentity struct {
	// The ID of the System Managed Service Principal assigned to the PostgreSQL Server.
	PrincipalId string `pulumi:"principalId"`
	// The ID of the Tenant of the System Managed Service Principal assigned to the PostgreSQL Server.
	TenantId string `pulumi:"tenantId"`
	// The identity type of the Managed Identity assigned to the PostgreSQL Server.
	Type string `pulumi:"type"`
}

type GetServerIdentityArgs

type GetServerIdentityArgs struct {
	// The ID of the System Managed Service Principal assigned to the PostgreSQL Server.
	PrincipalId pulumi.StringInput `pulumi:"principalId"`
	// The ID of the Tenant of the System Managed Service Principal assigned to the PostgreSQL Server.
	TenantId pulumi.StringInput `pulumi:"tenantId"`
	// The identity type of the Managed Identity assigned to the PostgreSQL Server.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetServerIdentityArgs) ElementType

func (GetServerIdentityArgs) ElementType() reflect.Type

func (GetServerIdentityArgs) ToGetServerIdentityOutput

func (i GetServerIdentityArgs) ToGetServerIdentityOutput() GetServerIdentityOutput

func (GetServerIdentityArgs) ToGetServerIdentityOutputWithContext

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

type GetServerIdentityArray

type GetServerIdentityArray []GetServerIdentityInput

func (GetServerIdentityArray) ElementType

func (GetServerIdentityArray) ElementType() reflect.Type

func (GetServerIdentityArray) ToGetServerIdentityArrayOutput

func (i GetServerIdentityArray) ToGetServerIdentityArrayOutput() GetServerIdentityArrayOutput

func (GetServerIdentityArray) ToGetServerIdentityArrayOutputWithContext

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

type GetServerIdentityArrayInput

type GetServerIdentityArrayInput interface {
	pulumi.Input

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

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

GetServerIdentityArray{ GetServerIdentityArgs{...} }

type GetServerIdentityArrayOutput

type GetServerIdentityArrayOutput struct{ *pulumi.OutputState }

func (GetServerIdentityArrayOutput) ElementType

func (GetServerIdentityArrayOutput) Index

func (GetServerIdentityArrayOutput) ToGetServerIdentityArrayOutput

func (o GetServerIdentityArrayOutput) ToGetServerIdentityArrayOutput() GetServerIdentityArrayOutput

func (GetServerIdentityArrayOutput) ToGetServerIdentityArrayOutputWithContext

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

type GetServerIdentityInput

type GetServerIdentityInput interface {
	pulumi.Input

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

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

GetServerIdentityArgs{...}

type GetServerIdentityOutput

type GetServerIdentityOutput struct{ *pulumi.OutputState }

func (GetServerIdentityOutput) ElementType

func (GetServerIdentityOutput) ElementType() reflect.Type

func (GetServerIdentityOutput) PrincipalId

The ID of the System Managed Service Principal assigned to the PostgreSQL Server.

func (GetServerIdentityOutput) TenantId

The ID of the Tenant of the System Managed Service Principal assigned to the PostgreSQL Server.

func (GetServerIdentityOutput) ToGetServerIdentityOutput

func (o GetServerIdentityOutput) ToGetServerIdentityOutput() GetServerIdentityOutput

func (GetServerIdentityOutput) ToGetServerIdentityOutputWithContext

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

func (GetServerIdentityOutput) Type

The identity type of the Managed Identity assigned to the PostgreSQL Server.

type LookupFlexibleServerArgs

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

A collection of arguments for invoking getFlexibleServer.

type LookupFlexibleServerOutputArgs

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

A collection of arguments for invoking getFlexibleServer.

func (LookupFlexibleServerOutputArgs) ElementType

type LookupFlexibleServerResult

type LookupFlexibleServerResult struct {
	// The Administrator login for the PostgreSQL Flexible Server.
	AdministratorLogin string `pulumi:"administratorLogin"`
	// Is the storage auto grow for PostgreSQL Flexible Server enabled?
	AutoGrowEnabled bool `pulumi:"autoGrowEnabled"`
	// The backup retention days for the PostgreSQL Flexible Server.
	BackupRetentionDays int `pulumi:"backupRetentionDays"`
	// The ID of the virtual network subnet to create the PostgreSQL Flexible Server.
	DelegatedSubnetId string `pulumi:"delegatedSubnetId"`
	// The FQDN of the PostgreSQL Flexible Server.
	Fqdn string `pulumi:"fqdn"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The Azure Region where the PostgreSQL Flexible Server exists.
	Location string `pulumi:"location"`
	Name     string `pulumi:"name"`
	// Is public network access enabled?
	PublicNetworkAccessEnabled bool   `pulumi:"publicNetworkAccessEnabled"`
	ResourceGroupName          string `pulumi:"resourceGroupName"`
	// The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the `tier` + `name` pattern (e.g. `B_Standard_B1ms`, `GP_Standard_D2s_v3`, `MO_Standard_E4s_v3`).
	SkuName string `pulumi:"skuName"`
	// The max storage allowed for the PostgreSQL Flexible Server.
	StorageMb int `pulumi:"storageMb"`
	// A mapping of tags assigned to the PostgreSQL Flexible Server.
	Tags map[string]string `pulumi:"tags"`
	// The version of PostgreSQL Flexible Server to use.
	Version string `pulumi:"version"`
}

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 PostgreSQL Flexible Server.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := postgresql.LookupFlexibleServer(ctx, &postgresql.LookupFlexibleServerArgs{
			Name:              "existing-postgresql-fs",
			ResourceGroupName: "existing-postgresql-resgroup",
		}, 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 for the PostgreSQL Flexible Server.

func (LookupFlexibleServerResultOutput) AutoGrowEnabled added in v5.52.0

Is the storage auto grow for PostgreSQL Flexible Server enabled?

func (LookupFlexibleServerResultOutput) BackupRetentionDays

func (o LookupFlexibleServerResultOutput) BackupRetentionDays() pulumi.IntOutput

The backup retention days for the PostgreSQL Flexible Server.

func (LookupFlexibleServerResultOutput) DelegatedSubnetId

The ID of the virtual network subnet to create the PostgreSQL Flexible Server.

func (LookupFlexibleServerResultOutput) ElementType

func (LookupFlexibleServerResultOutput) Fqdn

The FQDN of the PostgreSQL Flexible Server.

func (LookupFlexibleServerResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupFlexibleServerResultOutput) Location

The Azure Region where the PostgreSQL Flexible Server exists.

func (LookupFlexibleServerResultOutput) Name

func (LookupFlexibleServerResultOutput) PublicNetworkAccessEnabled

func (o LookupFlexibleServerResultOutput) PublicNetworkAccessEnabled() pulumi.BoolOutput

Is public network access enabled?

func (LookupFlexibleServerResultOutput) ResourceGroupName

func (LookupFlexibleServerResultOutput) SkuName

The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the `tier` + `name` pattern (e.g. `B_Standard_B1ms`, `GP_Standard_D2s_v3`, `MO_Standard_E4s_v3`).

func (LookupFlexibleServerResultOutput) StorageMb

The max storage allowed for the PostgreSQL Flexible Server.

func (LookupFlexibleServerResultOutput) Tags

A mapping of tags assigned to the PostgreSQL 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 PostgreSQL Flexible Server to use.

type LookupServerArgs

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

A collection of arguments for invoking getServer.

type LookupServerOutputArgs

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

A collection of arguments for invoking getServer.

func (LookupServerOutputArgs) ElementType

func (LookupServerOutputArgs) ElementType() reflect.Type

type LookupServerResult

type LookupServerResult struct {
	// The administrator username of the PostgreSQL Server.
	AdministratorLogin string `pulumi:"administratorLogin"`
	// The fully qualified domain name of the PostgreSQL Server.
	Fqdn string `pulumi:"fqdn"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// An `identity` block as defined below.
	Identities []GetServerIdentity `pulumi:"identities"`
	// The location of the Resource Group in which the PostgreSQL Server exists.
	Location          string `pulumi:"location"`
	Name              string `pulumi:"name"`
	ResourceGroupName string `pulumi:"resourceGroupName"`
	// The SKU name of the PostgreSQL Server.
	SkuName string `pulumi:"skuName"`
	// A mapping of tags assigned to the resource.
	Tags map[string]string `pulumi:"tags"`
	// The version of the PostgreSQL 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 PostgreSQL Azure Database Server.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := postgresql.LookupServer(ctx, &postgresql.LookupServerArgs{
			Name:              "postgresql-server-1",
			ResourceGroupName: "api-rg-pro",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("postgresqlServerId", 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 username of the PostgreSQL Server.

func (LookupServerResultOutput) ElementType

func (LookupServerResultOutput) ElementType() reflect.Type

func (LookupServerResultOutput) Fqdn

The fully qualified domain name of the PostgreSQL Server.

func (LookupServerResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupServerResultOutput) Identities

An `identity` block as defined below.

func (LookupServerResultOutput) Location

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

func (LookupServerResultOutput) Name

func (LookupServerResultOutput) ResourceGroupName

func (o LookupServerResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupServerResultOutput) SkuName

The SKU name of the PostgreSQL Server.

func (LookupServerResultOutput) Tags

A mapping of tags assigned to the resource.

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 the PostgreSQL Server.

type Server

type Server struct {
	pulumi.CustomResourceState

	// The Administrator login for the PostgreSQL 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 PostgreSQL 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 PostgreSQL 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 support for the Basic tier. Changing this forces a new resource to be created.
	GeoRedundantBackupEnabled pulumi.BoolPtrOutput `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.
	//
	// > **NOTE:** This property is currently still in development and not supported by Microsoft. If the `infrastructureEncryptionEnabled` attribute is set to `true` the PostgreSQL instance will incur a substantial performance degradation due to a second encryption pass on top of the existing default encryption that is already provided by Azure Storage. It is strongly suggested to leave this value `false` as not doing so can lead to unclear error messages.
	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 PostgreSQL Server. Changing this forces a new resource to be created.
	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 PostgreSQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// When `createMode` is `PointInTimeRestore` 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 PostgreSQL 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/rest/api/postgresql/singleserver/servers/create#sku). 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`.
	//
	// > **NOTE:** When replication is set up and `skuName` is changed to a higher tier or more capacity for the primary, all replicas are scaled up to the same tier/capacity. This is an Azure requirement, for more information see the [replica scaling documentation](https://docs.microsoft.com/azure/postgresql/concepts-read-replicas#scaling)
	SkuName pulumi.StringOutput `pulumi:"skuName"`
	// Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.
	//
	// > **NOTE:** `sslMinimalTlsVersionEnforced` must be set to `TLSEnforcementDisabled` when `sslEnforcementEnabled` is set to `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/postgresql/concepts-pricing-tiers#storage).
	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 PostgreSQL to use. Valid values are `9.5`, `9.6`, `10`, `10.0`, `10.2` and `11`. Changing this forces a new resource to be created.
	Version pulumi.StringOutput `pulumi:"version"`
}

Manages a PostgreSQL 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/postgresql"
"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 = postgresql.NewServer(ctx, "example", &postgresql.ServerArgs{
			Name:                         pulumi.String("example-psqlserver"),
			Location:                     example.Location,
			ResourceGroupName:            example.Name,
			AdministratorLogin:           pulumi.String("psqladmin"),
			AdministratorLoginPassword:   pulumi.String("H@Sh1CoR3!"),
			SkuName:                      pulumi.String("GP_Gen5_4"),
			Version:                      pulumi.String("11"),
			StorageMb:                    pulumi.Int(640000),
			BackupRetentionDays:          pulumi.Int(7),
			GeoRedundantBackupEnabled:    pulumi.Bool(true),
			AutoGrowEnabled:              pulumi.Bool(true),
			PublicNetworkAccessEnabled:   pulumi.Bool(false),
			SslEnforcementEnabled:        pulumi.Bool(true),
			SslMinimalTlsVersionEnforced: pulumi.String("TLS1_2"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:postgresql/server:Server server1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforPostgreSQL/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 PostgreSQL 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 PostgreSQL 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 support for the Basic tier. Changing this forces a new resource to be created.
	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.
	//
	// > **NOTE:** This property is currently still in development and not supported by Microsoft. If the `infrastructureEncryptionEnabled` attribute is set to `true` the PostgreSQL instance will incur a substantial performance degradation due to a second encryption pass on top of the existing default encryption that is already provided by Azure Storage. It is strongly suggested to leave this value `false` as not doing so can lead to unclear error messages.
	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 PostgreSQL Server. Changing this forces a new resource to be created.
	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 PostgreSQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// When `createMode` is `PointInTimeRestore` 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 PostgreSQL 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/rest/api/postgresql/singleserver/servers/create#sku). 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`.
	//
	// > **NOTE:** When replication is set up and `skuName` is changed to a higher tier or more capacity for the primary, all replicas are scaled up to the same tier/capacity. This is an Azure requirement, for more information see the [replica scaling documentation](https://docs.microsoft.com/azure/postgresql/concepts-read-replicas#scaling)
	SkuName pulumi.StringInput
	// Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.
	//
	// > **NOTE:** `sslMinimalTlsVersionEnforced` must be set to `TLSEnforcementDisabled` when `sslEnforcementEnabled` is set to `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/postgresql/concepts-pricing-tiers#storage).
	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 PostgreSQL to use. Valid values are `9.5`, `9.6`, `10`, `10.0`, `10.2` and `11`. 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 PostgreSQL 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 PostgreSQL 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 PostgreSQL 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 PostgreSQL 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 PostgreSQL Server. Changing this forces a new resource to be created.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
}

Manages a Customer Managed Key for a PostgreSQL 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/keyvault"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/postgresql"
"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 := postgresql.NewServer(ctx, "example", &postgresql.ServerArgs{
			Name:                       pulumi.String("example-postgre-server"),
			Location:                   example.Location,
			ResourceGroupName:          example.Name,
			AdministratorLogin:         pulumi.String("psqladmin"),
			AdministratorLoginPassword: pulumi.String("H@Sh1CoR3!"),
			SkuName:                    pulumi.String("GP_Gen5_2"),
			Version:                    pulumi.String("11"),
			StorageMb:                  pulumi.Int(51200),
			SslEnforcementEnabled:      pulumi.Bool(true),
			Identity: &postgresql.ServerIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		_, err = keyvault.NewAccessPolicy(ctx, "server", &keyvault.AccessPolicyArgs{
			KeyVaultId: exampleKeyVault.ID(),
			TenantId:   pulumi.String(current.TenantId),
			ObjectId: exampleServer.Identity.ApplyT(func(identity postgresql.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
		}
		_, 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"),
			},
		})
		if err != nil {
			return err
		}
		_, err = postgresql.NewServerKey(ctx, "example", &postgresql.ServerKeyArgs{
			ServerId:      exampleServer.ID(),
			KeyVaultKeyId: exampleKey.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:postgresql/serverKey:ServerKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DBforPostgreSQL/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 PostgreSQL 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 PostgreSQL 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 PostgreSQL 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 PostgreSQL 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 PostgreSQL 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 PostgreSQL Server.

func (ServerOutput) GeoRedundantBackupEnabled added in v5.5.0

func (o ServerOutput) GeoRedundantBackupEnabled() pulumi.BoolPtrOutput

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 support for the Basic tier. Changing this forces a new resource to be created.

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.

> **NOTE:** This property is currently still in development and not supported by Microsoft. If the `infrastructureEncryptionEnabled` attribute is set to `true` the PostgreSQL instance will incur a substantial performance degradation due to a second encryption pass on top of the existing default encryption that is already provided by Azure Storage. It is strongly suggested to leave this value `false` as not doing so can lead to unclear error messages.

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 PostgreSQL Server. Changing this forces a new resource to be created.

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 PostgreSQL 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` 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 PostgreSQL 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/rest/api/postgresql/singleserver/servers/create#sku). 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`.

> **NOTE:** When replication is set up and `skuName` is changed to a higher tier or more capacity for the primary, all replicas are scaled up to the same tier/capacity. This is an Azure requirement, for more information see the [replica scaling documentation](https://docs.microsoft.com/azure/postgresql/concepts-read-replicas#scaling)

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

> **NOTE:** `sslMinimalTlsVersionEnforced` must be set to `TLSEnforcementDisabled` when `sslEnforcementEnabled` is set to `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/postgresql/concepts-pricing-tiers#storage).

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 PostgreSQL to use. Valid values are `9.5`, `9.6`, `10`, `10.0`, `10.2` and `11`. Changing this forces a new resource to be created.

type ServerState

type ServerState struct {
	// The Administrator login for the PostgreSQL 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 PostgreSQL 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 PostgreSQL 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 support for the Basic tier. Changing this forces a new resource to be created.
	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.
	//
	// > **NOTE:** This property is currently still in development and not supported by Microsoft. If the `infrastructureEncryptionEnabled` attribute is set to `true` the PostgreSQL instance will incur a substantial performance degradation due to a second encryption pass on top of the existing default encryption that is already provided by Azure Storage. It is strongly suggested to leave this value `false` as not doing so can lead to unclear error messages.
	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 PostgreSQL Server. Changing this forces a new resource to be created.
	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 PostgreSQL Server. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// When `createMode` is `PointInTimeRestore` 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 PostgreSQL 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/rest/api/postgresql/singleserver/servers/create#sku). 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`.
	//
	// > **NOTE:** When replication is set up and `skuName` is changed to a higher tier or more capacity for the primary, all replicas are scaled up to the same tier/capacity. This is an Azure requirement, for more information see the [replica scaling documentation](https://docs.microsoft.com/azure/postgresql/concepts-read-replicas#scaling)
	SkuName pulumi.StringPtrInput
	// Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.
	//
	// > **NOTE:** `sslMinimalTlsVersionEnforced` must be set to `TLSEnforcementDisabled` when `sslEnforcementEnabled` is set to `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/postgresql/concepts-pricing-tiers#storage).
	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 PostgreSQL to use. Valid values are `9.5`, `9.6`, `10`, `10.0`, `10.2` and `11`. 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

	// Should the Virtual Network Rule be created before the Subnet has the Virtual Network Service Endpoint enabled?
	IgnoreMissingVnetServiceEndpoint pulumi.BoolPtrOutput `pulumi:"ignoreMissingVnetServiceEndpoint"`
	// The name of the PostgreSQL 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 PostgreSQL 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 PostgreSQL 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 PostgreSQL server will be connected to.
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
}

Manages a PostgreSQL Virtual Network Rule.

> **NOTE:** PostgreSQL Virtual Network Rules [can only be used with SKU Tiers of `GeneralPurpose` or `MemoryOptimized`](https://docs.microsoft.com/azure/postgresql/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/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/postgresql"
"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 := postgresql.NewServer(ctx, "example", &postgresql.ServerArgs{
			Name:                       pulumi.String("postgresql-server-1"),
			Location:                   example.Location,
			ResourceGroupName:          example.Name,
			SkuName:                    pulumi.String("GP_Gen5_2"),
			StorageMb:                  pulumi.Int(5120),
			BackupRetentionDays:        pulumi.Int(7),
			AdministratorLogin:         pulumi.String("psqladmin"),
			AdministratorLoginPassword: pulumi.String("H@Sh1CoR3!"),
			Version:                    pulumi.String("9.5"),
			SslEnforcementEnabled:      pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = postgresql.NewVirtualNetworkRule(ctx, "example", &postgresql.VirtualNetworkRuleArgs{
			Name:                             pulumi.String("postgresql-vnet-rule"),
			ResourceGroupName:                example.Name,
			ServerName:                       exampleServer.Name,
			SubnetId:                         internal.ID(),
			IgnoreMissingVnetServiceEndpoint: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:postgresql/virtualNetworkRule:VirtualNetworkRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforPostgreSQL/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 {
	// Should the Virtual Network Rule be created before the Subnet has the Virtual Network Service Endpoint enabled?
	IgnoreMissingVnetServiceEndpoint pulumi.BoolPtrInput
	// The name of the PostgreSQL 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 PostgreSQL server resides. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The name of the SQL Server to which this PostgreSQL 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 PostgreSQL server will be connected to.
	SubnetId pulumi.StringInput
}

The set of arguments for constructing a VirtualNetworkRule resource.

func (VirtualNetworkRuleArgs) ElementType

func (VirtualNetworkRuleArgs) ElementType() reflect.Type

type VirtualNetworkRuleArray

type VirtualNetworkRuleArray []VirtualNetworkRuleInput

func (VirtualNetworkRuleArray) ElementType

func (VirtualNetworkRuleArray) ElementType() reflect.Type

func (VirtualNetworkRuleArray) ToVirtualNetworkRuleArrayOutput

func (i VirtualNetworkRuleArray) ToVirtualNetworkRuleArrayOutput() VirtualNetworkRuleArrayOutput

func (VirtualNetworkRuleArray) ToVirtualNetworkRuleArrayOutputWithContext

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

type VirtualNetworkRuleArrayInput

type VirtualNetworkRuleArrayInput interface {
	pulumi.Input

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

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

VirtualNetworkRuleArray{ VirtualNetworkRuleArgs{...} }

type VirtualNetworkRuleArrayOutput

type VirtualNetworkRuleArrayOutput struct{ *pulumi.OutputState }

func (VirtualNetworkRuleArrayOutput) ElementType

func (VirtualNetworkRuleArrayOutput) Index

func (VirtualNetworkRuleArrayOutput) ToVirtualNetworkRuleArrayOutput

func (o VirtualNetworkRuleArrayOutput) ToVirtualNetworkRuleArrayOutput() VirtualNetworkRuleArrayOutput

func (VirtualNetworkRuleArrayOutput) ToVirtualNetworkRuleArrayOutputWithContext

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

type VirtualNetworkRuleInput

type VirtualNetworkRuleInput interface {
	pulumi.Input

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

type VirtualNetworkRuleMap

type VirtualNetworkRuleMap map[string]VirtualNetworkRuleInput

func (VirtualNetworkRuleMap) ElementType

func (VirtualNetworkRuleMap) ElementType() reflect.Type

func (VirtualNetworkRuleMap) ToVirtualNetworkRuleMapOutput

func (i VirtualNetworkRuleMap) ToVirtualNetworkRuleMapOutput() VirtualNetworkRuleMapOutput

func (VirtualNetworkRuleMap) ToVirtualNetworkRuleMapOutputWithContext

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

type VirtualNetworkRuleMapInput

type VirtualNetworkRuleMapInput interface {
	pulumi.Input

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

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

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

type VirtualNetworkRuleMapOutput

type VirtualNetworkRuleMapOutput struct{ *pulumi.OutputState }

func (VirtualNetworkRuleMapOutput) ElementType

func (VirtualNetworkRuleMapOutput) MapIndex

func (VirtualNetworkRuleMapOutput) ToVirtualNetworkRuleMapOutput

func (o VirtualNetworkRuleMapOutput) ToVirtualNetworkRuleMapOutput() VirtualNetworkRuleMapOutput

func (VirtualNetworkRuleMapOutput) ToVirtualNetworkRuleMapOutputWithContext

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

type VirtualNetworkRuleOutput

type VirtualNetworkRuleOutput struct{ *pulumi.OutputState }

func (VirtualNetworkRuleOutput) ElementType

func (VirtualNetworkRuleOutput) ElementType() reflect.Type

func (VirtualNetworkRuleOutput) IgnoreMissingVnetServiceEndpoint added in v5.5.0

func (o VirtualNetworkRuleOutput) IgnoreMissingVnetServiceEndpoint() pulumi.BoolPtrOutput

Should the Virtual Network Rule be created before the Subnet has the Virtual Network Service Endpoint enabled?

func (VirtualNetworkRuleOutput) Name added in v5.5.0

The name of the PostgreSQL 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 PostgreSQL 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 PostgreSQL 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 PostgreSQL server will be connected to.

func (VirtualNetworkRuleOutput) ToVirtualNetworkRuleOutput

func (o VirtualNetworkRuleOutput) ToVirtualNetworkRuleOutput() VirtualNetworkRuleOutput

func (VirtualNetworkRuleOutput) ToVirtualNetworkRuleOutputWithContext

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

type VirtualNetworkRuleState

type VirtualNetworkRuleState struct {
	// Should the Virtual Network Rule be created before the Subnet has the Virtual Network Service Endpoint enabled?
	IgnoreMissingVnetServiceEndpoint pulumi.BoolPtrInput
	// The name of the PostgreSQL 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 PostgreSQL server resides. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The name of the SQL Server to which this PostgreSQL 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 PostgreSQL server will be connected to.
	SubnetId pulumi.StringPtrInput
}

func (VirtualNetworkRuleState) ElementType

func (VirtualNetworkRuleState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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