postgresql

package
v4.32.0 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2021 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/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
		}
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := postgresql.NewServer(ctx, "exampleServer", &postgresql.ServerArgs{
			ResourceGroupName:          exampleResourceGroup.Name,
			Location:                   exampleResourceGroup.Location,
			Version:                    pulumi.String("9.6"),
			AdministratorLogin:         pulumi.String("4dm1n157r470r"),
			AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
		})
		if err != nil {
			return err
		}
		_, err = postgresql.NewActiveDirectoryAdministrator(ctx, "exampleActiveDirectoryAdministrator", &postgresql.ActiveDirectoryAdministratorArgs{
			ServerName:        exampleServer.Name,
			ResourceGroupName: exampleResourceGroup.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/administrators/activeDirectory

```

func GetActiveDirectoryAdministrator

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

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

func NewActiveDirectoryAdministrator

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

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

func (*ActiveDirectoryAdministrator) ElementType

func (*ActiveDirectoryAdministrator) ElementType() reflect.Type

func (*ActiveDirectoryAdministrator) ToActiveDirectoryAdministratorOutput

func (i *ActiveDirectoryAdministrator) ToActiveDirectoryAdministratorOutput() ActiveDirectoryAdministratorOutput

func (*ActiveDirectoryAdministrator) ToActiveDirectoryAdministratorOutputWithContext

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

func (*ActiveDirectoryAdministrator) ToActiveDirectoryAdministratorPtrOutput

func (i *ActiveDirectoryAdministrator) ToActiveDirectoryAdministratorPtrOutput() ActiveDirectoryAdministratorPtrOutput

func (*ActiveDirectoryAdministrator) ToActiveDirectoryAdministratorPtrOutputWithContext

func (i *ActiveDirectoryAdministrator) ToActiveDirectoryAdministratorPtrOutputWithContext(ctx context.Context) ActiveDirectoryAdministratorPtrOutput

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

func (o ActiveDirectoryAdministratorOutput) ToActiveDirectoryAdministratorOutput() ActiveDirectoryAdministratorOutput

func (ActiveDirectoryAdministratorOutput) ToActiveDirectoryAdministratorOutputWithContext

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

func (ActiveDirectoryAdministratorOutput) ToActiveDirectoryAdministratorPtrOutput

func (o ActiveDirectoryAdministratorOutput) ToActiveDirectoryAdministratorPtrOutput() ActiveDirectoryAdministratorPtrOutput

func (ActiveDirectoryAdministratorOutput) ToActiveDirectoryAdministratorPtrOutputWithContext

func (o ActiveDirectoryAdministratorOutput) ToActiveDirectoryAdministratorPtrOutputWithContext(ctx context.Context) ActiveDirectoryAdministratorPtrOutput

type ActiveDirectoryAdministratorPtrInput

type ActiveDirectoryAdministratorPtrInput interface {
	pulumi.Input

	ToActiveDirectoryAdministratorPtrOutput() ActiveDirectoryAdministratorPtrOutput
	ToActiveDirectoryAdministratorPtrOutputWithContext(ctx context.Context) ActiveDirectoryAdministratorPtrOutput
}

type ActiveDirectoryAdministratorPtrOutput

type ActiveDirectoryAdministratorPtrOutput struct{ *pulumi.OutputState }

func (ActiveDirectoryAdministratorPtrOutput) Elem added in v4.20.0

func (ActiveDirectoryAdministratorPtrOutput) ElementType

func (ActiveDirectoryAdministratorPtrOutput) ToActiveDirectoryAdministratorPtrOutput

func (o ActiveDirectoryAdministratorPtrOutput) ToActiveDirectoryAdministratorPtrOutput() ActiveDirectoryAdministratorPtrOutput

func (ActiveDirectoryAdministratorPtrOutput) ToActiveDirectoryAdministratorPtrOutputWithContext

func (o ActiveDirectoryAdministratorPtrOutput) ToActiveDirectoryAdministratorPtrOutputWithContext(ctx context.Context) ActiveDirectoryAdministratorPtrOutput

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := postgresql.NewServer(ctx, "exampleServer", &postgresql.ServerArgs{
			Location:                   exampleResourceGroup.Location,
			ResourceGroupName:          exampleResourceGroup.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, "exampleConfiguration", &postgresql.ConfigurationArgs{
			Name:              pulumi.String("backslash_quote"),
			ResourceGroupName: exampleResourceGroup.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

func (*Configuration) ToConfigurationPtrOutput

func (i *Configuration) ToConfigurationPtrOutput() ConfigurationPtrOutput

func (*Configuration) ToConfigurationPtrOutputWithContext

func (i *Configuration) ToConfigurationPtrOutputWithContext(ctx context.Context) ConfigurationPtrOutput

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.
	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) ToConfigurationOutput

func (o ConfigurationOutput) ToConfigurationOutput() ConfigurationOutput

func (ConfigurationOutput) ToConfigurationOutputWithContext

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

func (ConfigurationOutput) ToConfigurationPtrOutput

func (o ConfigurationOutput) ToConfigurationPtrOutput() ConfigurationPtrOutput

func (ConfigurationOutput) ToConfigurationPtrOutputWithContext

func (o ConfigurationOutput) ToConfigurationPtrOutputWithContext(ctx context.Context) ConfigurationPtrOutput

type ConfigurationPtrInput

type ConfigurationPtrInput interface {
	pulumi.Input

	ToConfigurationPtrOutput() ConfigurationPtrOutput
	ToConfigurationPtrOutputWithContext(ctx context.Context) ConfigurationPtrOutput
}

type ConfigurationPtrOutput

type ConfigurationPtrOutput struct{ *pulumi.OutputState }

func (ConfigurationPtrOutput) Elem added in v4.20.0

func (ConfigurationPtrOutput) ElementType

func (ConfigurationPtrOutput) ElementType() reflect.Type

func (ConfigurationPtrOutput) ToConfigurationPtrOutput

func (o ConfigurationPtrOutput) ToConfigurationPtrOutput() ConfigurationPtrOutput

func (ConfigurationPtrOutput) ToConfigurationPtrOutputWithContext

func (o ConfigurationPtrOutput) ToConfigurationPtrOutputWithContext(ctx context.Context) ConfigurationPtrOutput

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

Manages a PostgreSQL Database within a PostgreSQL Server

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := postgresql.NewServer(ctx, "exampleServer", &postgresql.ServerArgs{
			Location:                   exampleResourceGroup.Location,
			ResourceGroupName:          exampleResourceGroup.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, "exampleDatabase", &postgresql.DatabaseArgs{
			ResourceGroupName: exampleResourceGroup.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

func (*Database) ToDatabasePtrOutput

func (i *Database) ToDatabasePtrOutput() DatabasePtrOutput

func (*Database) ToDatabasePtrOutputWithContext

func (i *Database) ToDatabasePtrOutputWithContext(ctx context.Context) DatabasePtrOutput

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

func (DatabaseOutput) ElementType() reflect.Type

func (DatabaseOutput) ToDatabaseOutput

func (o DatabaseOutput) ToDatabaseOutput() DatabaseOutput

func (DatabaseOutput) ToDatabaseOutputWithContext

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

func (DatabaseOutput) ToDatabasePtrOutput

func (o DatabaseOutput) ToDatabasePtrOutput() DatabasePtrOutput

func (DatabaseOutput) ToDatabasePtrOutputWithContext

func (o DatabaseOutput) ToDatabasePtrOutputWithContext(ctx context.Context) DatabasePtrOutput

type DatabasePtrInput

type DatabasePtrInput interface {
	pulumi.Input

	ToDatabasePtrOutput() DatabasePtrOutput
	ToDatabasePtrOutputWithContext(ctx context.Context) DatabasePtrOutput
}

type DatabasePtrOutput

type DatabasePtrOutput struct{ *pulumi.OutputState }

func (DatabasePtrOutput) Elem added in v4.20.0

func (DatabasePtrOutput) ElementType

func (DatabasePtrOutput) ElementType() reflect.Type

func (DatabasePtrOutput) ToDatabasePtrOutput

func (o DatabasePtrOutput) ToDatabasePtrOutput() DatabasePtrOutput

func (DatabasePtrOutput) ToDatabasePtrOutputWithContext

func (o DatabasePtrOutput) ToDatabasePtrOutputWithContext(ctx context.Context) DatabasePtrOutput

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := postgresql.NewServer(ctx, "exampleServer", nil)
		if err != nil {
			return err
		}
		_, err = postgresql.NewFirewallRule(ctx, "exampleFirewallRule", &postgresql.FirewallRuleArgs{
			ResourceGroupName: exampleResourceGroup.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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/postgresql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := postgresql.NewServer(ctx, "exampleServer", nil)
		if err != nil {
			return err
		}
		_, err = postgresql.NewFirewallRule(ctx, "exampleFirewallRule", &postgresql.FirewallRuleArgs{
			ResourceGroupName: exampleResourceGroup.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

func (*FirewallRule) ToFirewallRulePtrOutput

func (i *FirewallRule) ToFirewallRulePtrOutput() FirewallRulePtrOutput

func (*FirewallRule) ToFirewallRulePtrOutputWithContext

func (i *FirewallRule) ToFirewallRulePtrOutputWithContext(ctx context.Context) FirewallRulePtrOutput

type FirewallRuleArgs

type FirewallRuleArgs struct {
	// Specifies the End IP Address associated with this Firewall Rule. Changing this forces a new resource to be created.
	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) ToFirewallRuleOutput

func (o FirewallRuleOutput) ToFirewallRuleOutput() FirewallRuleOutput

func (FirewallRuleOutput) ToFirewallRuleOutputWithContext

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

func (FirewallRuleOutput) ToFirewallRulePtrOutput

func (o FirewallRuleOutput) ToFirewallRulePtrOutput() FirewallRulePtrOutput

func (FirewallRuleOutput) ToFirewallRulePtrOutputWithContext

func (o FirewallRuleOutput) ToFirewallRulePtrOutputWithContext(ctx context.Context) FirewallRulePtrOutput

type FirewallRulePtrInput

type FirewallRulePtrInput interface {
	pulumi.Input

	ToFirewallRulePtrOutput() FirewallRulePtrOutput
	ToFirewallRulePtrOutputWithContext(ctx context.Context) FirewallRulePtrOutput
}

type FirewallRulePtrOutput

type FirewallRulePtrOutput struct{ *pulumi.OutputState }

func (FirewallRulePtrOutput) Elem added in v4.20.0

func (FirewallRulePtrOutput) ElementType

func (FirewallRulePtrOutput) ElementType() reflect.Type

func (FirewallRulePtrOutput) ToFirewallRulePtrOutput

func (o FirewallRulePtrOutput) ToFirewallRulePtrOutput() FirewallRulePtrOutput

func (FirewallRulePtrOutput) ToFirewallRulePtrOutputWithContext

func (o FirewallRulePtrOutput) ToFirewallRulePtrOutputWithContext(ctx context.Context) FirewallRulePtrOutput

type FirewallRuleState

type FirewallRuleState struct {
	// Specifies the End IP Address associated with this Firewall Rule. Changing this forces a new resource to be created.
	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 added in v4.1.0

type FlexibleServer struct {
	pulumi.CustomResourceState

	// The Administrator Login for the PostgreSQL Flexible Server. Required when `createMode` is `Default`. Changing this forces a new PostgreSQL Flexible Server to be created.
	AdministratorLogin pulumi.StringOutput `pulumi:"administratorLogin"`
	// The Password associated with the `administratorLogin` for the PostgreSQL Flexible Server. Required when `createMode` is `Default`.
	AdministratorPassword pulumi.StringPtrOutput `pulumi:"administratorPassword"`
	// The backup retention days for the PostgreSQL Flexible Server. Possible values are between `7` and `35` days.
	BackupRetentionDays pulumi.IntOutput `pulumi:"backupRetentionDays"`
	// The status showing whether the data encryption is enabled with a customer-managed key.
	//
	// Deprecated: This attribute has been removed from the API and will be removed in version 3.0 of the provider.
	CmkEnabled pulumi.StringOutput `pulumi:"cmkEnabled"`
	// The creation mode which can be used to restore or replicate existing servers. Possible values are `Default` and `PointInTimeRestore`. Changing this forces a new PostgreSQL Flexible Server to be created.
	CreateMode pulumi.StringPtrOutput `pulumi:"createMode"`
	// 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"`
	// A `highAvailability` block as defined below.
	HighAvailability FlexibleServerHighAvailabilityPtrOutput `pulumi:"highAvailability"`
	// 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.
	Name pulumi.StringOutput `pulumi:"name"`
	// The point in time to restore from `creationSourceServerId` when `createMode` is `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. Changing this forces a new PostgreSQL Flexible Server to be created.
	PrivateDnsZoneId pulumi.StringOutput `pulumi:"privateDnsZoneId"`
	// Is public network access enabled?
	PublicNetworkAccessEnabled pulumi.BoolOutput `pulumi:"publicNetworkAccessEnabled"`
	// 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 `PointInTimeRestore`. 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`, `4194304`, `8388608`, `16777216`, and `33554432`.
	StorageMb pulumi.IntOutput `pulumi:"storageMb"`
	// 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` and `13`. Required when `createMode` is `Default`. Changing this forces a new PostgreSQL Flexible Server to be created.
	Version pulumi.StringOutput `pulumi:"version"`
	// The Availability Zone of the PostgreSQL Flexible Server. Possible values are `1`, `2` and `3`.
	Zone pulumi.StringPtrOutput `pulumi:"zone"`
}

Manages a PostgreSQL Flexible Server.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &network.VirtualNetworkArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "exampleSubnet", &network.SubnetArgs{
			ResourceGroupName:  exampleResourceGroup.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.2.0/24"),
			},
			ServiceEndpoints: pulumi.StringArray{
				pulumi.String("Microsoft.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, "exampleZone", &privatedns.ZoneArgs{
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		exampleZoneVirtualNetworkLink, err := privatedns.NewZoneVirtualNetworkLink(ctx, "exampleZoneVirtualNetworkLink", &privatedns.ZoneVirtualNetworkLinkArgs{
			PrivateDnsZoneName: exampleZone.Name,
			VirtualNetworkId:   exampleVirtualNetwork.ID(),
			ResourceGroupName:  exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = postgresql.NewFlexibleServer(ctx, "exampleFlexibleServer", &postgresql.FlexibleServerArgs{
			ResourceGroupName:     exampleResourceGroup.Name,
			Location:              exampleResourceGroup.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),
			SkuName:               pulumi.String("GP_Standard_D4s_v3"),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleZoneVirtualNetworkLink,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

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

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

func (*FlexibleServer) ElementType() reflect.Type

func (*FlexibleServer) ToFlexibleServerOutput added in v4.1.0

func (i *FlexibleServer) ToFlexibleServerOutput() FlexibleServerOutput

func (*FlexibleServer) ToFlexibleServerOutputWithContext added in v4.1.0

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

func (*FlexibleServer) ToFlexibleServerPtrOutput added in v4.1.0

func (i *FlexibleServer) ToFlexibleServerPtrOutput() FlexibleServerPtrOutput

func (*FlexibleServer) ToFlexibleServerPtrOutputWithContext added in v4.1.0

func (i *FlexibleServer) ToFlexibleServerPtrOutputWithContext(ctx context.Context) FlexibleServerPtrOutput

type FlexibleServerArgs added in v4.1.0

type FlexibleServerArgs struct {
	// The Administrator Login for the PostgreSQL Flexible Server. Required when `createMode` is `Default`. Changing this forces a new PostgreSQL Flexible Server to be created.
	AdministratorLogin pulumi.StringPtrInput
	// The Password associated with the `administratorLogin` for the PostgreSQL Flexible Server. Required when `createMode` is `Default`.
	AdministratorPassword pulumi.StringPtrInput
	// 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` and `PointInTimeRestore`. Changing this forces a new PostgreSQL Flexible Server to be created.
	CreateMode pulumi.StringPtrInput
	// 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
	// A `highAvailability` block as defined below.
	HighAvailability FlexibleServerHighAvailabilityPtrInput
	// 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.
	Name pulumi.StringPtrInput
	// The point in time to restore from `creationSourceServerId` when `createMode` is `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. Changing this forces a new PostgreSQL Flexible Server to be created.
	PrivateDnsZoneId 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 `PointInTimeRestore`. 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`, `4194304`, `8388608`, `16777216`, and `33554432`.
	StorageMb pulumi.IntPtrInput
	// 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` and `13`. Required when `createMode` is `Default`. Changing this forces a new PostgreSQL Flexible Server to be created.
	Version pulumi.StringPtrInput
	// The Availability Zone of the PostgreSQL Flexible Server. Possible values are `1`, `2` and `3`.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a FlexibleServer resource.

func (FlexibleServerArgs) ElementType added in v4.1.0

func (FlexibleServerArgs) ElementType() reflect.Type

type FlexibleServerArray added in v4.1.0

type FlexibleServerArray []FlexibleServerInput

func (FlexibleServerArray) ElementType added in v4.1.0

func (FlexibleServerArray) ElementType() reflect.Type

func (FlexibleServerArray) ToFlexibleServerArrayOutput added in v4.1.0

func (i FlexibleServerArray) ToFlexibleServerArrayOutput() FlexibleServerArrayOutput

func (FlexibleServerArray) ToFlexibleServerArrayOutputWithContext added in v4.1.0

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

type FlexibleServerArrayInput added in v4.1.0

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

type FlexibleServerArrayOutput struct{ *pulumi.OutputState }

func (FlexibleServerArrayOutput) ElementType added in v4.1.0

func (FlexibleServerArrayOutput) ElementType() reflect.Type

func (FlexibleServerArrayOutput) Index added in v4.1.0

func (FlexibleServerArrayOutput) ToFlexibleServerArrayOutput added in v4.1.0

func (o FlexibleServerArrayOutput) ToFlexibleServerArrayOutput() FlexibleServerArrayOutput

func (FlexibleServerArrayOutput) ToFlexibleServerArrayOutputWithContext added in v4.1.0

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

type FlexibleServerConfiguration added in v4.11.0

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleFlexibleServer, err := postgresql.NewFlexibleServer(ctx, "exampleFlexibleServer", &postgresql.FlexibleServerArgs{
			ResourceGroupName:     exampleResourceGroup.Name,
			Location:              exampleResourceGroup.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, "exampleFlexibleServerConfiguration", &postgresql.FlexibleServerConfigurationArgs{
			ServerId: exampleFlexibleServer.ID(),
			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/flexibleServerConfiguration:FlexibleServerConfiguration example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforPostgreSQL/flexibleServers/server1/configurations/configuration1

```

func GetFlexibleServerConfiguration added in v4.11.0

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

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

func (*FlexibleServerConfiguration) ElementType() reflect.Type

func (*FlexibleServerConfiguration) ToFlexibleServerConfigurationOutput added in v4.11.0

func (i *FlexibleServerConfiguration) ToFlexibleServerConfigurationOutput() FlexibleServerConfigurationOutput

func (*FlexibleServerConfiguration) ToFlexibleServerConfigurationOutputWithContext added in v4.11.0

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

func (*FlexibleServerConfiguration) ToFlexibleServerConfigurationPtrOutput added in v4.11.0

func (i *FlexibleServerConfiguration) ToFlexibleServerConfigurationPtrOutput() FlexibleServerConfigurationPtrOutput

func (*FlexibleServerConfiguration) ToFlexibleServerConfigurationPtrOutputWithContext added in v4.11.0

func (i *FlexibleServerConfiguration) ToFlexibleServerConfigurationPtrOutputWithContext(ctx context.Context) FlexibleServerConfigurationPtrOutput

type FlexibleServerConfigurationArgs added in v4.11.0

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

type FlexibleServerConfigurationArray added in v4.11.0

type FlexibleServerConfigurationArray []FlexibleServerConfigurationInput

func (FlexibleServerConfigurationArray) ElementType added in v4.11.0

func (FlexibleServerConfigurationArray) ToFlexibleServerConfigurationArrayOutput added in v4.11.0

func (i FlexibleServerConfigurationArray) ToFlexibleServerConfigurationArrayOutput() FlexibleServerConfigurationArrayOutput

func (FlexibleServerConfigurationArray) ToFlexibleServerConfigurationArrayOutputWithContext added in v4.11.0

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

type FlexibleServerConfigurationArrayInput added in v4.11.0

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

type FlexibleServerConfigurationArrayOutput struct{ *pulumi.OutputState }

func (FlexibleServerConfigurationArrayOutput) ElementType added in v4.11.0

func (FlexibleServerConfigurationArrayOutput) Index added in v4.11.0

func (FlexibleServerConfigurationArrayOutput) ToFlexibleServerConfigurationArrayOutput added in v4.11.0

func (o FlexibleServerConfigurationArrayOutput) ToFlexibleServerConfigurationArrayOutput() FlexibleServerConfigurationArrayOutput

func (FlexibleServerConfigurationArrayOutput) ToFlexibleServerConfigurationArrayOutputWithContext added in v4.11.0

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

type FlexibleServerConfigurationInput added in v4.11.0

type FlexibleServerConfigurationInput interface {
	pulumi.Input

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

type FlexibleServerConfigurationMap added in v4.11.0

type FlexibleServerConfigurationMap map[string]FlexibleServerConfigurationInput

func (FlexibleServerConfigurationMap) ElementType added in v4.11.0

func (FlexibleServerConfigurationMap) ToFlexibleServerConfigurationMapOutput added in v4.11.0

func (i FlexibleServerConfigurationMap) ToFlexibleServerConfigurationMapOutput() FlexibleServerConfigurationMapOutput

func (FlexibleServerConfigurationMap) ToFlexibleServerConfigurationMapOutputWithContext added in v4.11.0

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

type FlexibleServerConfigurationMapInput added in v4.11.0

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

type FlexibleServerConfigurationMapOutput struct{ *pulumi.OutputState }

func (FlexibleServerConfigurationMapOutput) ElementType added in v4.11.0

func (FlexibleServerConfigurationMapOutput) MapIndex added in v4.11.0

func (FlexibleServerConfigurationMapOutput) ToFlexibleServerConfigurationMapOutput added in v4.11.0

func (o FlexibleServerConfigurationMapOutput) ToFlexibleServerConfigurationMapOutput() FlexibleServerConfigurationMapOutput

func (FlexibleServerConfigurationMapOutput) ToFlexibleServerConfigurationMapOutputWithContext added in v4.11.0

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

type FlexibleServerConfigurationOutput added in v4.11.0

type FlexibleServerConfigurationOutput struct{ *pulumi.OutputState }

func (FlexibleServerConfigurationOutput) ElementType added in v4.11.0

func (FlexibleServerConfigurationOutput) ToFlexibleServerConfigurationOutput added in v4.11.0

func (o FlexibleServerConfigurationOutput) ToFlexibleServerConfigurationOutput() FlexibleServerConfigurationOutput

func (FlexibleServerConfigurationOutput) ToFlexibleServerConfigurationOutputWithContext added in v4.11.0

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

func (FlexibleServerConfigurationOutput) ToFlexibleServerConfigurationPtrOutput added in v4.11.0

func (o FlexibleServerConfigurationOutput) ToFlexibleServerConfigurationPtrOutput() FlexibleServerConfigurationPtrOutput

func (FlexibleServerConfigurationOutput) ToFlexibleServerConfigurationPtrOutputWithContext added in v4.11.0

func (o FlexibleServerConfigurationOutput) ToFlexibleServerConfigurationPtrOutputWithContext(ctx context.Context) FlexibleServerConfigurationPtrOutput

type FlexibleServerConfigurationPtrInput added in v4.11.0

type FlexibleServerConfigurationPtrInput interface {
	pulumi.Input

	ToFlexibleServerConfigurationPtrOutput() FlexibleServerConfigurationPtrOutput
	ToFlexibleServerConfigurationPtrOutputWithContext(ctx context.Context) FlexibleServerConfigurationPtrOutput
}

type FlexibleServerConfigurationPtrOutput added in v4.11.0

type FlexibleServerConfigurationPtrOutput struct{ *pulumi.OutputState }

func (FlexibleServerConfigurationPtrOutput) Elem added in v4.20.0

func (FlexibleServerConfigurationPtrOutput) ElementType added in v4.11.0

func (FlexibleServerConfigurationPtrOutput) ToFlexibleServerConfigurationPtrOutput added in v4.11.0

func (o FlexibleServerConfigurationPtrOutput) ToFlexibleServerConfigurationPtrOutput() FlexibleServerConfigurationPtrOutput

func (FlexibleServerConfigurationPtrOutput) ToFlexibleServerConfigurationPtrOutputWithContext added in v4.11.0

func (o FlexibleServerConfigurationPtrOutput) ToFlexibleServerConfigurationPtrOutputWithContext(ctx context.Context) FlexibleServerConfigurationPtrOutput

type FlexibleServerConfigurationState added in v4.11.0

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

type FlexibleServerDatabase added in v4.13.0

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"`
	// The name which should be used for this Azure PostgreSQL Flexible Server Database. 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"`
}

Manages a PostgreSQL Flexible Server Database.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleFlexibleServer, err := postgresql.NewFlexibleServer(ctx, "exampleFlexibleServer", &postgresql.FlexibleServerArgs{
			ResourceGroupName:     exampleResourceGroup.Name,
			Location:              exampleResourceGroup.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, "exampleFlexibleServerDatabase", &postgresql.FlexibleServerDatabaseArgs{
			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 added in v4.13.0

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

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

func (*FlexibleServerDatabase) ElementType() reflect.Type

func (*FlexibleServerDatabase) ToFlexibleServerDatabaseOutput added in v4.13.0

func (i *FlexibleServerDatabase) ToFlexibleServerDatabaseOutput() FlexibleServerDatabaseOutput

func (*FlexibleServerDatabase) ToFlexibleServerDatabaseOutputWithContext added in v4.13.0

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

func (*FlexibleServerDatabase) ToFlexibleServerDatabasePtrOutput added in v4.13.0

func (i *FlexibleServerDatabase) ToFlexibleServerDatabasePtrOutput() FlexibleServerDatabasePtrOutput

func (*FlexibleServerDatabase) ToFlexibleServerDatabasePtrOutputWithContext added in v4.13.0

func (i *FlexibleServerDatabase) ToFlexibleServerDatabasePtrOutputWithContext(ctx context.Context) FlexibleServerDatabasePtrOutput

type FlexibleServerDatabaseArgs added in v4.13.0

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
	// The name which should be used for this Azure PostgreSQL Flexible Server Database. 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 added in v4.13.0

func (FlexibleServerDatabaseArgs) ElementType() reflect.Type

type FlexibleServerDatabaseArray added in v4.13.0

type FlexibleServerDatabaseArray []FlexibleServerDatabaseInput

func (FlexibleServerDatabaseArray) ElementType added in v4.13.0

func (FlexibleServerDatabaseArray) ToFlexibleServerDatabaseArrayOutput added in v4.13.0

func (i FlexibleServerDatabaseArray) ToFlexibleServerDatabaseArrayOutput() FlexibleServerDatabaseArrayOutput

func (FlexibleServerDatabaseArray) ToFlexibleServerDatabaseArrayOutputWithContext added in v4.13.0

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

type FlexibleServerDatabaseArrayInput added in v4.13.0

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

type FlexibleServerDatabaseArrayOutput struct{ *pulumi.OutputState }

func (FlexibleServerDatabaseArrayOutput) ElementType added in v4.13.0

func (FlexibleServerDatabaseArrayOutput) Index added in v4.13.0

func (FlexibleServerDatabaseArrayOutput) ToFlexibleServerDatabaseArrayOutput added in v4.13.0

func (o FlexibleServerDatabaseArrayOutput) ToFlexibleServerDatabaseArrayOutput() FlexibleServerDatabaseArrayOutput

func (FlexibleServerDatabaseArrayOutput) ToFlexibleServerDatabaseArrayOutputWithContext added in v4.13.0

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

type FlexibleServerDatabaseInput added in v4.13.0

type FlexibleServerDatabaseInput interface {
	pulumi.Input

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

type FlexibleServerDatabaseMap added in v4.13.0

type FlexibleServerDatabaseMap map[string]FlexibleServerDatabaseInput

func (FlexibleServerDatabaseMap) ElementType added in v4.13.0

func (FlexibleServerDatabaseMap) ElementType() reflect.Type

func (FlexibleServerDatabaseMap) ToFlexibleServerDatabaseMapOutput added in v4.13.0

func (i FlexibleServerDatabaseMap) ToFlexibleServerDatabaseMapOutput() FlexibleServerDatabaseMapOutput

func (FlexibleServerDatabaseMap) ToFlexibleServerDatabaseMapOutputWithContext added in v4.13.0

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

type FlexibleServerDatabaseMapInput added in v4.13.0

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

type FlexibleServerDatabaseMapOutput struct{ *pulumi.OutputState }

func (FlexibleServerDatabaseMapOutput) ElementType added in v4.13.0

func (FlexibleServerDatabaseMapOutput) MapIndex added in v4.13.0

func (FlexibleServerDatabaseMapOutput) ToFlexibleServerDatabaseMapOutput added in v4.13.0

func (o FlexibleServerDatabaseMapOutput) ToFlexibleServerDatabaseMapOutput() FlexibleServerDatabaseMapOutput

func (FlexibleServerDatabaseMapOutput) ToFlexibleServerDatabaseMapOutputWithContext added in v4.13.0

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

type FlexibleServerDatabaseOutput added in v4.13.0

type FlexibleServerDatabaseOutput struct{ *pulumi.OutputState }

func (FlexibleServerDatabaseOutput) ElementType added in v4.13.0

func (FlexibleServerDatabaseOutput) ToFlexibleServerDatabaseOutput added in v4.13.0

func (o FlexibleServerDatabaseOutput) ToFlexibleServerDatabaseOutput() FlexibleServerDatabaseOutput

func (FlexibleServerDatabaseOutput) ToFlexibleServerDatabaseOutputWithContext added in v4.13.0

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

func (FlexibleServerDatabaseOutput) ToFlexibleServerDatabasePtrOutput added in v4.13.0

func (o FlexibleServerDatabaseOutput) ToFlexibleServerDatabasePtrOutput() FlexibleServerDatabasePtrOutput

func (FlexibleServerDatabaseOutput) ToFlexibleServerDatabasePtrOutputWithContext added in v4.13.0

func (o FlexibleServerDatabaseOutput) ToFlexibleServerDatabasePtrOutputWithContext(ctx context.Context) FlexibleServerDatabasePtrOutput

type FlexibleServerDatabasePtrInput added in v4.13.0

type FlexibleServerDatabasePtrInput interface {
	pulumi.Input

	ToFlexibleServerDatabasePtrOutput() FlexibleServerDatabasePtrOutput
	ToFlexibleServerDatabasePtrOutputWithContext(ctx context.Context) FlexibleServerDatabasePtrOutput
}

type FlexibleServerDatabasePtrOutput added in v4.13.0

type FlexibleServerDatabasePtrOutput struct{ *pulumi.OutputState }

func (FlexibleServerDatabasePtrOutput) Elem added in v4.20.0

func (FlexibleServerDatabasePtrOutput) ElementType added in v4.13.0

func (FlexibleServerDatabasePtrOutput) ToFlexibleServerDatabasePtrOutput added in v4.13.0

func (o FlexibleServerDatabasePtrOutput) ToFlexibleServerDatabasePtrOutput() FlexibleServerDatabasePtrOutput

func (FlexibleServerDatabasePtrOutput) ToFlexibleServerDatabasePtrOutputWithContext added in v4.13.0

func (o FlexibleServerDatabasePtrOutput) ToFlexibleServerDatabasePtrOutputWithContext(ctx context.Context) FlexibleServerDatabasePtrOutput

type FlexibleServerDatabaseState added in v4.13.0

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
	// The name which should be used for this Azure PostgreSQL Flexible Server Database. 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 added in v4.13.0

type FlexibleServerFirewallRule added in v4.7.0

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleFlexibleServer, err := postgresql.NewFlexibleServer(ctx, "exampleFlexibleServer", &postgresql.FlexibleServerArgs{
			ResourceGroupName:     exampleResourceGroup.Name,
			Location:              exampleResourceGroup.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, "exampleFlexibleServerFirewallRule", &postgresql.FlexibleServerFirewallRuleArgs{
			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 added in v4.7.0

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

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

func (*FlexibleServerFirewallRule) ElementType() reflect.Type

func (*FlexibleServerFirewallRule) ToFlexibleServerFirewallRuleOutput added in v4.7.0

func (i *FlexibleServerFirewallRule) ToFlexibleServerFirewallRuleOutput() FlexibleServerFirewallRuleOutput

func (*FlexibleServerFirewallRule) ToFlexibleServerFirewallRuleOutputWithContext added in v4.7.0

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

func (*FlexibleServerFirewallRule) ToFlexibleServerFirewallRulePtrOutput added in v4.7.0

func (i *FlexibleServerFirewallRule) ToFlexibleServerFirewallRulePtrOutput() FlexibleServerFirewallRulePtrOutput

func (*FlexibleServerFirewallRule) ToFlexibleServerFirewallRulePtrOutputWithContext added in v4.7.0

func (i *FlexibleServerFirewallRule) ToFlexibleServerFirewallRulePtrOutputWithContext(ctx context.Context) FlexibleServerFirewallRulePtrOutput

type FlexibleServerFirewallRuleArgs added in v4.7.0

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

type FlexibleServerFirewallRuleArray added in v4.7.0

type FlexibleServerFirewallRuleArray []FlexibleServerFirewallRuleInput

func (FlexibleServerFirewallRuleArray) ElementType added in v4.7.0

func (FlexibleServerFirewallRuleArray) ToFlexibleServerFirewallRuleArrayOutput added in v4.7.0

func (i FlexibleServerFirewallRuleArray) ToFlexibleServerFirewallRuleArrayOutput() FlexibleServerFirewallRuleArrayOutput

func (FlexibleServerFirewallRuleArray) ToFlexibleServerFirewallRuleArrayOutputWithContext added in v4.7.0

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

type FlexibleServerFirewallRuleArrayInput added in v4.7.0

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

type FlexibleServerFirewallRuleArrayOutput struct{ *pulumi.OutputState }

func (FlexibleServerFirewallRuleArrayOutput) ElementType added in v4.7.0

func (FlexibleServerFirewallRuleArrayOutput) Index added in v4.7.0

func (FlexibleServerFirewallRuleArrayOutput) ToFlexibleServerFirewallRuleArrayOutput added in v4.7.0

func (o FlexibleServerFirewallRuleArrayOutput) ToFlexibleServerFirewallRuleArrayOutput() FlexibleServerFirewallRuleArrayOutput

func (FlexibleServerFirewallRuleArrayOutput) ToFlexibleServerFirewallRuleArrayOutputWithContext added in v4.7.0

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

type FlexibleServerFirewallRuleInput added in v4.7.0

type FlexibleServerFirewallRuleInput interface {
	pulumi.Input

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

type FlexibleServerFirewallRuleMap added in v4.7.0

type FlexibleServerFirewallRuleMap map[string]FlexibleServerFirewallRuleInput

func (FlexibleServerFirewallRuleMap) ElementType added in v4.7.0

func (FlexibleServerFirewallRuleMap) ToFlexibleServerFirewallRuleMapOutput added in v4.7.0

func (i FlexibleServerFirewallRuleMap) ToFlexibleServerFirewallRuleMapOutput() FlexibleServerFirewallRuleMapOutput

func (FlexibleServerFirewallRuleMap) ToFlexibleServerFirewallRuleMapOutputWithContext added in v4.7.0

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

type FlexibleServerFirewallRuleMapInput added in v4.7.0

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

type FlexibleServerFirewallRuleMapOutput struct{ *pulumi.OutputState }

func (FlexibleServerFirewallRuleMapOutput) ElementType added in v4.7.0

func (FlexibleServerFirewallRuleMapOutput) MapIndex added in v4.7.0

func (FlexibleServerFirewallRuleMapOutput) ToFlexibleServerFirewallRuleMapOutput added in v4.7.0

func (o FlexibleServerFirewallRuleMapOutput) ToFlexibleServerFirewallRuleMapOutput() FlexibleServerFirewallRuleMapOutput

func (FlexibleServerFirewallRuleMapOutput) ToFlexibleServerFirewallRuleMapOutputWithContext added in v4.7.0

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

type FlexibleServerFirewallRuleOutput added in v4.7.0

type FlexibleServerFirewallRuleOutput struct{ *pulumi.OutputState }

func (FlexibleServerFirewallRuleOutput) ElementType added in v4.7.0

func (FlexibleServerFirewallRuleOutput) ToFlexibleServerFirewallRuleOutput added in v4.7.0

func (o FlexibleServerFirewallRuleOutput) ToFlexibleServerFirewallRuleOutput() FlexibleServerFirewallRuleOutput

func (FlexibleServerFirewallRuleOutput) ToFlexibleServerFirewallRuleOutputWithContext added in v4.7.0

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

func (FlexibleServerFirewallRuleOutput) ToFlexibleServerFirewallRulePtrOutput added in v4.7.0

func (o FlexibleServerFirewallRuleOutput) ToFlexibleServerFirewallRulePtrOutput() FlexibleServerFirewallRulePtrOutput

func (FlexibleServerFirewallRuleOutput) ToFlexibleServerFirewallRulePtrOutputWithContext added in v4.7.0

func (o FlexibleServerFirewallRuleOutput) ToFlexibleServerFirewallRulePtrOutputWithContext(ctx context.Context) FlexibleServerFirewallRulePtrOutput

type FlexibleServerFirewallRulePtrInput added in v4.7.0

type FlexibleServerFirewallRulePtrInput interface {
	pulumi.Input

	ToFlexibleServerFirewallRulePtrOutput() FlexibleServerFirewallRulePtrOutput
	ToFlexibleServerFirewallRulePtrOutputWithContext(ctx context.Context) FlexibleServerFirewallRulePtrOutput
}

type FlexibleServerFirewallRulePtrOutput added in v4.7.0

type FlexibleServerFirewallRulePtrOutput struct{ *pulumi.OutputState }

func (FlexibleServerFirewallRulePtrOutput) Elem added in v4.20.0

func (FlexibleServerFirewallRulePtrOutput) ElementType added in v4.7.0

func (FlexibleServerFirewallRulePtrOutput) ToFlexibleServerFirewallRulePtrOutput added in v4.7.0

func (o FlexibleServerFirewallRulePtrOutput) ToFlexibleServerFirewallRulePtrOutput() FlexibleServerFirewallRulePtrOutput

func (FlexibleServerFirewallRulePtrOutput) ToFlexibleServerFirewallRulePtrOutputWithContext added in v4.7.0

func (o FlexibleServerFirewallRulePtrOutput) ToFlexibleServerFirewallRulePtrOutputWithContext(ctx context.Context) FlexibleServerFirewallRulePtrOutput

type FlexibleServerFirewallRuleState added in v4.7.0

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

type FlexibleServerHighAvailability added in v4.13.0

type FlexibleServerHighAvailability struct {
	// The high availability mode for the PostgreSQL Flexible Server. The only possible value is `ZoneRedundant`.
	Mode string `pulumi:"mode"`
	// The Availability Zone of the standby Flexible Server. Possible values are `1`, `2` and `3`.
	StandbyAvailabilityZone *string `pulumi:"standbyAvailabilityZone"`
}

type FlexibleServerHighAvailabilityArgs added in v4.13.0

type FlexibleServerHighAvailabilityArgs struct {
	// The high availability mode for the PostgreSQL Flexible Server. The only possible value is `ZoneRedundant`.
	Mode pulumi.StringInput `pulumi:"mode"`
	// The Availability Zone of the standby Flexible Server. Possible values are `1`, `2` and `3`.
	StandbyAvailabilityZone pulumi.StringPtrInput `pulumi:"standbyAvailabilityZone"`
}

func (FlexibleServerHighAvailabilityArgs) ElementType added in v4.13.0

func (FlexibleServerHighAvailabilityArgs) ToFlexibleServerHighAvailabilityOutput added in v4.13.0

func (i FlexibleServerHighAvailabilityArgs) ToFlexibleServerHighAvailabilityOutput() FlexibleServerHighAvailabilityOutput

func (FlexibleServerHighAvailabilityArgs) ToFlexibleServerHighAvailabilityOutputWithContext added in v4.13.0

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

func (FlexibleServerHighAvailabilityArgs) ToFlexibleServerHighAvailabilityPtrOutput added in v4.13.0

func (i FlexibleServerHighAvailabilityArgs) ToFlexibleServerHighAvailabilityPtrOutput() FlexibleServerHighAvailabilityPtrOutput

func (FlexibleServerHighAvailabilityArgs) ToFlexibleServerHighAvailabilityPtrOutputWithContext added in v4.13.0

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

type FlexibleServerHighAvailabilityInput added in v4.13.0

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

type FlexibleServerHighAvailabilityOutput struct{ *pulumi.OutputState }

func (FlexibleServerHighAvailabilityOutput) ElementType added in v4.13.0

func (FlexibleServerHighAvailabilityOutput) Mode added in v4.13.0

The high availability mode for the PostgreSQL Flexible Server. The only possible value is `ZoneRedundant`.

func (FlexibleServerHighAvailabilityOutput) StandbyAvailabilityZone added in v4.13.0

func (o FlexibleServerHighAvailabilityOutput) StandbyAvailabilityZone() pulumi.StringPtrOutput

The Availability Zone of the standby Flexible Server. Possible values are `1`, `2` and `3`.

func (FlexibleServerHighAvailabilityOutput) ToFlexibleServerHighAvailabilityOutput added in v4.13.0

func (o FlexibleServerHighAvailabilityOutput) ToFlexibleServerHighAvailabilityOutput() FlexibleServerHighAvailabilityOutput

func (FlexibleServerHighAvailabilityOutput) ToFlexibleServerHighAvailabilityOutputWithContext added in v4.13.0

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

func (FlexibleServerHighAvailabilityOutput) ToFlexibleServerHighAvailabilityPtrOutput added in v4.13.0

func (o FlexibleServerHighAvailabilityOutput) ToFlexibleServerHighAvailabilityPtrOutput() FlexibleServerHighAvailabilityPtrOutput

func (FlexibleServerHighAvailabilityOutput) ToFlexibleServerHighAvailabilityPtrOutputWithContext added in v4.13.0

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

type FlexibleServerHighAvailabilityPtrInput added in v4.13.0

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

type FlexibleServerHighAvailabilityPtrOutput struct{ *pulumi.OutputState }

func (FlexibleServerHighAvailabilityPtrOutput) Elem added in v4.13.0

func (FlexibleServerHighAvailabilityPtrOutput) ElementType added in v4.13.0

func (FlexibleServerHighAvailabilityPtrOutput) Mode added in v4.13.0

The high availability mode for the PostgreSQL Flexible Server. The only possible value is `ZoneRedundant`.

func (FlexibleServerHighAvailabilityPtrOutput) StandbyAvailabilityZone added in v4.13.0

The Availability Zone of the standby Flexible Server. Possible values are `1`, `2` and `3`.

func (FlexibleServerHighAvailabilityPtrOutput) ToFlexibleServerHighAvailabilityPtrOutput added in v4.13.0

func (o FlexibleServerHighAvailabilityPtrOutput) ToFlexibleServerHighAvailabilityPtrOutput() FlexibleServerHighAvailabilityPtrOutput

func (FlexibleServerHighAvailabilityPtrOutput) ToFlexibleServerHighAvailabilityPtrOutputWithContext added in v4.13.0

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

type FlexibleServerInput added in v4.1.0

type FlexibleServerInput interface {
	pulumi.Input

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

type FlexibleServerMaintenanceWindow added in v4.1.0

type FlexibleServerMaintenanceWindow struct {
	// The day of week for maintenance window. Defaults to `0`.
	DayOfWeek *int `pulumi:"dayOfWeek"`
	// The day of week 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 added in v4.1.0

type FlexibleServerMaintenanceWindowArgs struct {
	// The day of week for maintenance window. Defaults to `0`.
	DayOfWeek pulumi.IntPtrInput `pulumi:"dayOfWeek"`
	// The day of week 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 added in v4.1.0

func (FlexibleServerMaintenanceWindowArgs) ToFlexibleServerMaintenanceWindowOutput added in v4.1.0

func (i FlexibleServerMaintenanceWindowArgs) ToFlexibleServerMaintenanceWindowOutput() FlexibleServerMaintenanceWindowOutput

func (FlexibleServerMaintenanceWindowArgs) ToFlexibleServerMaintenanceWindowOutputWithContext added in v4.1.0

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

func (FlexibleServerMaintenanceWindowArgs) ToFlexibleServerMaintenanceWindowPtrOutput added in v4.1.0

func (i FlexibleServerMaintenanceWindowArgs) ToFlexibleServerMaintenanceWindowPtrOutput() FlexibleServerMaintenanceWindowPtrOutput

func (FlexibleServerMaintenanceWindowArgs) ToFlexibleServerMaintenanceWindowPtrOutputWithContext added in v4.1.0

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

type FlexibleServerMaintenanceWindowInput added in v4.1.0

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

type FlexibleServerMaintenanceWindowOutput struct{ *pulumi.OutputState }

func (FlexibleServerMaintenanceWindowOutput) DayOfWeek added in v4.1.0

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

func (FlexibleServerMaintenanceWindowOutput) ElementType added in v4.1.0

func (FlexibleServerMaintenanceWindowOutput) StartHour added in v4.1.0

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

func (FlexibleServerMaintenanceWindowOutput) StartMinute added in v4.1.0

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

func (FlexibleServerMaintenanceWindowOutput) ToFlexibleServerMaintenanceWindowOutput added in v4.1.0

func (o FlexibleServerMaintenanceWindowOutput) ToFlexibleServerMaintenanceWindowOutput() FlexibleServerMaintenanceWindowOutput

func (FlexibleServerMaintenanceWindowOutput) ToFlexibleServerMaintenanceWindowOutputWithContext added in v4.1.0

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

func (FlexibleServerMaintenanceWindowOutput) ToFlexibleServerMaintenanceWindowPtrOutput added in v4.1.0

func (o FlexibleServerMaintenanceWindowOutput) ToFlexibleServerMaintenanceWindowPtrOutput() FlexibleServerMaintenanceWindowPtrOutput

func (FlexibleServerMaintenanceWindowOutput) ToFlexibleServerMaintenanceWindowPtrOutputWithContext added in v4.1.0

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

type FlexibleServerMaintenanceWindowPtrInput added in v4.1.0

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

type FlexibleServerMaintenanceWindowPtrOutput struct{ *pulumi.OutputState }

func (FlexibleServerMaintenanceWindowPtrOutput) DayOfWeek added in v4.1.0

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

func (FlexibleServerMaintenanceWindowPtrOutput) Elem added in v4.1.0

func (FlexibleServerMaintenanceWindowPtrOutput) ElementType added in v4.1.0

func (FlexibleServerMaintenanceWindowPtrOutput) StartHour added in v4.1.0

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

func (FlexibleServerMaintenanceWindowPtrOutput) StartMinute added in v4.1.0

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

func (FlexibleServerMaintenanceWindowPtrOutput) ToFlexibleServerMaintenanceWindowPtrOutput added in v4.1.0

func (o FlexibleServerMaintenanceWindowPtrOutput) ToFlexibleServerMaintenanceWindowPtrOutput() FlexibleServerMaintenanceWindowPtrOutput

func (FlexibleServerMaintenanceWindowPtrOutput) ToFlexibleServerMaintenanceWindowPtrOutputWithContext added in v4.1.0

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

type FlexibleServerMap added in v4.1.0

type FlexibleServerMap map[string]FlexibleServerInput

func (FlexibleServerMap) ElementType added in v4.1.0

func (FlexibleServerMap) ElementType() reflect.Type

func (FlexibleServerMap) ToFlexibleServerMapOutput added in v4.1.0

func (i FlexibleServerMap) ToFlexibleServerMapOutput() FlexibleServerMapOutput

func (FlexibleServerMap) ToFlexibleServerMapOutputWithContext added in v4.1.0

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

type FlexibleServerMapInput added in v4.1.0

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

type FlexibleServerMapOutput struct{ *pulumi.OutputState }

func (FlexibleServerMapOutput) ElementType added in v4.1.0

func (FlexibleServerMapOutput) ElementType() reflect.Type

func (FlexibleServerMapOutput) MapIndex added in v4.1.0

func (FlexibleServerMapOutput) ToFlexibleServerMapOutput added in v4.1.0

func (o FlexibleServerMapOutput) ToFlexibleServerMapOutput() FlexibleServerMapOutput

func (FlexibleServerMapOutput) ToFlexibleServerMapOutputWithContext added in v4.1.0

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

type FlexibleServerOutput added in v4.1.0

type FlexibleServerOutput struct{ *pulumi.OutputState }

func (FlexibleServerOutput) ElementType added in v4.1.0

func (FlexibleServerOutput) ElementType() reflect.Type

func (FlexibleServerOutput) ToFlexibleServerOutput added in v4.1.0

func (o FlexibleServerOutput) ToFlexibleServerOutput() FlexibleServerOutput

func (FlexibleServerOutput) ToFlexibleServerOutputWithContext added in v4.1.0

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

func (FlexibleServerOutput) ToFlexibleServerPtrOutput added in v4.1.0

func (o FlexibleServerOutput) ToFlexibleServerPtrOutput() FlexibleServerPtrOutput

func (FlexibleServerOutput) ToFlexibleServerPtrOutputWithContext added in v4.1.0

func (o FlexibleServerOutput) ToFlexibleServerPtrOutputWithContext(ctx context.Context) FlexibleServerPtrOutput

type FlexibleServerPtrInput added in v4.1.0

type FlexibleServerPtrInput interface {
	pulumi.Input

	ToFlexibleServerPtrOutput() FlexibleServerPtrOutput
	ToFlexibleServerPtrOutputWithContext(ctx context.Context) FlexibleServerPtrOutput
}

type FlexibleServerPtrOutput added in v4.1.0

type FlexibleServerPtrOutput struct{ *pulumi.OutputState }

func (FlexibleServerPtrOutput) Elem added in v4.20.0

func (FlexibleServerPtrOutput) ElementType added in v4.1.0

func (FlexibleServerPtrOutput) ElementType() reflect.Type

func (FlexibleServerPtrOutput) ToFlexibleServerPtrOutput added in v4.1.0

func (o FlexibleServerPtrOutput) ToFlexibleServerPtrOutput() FlexibleServerPtrOutput

func (FlexibleServerPtrOutput) ToFlexibleServerPtrOutputWithContext added in v4.1.0

func (o FlexibleServerPtrOutput) ToFlexibleServerPtrOutputWithContext(ctx context.Context) FlexibleServerPtrOutput

type FlexibleServerState added in v4.1.0

type FlexibleServerState struct {
	// The Administrator Login for the PostgreSQL Flexible Server. Required when `createMode` is `Default`. Changing this forces a new PostgreSQL Flexible Server to be created.
	AdministratorLogin pulumi.StringPtrInput
	// The Password associated with the `administratorLogin` for the PostgreSQL Flexible Server. Required when `createMode` is `Default`.
	AdministratorPassword pulumi.StringPtrInput
	// The backup retention days for the PostgreSQL Flexible Server. Possible values are between `7` and `35` days.
	BackupRetentionDays pulumi.IntPtrInput
	// The status showing whether the data encryption is enabled with a customer-managed key.
	//
	// Deprecated: This attribute has been removed from the API and will be removed in version 3.0 of the provider.
	CmkEnabled pulumi.StringPtrInput
	// The creation mode which can be used to restore or replicate existing servers. Possible values are `Default` and `PointInTimeRestore`. Changing this forces a new PostgreSQL Flexible Server to be created.
	CreateMode pulumi.StringPtrInput
	// 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
	// A `highAvailability` block as defined below.
	HighAvailability FlexibleServerHighAvailabilityPtrInput
	// 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.
	Name pulumi.StringPtrInput
	// The point in time to restore from `creationSourceServerId` when `createMode` is `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. Changing this forces a new PostgreSQL Flexible Server to be created.
	PrivateDnsZoneId pulumi.StringPtrInput
	// Is public network access enabled?
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// 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 `PointInTimeRestore`. 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`, `4194304`, `8388608`, `16777216`, and `33554432`.
	StorageMb pulumi.IntPtrInput
	// 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` and `13`. Required when `createMode` is `Default`. Changing this forces a new PostgreSQL Flexible Server to be created.
	Version pulumi.StringPtrInput
	// The Availability Zone of the PostgreSQL Flexible Server. Possible values are `1`, `2` and `3`.
	Zone pulumi.StringPtrInput
}

func (FlexibleServerState) ElementType added in v4.1.0

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

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

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

type LookupFlexibleServerResult added in v4.1.0

type LookupFlexibleServerResult struct {
	// The Administrator Login for the PostgreSQL Flexible Server.
	AdministratorLogin string `pulumi:"administratorLogin"`
	// The backup retention days for the PostgreSQL Flexible Server.
	BackupRetentionDays int `pulumi:"backupRetentionDays"`
	// The status showing whether the data encryption is enabled with a customer-managed key.
	//
	// Deprecated: This attribute has been removed from the API and will be removed in version 3.0 of the provider.
	CmkEnabled string `pulumi:"cmkEnabled"`
	// 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 added in v4.1.0

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

type LookupFlexibleServerResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getFlexibleServer.

func LookupFlexibleServerOutput added in v4.20.0

func (LookupFlexibleServerResultOutput) AdministratorLogin added in v4.20.0

func (o LookupFlexibleServerResultOutput) AdministratorLogin() pulumi.StringOutput

The Administrator Login for the PostgreSQL Flexible Server.

func (LookupFlexibleServerResultOutput) BackupRetentionDays added in v4.20.0

func (o LookupFlexibleServerResultOutput) BackupRetentionDays() pulumi.IntOutput

The backup retention days for the PostgreSQL Flexible Server.

func (LookupFlexibleServerResultOutput) CmkEnabled deprecated added in v4.20.0

The status showing whether the data encryption is enabled with a customer-managed key.

Deprecated: This attribute has been removed from the API and will be removed in version 3.0 of the provider.

func (LookupFlexibleServerResultOutput) DelegatedSubnetId added in v4.20.0

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

func (LookupFlexibleServerResultOutput) ElementType added in v4.20.0

func (LookupFlexibleServerResultOutput) Fqdn added in v4.20.0

The FQDN of the PostgreSQL Flexible Server.

func (LookupFlexibleServerResultOutput) Id added in v4.20.0

The provider-assigned unique ID for this managed resource.

func (LookupFlexibleServerResultOutput) Location added in v4.20.0

The Azure Region where the PostgreSQL Flexible Server exists.

func (LookupFlexibleServerResultOutput) Name added in v4.20.0

func (LookupFlexibleServerResultOutput) PublicNetworkAccessEnabled added in v4.20.0

func (o LookupFlexibleServerResultOutput) PublicNetworkAccessEnabled() pulumi.BoolOutput

Is public network access enabled?

func (LookupFlexibleServerResultOutput) ResourceGroupName added in v4.20.0

func (LookupFlexibleServerResultOutput) SkuName added in v4.20.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 (LookupFlexibleServerResultOutput) StorageMb added in v4.20.0

The max storage allowed for the PostgreSQL Flexible Server.

func (LookupFlexibleServerResultOutput) Tags added in v4.20.0

A mapping of tags assigned to the PostgreSQL Flexible Server.

func (LookupFlexibleServerResultOutput) ToLookupFlexibleServerResultOutput added in v4.20.0

func (o LookupFlexibleServerResultOutput) ToLookupFlexibleServerResultOutput() LookupFlexibleServerResultOutput

func (LookupFlexibleServerResultOutput) ToLookupFlexibleServerResultOutputWithContext added in v4.20.0

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

func (LookupFlexibleServerResultOutput) Version added in v4.20.0

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

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

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

type LookupServerResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getServer.

func LookupServerOutput added in v4.20.0

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

func (LookupServerResultOutput) AdministratorLogin added in v4.20.0

func (o LookupServerResultOutput) AdministratorLogin() pulumi.StringOutput

The administrator username of the PostgreSQL Server.

func (LookupServerResultOutput) ElementType added in v4.20.0

func (LookupServerResultOutput) ElementType() reflect.Type

func (LookupServerResultOutput) Fqdn added in v4.20.0

The fully qualified domain name of the PostgreSQL Server.

func (LookupServerResultOutput) Id added in v4.20.0

The provider-assigned unique ID for this managed resource.

func (LookupServerResultOutput) Identities added in v4.20.0

An `identity` block as defined below.

func (LookupServerResultOutput) Location added in v4.20.0

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

func (LookupServerResultOutput) Name added in v4.20.0

func (LookupServerResultOutput) ResourceGroupName added in v4.20.0

func (o LookupServerResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupServerResultOutput) SkuName added in v4.20.0

The SKU name of the PostgreSQL Server.

func (LookupServerResultOutput) Tags added in v4.20.0

A mapping of tags assigned to the resource.

func (LookupServerResultOutput) ToLookupServerResultOutput added in v4.20.0

func (o LookupServerResultOutput) ToLookupServerResultOutput() LookupServerResultOutput

func (LookupServerResultOutput) ToLookupServerResultOutputWithContext added in v4.20.0

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

func (LookupServerResultOutput) Version added in v4.20.0

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. The default value if not explicitly specified is `true`.
	AutoGrowEnabled pulumi.BoolOutput `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 then 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.BoolOutput `pulumi:"geoRedundantBackupEnabled"`
	// An `identity` block as defined below.
	Identity ServerIdentityPtrOutput `pulumi:"identity"`
	// Whether or not infrastructure is encrypted for this server. Defaults to `false`. Changing this forces a new resource to be created.
	InfrastructureEncryptionEnabled pulumi.BoolPtrOutput `pulumi:"infrastructureEncryptionEnabled"`
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// Specifies the name of the 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`.
	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/en-us/rest/api/postgresql/singleserver/servers/create#sku).
	SkuName pulumi.StringOutput `pulumi:"skuName"`
	// Deprecated: this has been renamed to the boolean `ssl_enforcement_enabled` and will be removed in version 3.0 of the provider.
	SslEnforcement pulumi.StringOutput `pulumi:"sslEnforcement"`
	// Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.
	SslEnforcementEnabled pulumi.BoolPtrOutput `pulumi:"sslEnforcementEnabled"`
	// The mimimun TLS version to support on the sever. Possible values are `TLSEnforcementDisabled`, `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLSEnforcementDisabled`.
	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/en-us/rest/api/postgresql/servers/create#StorageProfile).
	StorageMb pulumi.IntOutput `pulumi:"storageMb"`
	// Deprecated: all storage_profile properties have been move to the top level. This block will be removed in version 3.0 of the provider.
	StorageProfile ServerStorageProfileOutput `pulumi:"storageProfile"`
	// 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`, 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/postgresql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = postgresql.NewServer(ctx, "exampleServer", &postgresql.ServerArgs{
			Location:                     exampleResourceGroup.Location,
			ResourceGroupName:            exampleResourceGroup.Name,
			AdministratorLogin:           pulumi.String("psqladmin"),
			AdministratorLoginPassword:   pulumi.String("H@Sh1CoR3!"),
			SkuName:                      pulumi.String("GP_Gen5_4"),
			Version:                      pulumi.String("9.6"),
			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

func (*Server) ToServerPtrOutput

func (i *Server) ToServerPtrOutput() ServerPtrOutput

func (*Server) ToServerPtrOutputWithContext

func (i *Server) ToServerPtrOutputWithContext(ctx context.Context) ServerPtrOutput

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. The default value if not explicitly specified is `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 then 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. Defaults to `false`. Changing this forces a new resource to be created.
	InfrastructureEncryptionEnabled pulumi.BoolPtrInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of the 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`.
	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/en-us/rest/api/postgresql/singleserver/servers/create#sku).
	SkuName pulumi.StringInput
	// Deprecated: this has been renamed to the boolean `ssl_enforcement_enabled` and will be removed in version 3.0 of the provider.
	SslEnforcement pulumi.StringPtrInput
	// Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.
	SslEnforcementEnabled pulumi.BoolPtrInput
	// The mimimun TLS version to support on the sever. Possible values are `TLSEnforcementDisabled`, `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLSEnforcementDisabled`.
	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/en-us/rest/api/postgresql/servers/create#StorageProfile).
	StorageMb pulumi.IntPtrInput
	// Deprecated: all storage_profile properties have been move to the top level. This block will be removed in version 3.0 of the provider.
	StorageProfile ServerStorageProfilePtrInput
	// 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`, 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 Client ID of the Service Principal assigned to this PostgreSQL Server.
	PrincipalId *string `pulumi:"principalId"`
	// The ID of the Tenant the Service Principal is assigned in.
	TenantId *string `pulumi:"tenantId"`
	// The Type of Identity which should be used for this PostgreSQL Server. At this time the only possible value is `SystemAssigned`.
	Type string `pulumi:"type"`
}

type ServerIdentityArgs

type ServerIdentityArgs struct {
	// The Client ID of the Service Principal assigned to this PostgreSQL Server.
	PrincipalId pulumi.StringPtrInput `pulumi:"principalId"`
	// The ID of the Tenant the Service Principal is assigned in.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
	// The Type of Identity which should be used for this PostgreSQL Server. At this time 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 Client ID of the Service Principal assigned to this PostgreSQL Server.

func (ServerIdentityOutput) TenantId

The ID of the Tenant the Service Principal is assigned in.

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

The Type of Identity which should be used for this PostgreSQL Server. At this time 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 Client ID of the Service Principal assigned to this PostgreSQL Server.

func (ServerIdentityPtrOutput) TenantId

The ID of the Tenant the Service Principal is assigned in.

func (ServerIdentityPtrOutput) ToServerIdentityPtrOutput

func (o ServerIdentityPtrOutput) ToServerIdentityPtrOutput() ServerIdentityPtrOutput

func (ServerIdentityPtrOutput) ToServerIdentityPtrOutputWithContext

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

func (ServerIdentityPtrOutput) Type

The Type of Identity which should be used for this PostgreSQL Server. At this time 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/keyvault"
"github.com/pulumi/pulumi-azure/sdk/v4/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
		}
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleKeyVault, err := keyvault.NewKeyVault(ctx, "exampleKeyVault", &keyvault.KeyVaultArgs{
			Location:               exampleResourceGroup.Location,
			ResourceGroupName:      exampleResourceGroup.Name,
			TenantId:               pulumi.String(current.TenantId),
			SkuName:                pulumi.String("premium"),
			PurgeProtectionEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		exampleServer, err := postgresql.NewServer(ctx, "exampleServer", &postgresql.ServerArgs{
			Location:                   pulumi.Any(azurerm_resource_group.Test.Location),
			ResourceGroupName:          pulumi.Any(azurerm_resource_group.Test.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
		}
		server, 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.StringOutput),
			KeyPermissions: pulumi.StringArray{
				pulumi.String("get"),
				pulumi.String("unwrapkey"),
				pulumi.String("wrapkey"),
			},
			SecretPermissions: pulumi.StringArray{
				pulumi.String("get"),
			},
		})
		if err != nil {
			return err
		}
		client, err := keyvault.NewAccessPolicy(ctx, "client", &keyvault.AccessPolicyArgs{
			KeyVaultId: exampleKeyVault.ID(),
			TenantId:   pulumi.String(current.TenantId),
			ObjectId:   pulumi.String(current.ObjectId),
			KeyPermissions: pulumi.StringArray{
				pulumi.String("get"),
				pulumi.String("create"),
				pulumi.String("delete"),
				pulumi.String("list"),
				pulumi.String("restore"),
				pulumi.String("recover"),
				pulumi.String("unwrapkey"),
				pulumi.String("wrapkey"),
				pulumi.String("purge"),
				pulumi.String("encrypt"),
				pulumi.String("decrypt"),
				pulumi.String("sign"),
				pulumi.String("verify"),
			},
			SecretPermissions: pulumi.StringArray{
				pulumi.String("get"),
			},
		})
		if err != nil {
			return err
		}
		exampleKey, err := keyvault.NewKey(ctx, "exampleKey", &keyvault.KeyArgs{
			KeyVaultId: exampleKeyVault.ID(),
			KeyType:    pulumi.String("RSA"),
			KeySize:    pulumi.Int(2048),
			KeyOpts: pulumi.StringArray{
				pulumi.String("decrypt"),
				pulumi.String("encrypt"),
				pulumi.String("sign"),
				pulumi.String("unwrapKey"),
				pulumi.String("verify"),
				pulumi.String("wrapKey"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			client,
			server,
		}))
		if err != nil {
			return err
		}
		_, err = postgresql.NewServerKey(ctx, "exampleServerKey", &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

func (*ServerKey) ToServerKeyPtrOutput

func (i *ServerKey) ToServerKeyPtrOutput() ServerKeyPtrOutput

func (*ServerKey) ToServerKeyPtrOutputWithContext

func (i *ServerKey) ToServerKeyPtrOutputWithContext(ctx context.Context) ServerKeyPtrOutput

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

func (o ServerKeyOutput) ToServerKeyOutput() ServerKeyOutput

func (ServerKeyOutput) ToServerKeyOutputWithContext

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

func (ServerKeyOutput) ToServerKeyPtrOutput

func (o ServerKeyOutput) ToServerKeyPtrOutput() ServerKeyPtrOutput

func (ServerKeyOutput) ToServerKeyPtrOutputWithContext

func (o ServerKeyOutput) ToServerKeyPtrOutputWithContext(ctx context.Context) ServerKeyPtrOutput

type ServerKeyPtrInput

type ServerKeyPtrInput interface {
	pulumi.Input

	ToServerKeyPtrOutput() ServerKeyPtrOutput
	ToServerKeyPtrOutputWithContext(ctx context.Context) ServerKeyPtrOutput
}

type ServerKeyPtrOutput

type ServerKeyPtrOutput struct{ *pulumi.OutputState }

func (ServerKeyPtrOutput) Elem added in v4.20.0

func (ServerKeyPtrOutput) ElementType

func (ServerKeyPtrOutput) ElementType() reflect.Type

func (ServerKeyPtrOutput) ToServerKeyPtrOutput

func (o ServerKeyPtrOutput) ToServerKeyPtrOutput() ServerKeyPtrOutput

func (ServerKeyPtrOutput) ToServerKeyPtrOutputWithContext

func (o ServerKeyPtrOutput) ToServerKeyPtrOutputWithContext(ctx context.Context) ServerKeyPtrOutput

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

func (ServerOutput) ElementType() reflect.Type

func (ServerOutput) ToServerOutput

func (o ServerOutput) ToServerOutput() ServerOutput

func (ServerOutput) ToServerOutputWithContext

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

func (ServerOutput) ToServerPtrOutput

func (o ServerOutput) ToServerPtrOutput() ServerPtrOutput

func (ServerOutput) ToServerPtrOutputWithContext

func (o ServerOutput) ToServerPtrOutputWithContext(ctx context.Context) ServerPtrOutput

type ServerPtrInput

type ServerPtrInput interface {
	pulumi.Input

	ToServerPtrOutput() ServerPtrOutput
	ToServerPtrOutputWithContext(ctx context.Context) ServerPtrOutput
}

type ServerPtrOutput

type ServerPtrOutput struct{ *pulumi.OutputState }

func (ServerPtrOutput) Elem added in v4.20.0

func (o ServerPtrOutput) Elem() ServerOutput

func (ServerPtrOutput) ElementType

func (ServerPtrOutput) ElementType() reflect.Type

func (ServerPtrOutput) ToServerPtrOutput

func (o ServerPtrOutput) ToServerPtrOutput() ServerPtrOutput

func (ServerPtrOutput) ToServerPtrOutputWithContext

func (o ServerPtrOutput) ToServerPtrOutputWithContext(ctx context.Context) ServerPtrOutput

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. The default value if not explicitly specified is `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 then 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. Defaults to `false`. Changing this forces a new resource to be created.
	InfrastructureEncryptionEnabled pulumi.BoolPtrInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of the 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`.
	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/en-us/rest/api/postgresql/singleserver/servers/create#sku).
	SkuName pulumi.StringPtrInput
	// Deprecated: this has been renamed to the boolean `ssl_enforcement_enabled` and will be removed in version 3.0 of the provider.
	SslEnforcement pulumi.StringPtrInput
	// Specifies if SSL should be enforced on connections. Possible values are `true` and `false`.
	SslEnforcementEnabled pulumi.BoolPtrInput
	// The mimimun TLS version to support on the sever. Possible values are `TLSEnforcementDisabled`, `TLS1_0`, `TLS1_1`, and `TLS1_2`. Defaults to `TLSEnforcementDisabled`.
	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/en-us/rest/api/postgresql/servers/create#StorageProfile).
	StorageMb pulumi.IntPtrInput
	// Deprecated: all storage_profile properties have been move to the top level. This block will be removed in version 3.0 of the provider.
	StorageProfile ServerStorageProfilePtrInput
	// 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`, and `11`. Changing this forces a new resource to be created.
	Version pulumi.StringPtrInput
}

func (ServerState) ElementType

func (ServerState) ElementType() reflect.Type

type ServerStorageProfile

type ServerStorageProfile struct {
	// Deprecated: this has been moved to the top level and will be removed in version 3.0 of the provider.
	AutoGrow *string `pulumi:"autoGrow"`
	// Backup retention days for the server, supported values are between `7` and `35` days.
	//
	// Deprecated: this has been moved to the top level and will be removed in version 3.0 of the provider.
	BackupRetentionDays *int `pulumi:"backupRetentionDays"`
	// Deprecated: this has been moved to the top level and will be removed in version 3.0 of the provider.
	GeoRedundantBackup *string `pulumi:"geoRedundantBackup"`
	// 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/en-us/rest/api/postgresql/servers/create#StorageProfile).
	//
	// Deprecated: this has been moved to the top level and will be removed in version 3.0 of the provider.
	StorageMb *int `pulumi:"storageMb"`
}

type ServerStorageProfileArgs

type ServerStorageProfileArgs struct {
	// Deprecated: this has been moved to the top level and will be removed in version 3.0 of the provider.
	AutoGrow pulumi.StringPtrInput `pulumi:"autoGrow"`
	// Backup retention days for the server, supported values are between `7` and `35` days.
	//
	// Deprecated: this has been moved to the top level and will be removed in version 3.0 of the provider.
	BackupRetentionDays pulumi.IntPtrInput `pulumi:"backupRetentionDays"`
	// Deprecated: this has been moved to the top level and will be removed in version 3.0 of the provider.
	GeoRedundantBackup pulumi.StringPtrInput `pulumi:"geoRedundantBackup"`
	// 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/en-us/rest/api/postgresql/servers/create#StorageProfile).
	//
	// Deprecated: this has been moved to the top level and will be removed in version 3.0 of the provider.
	StorageMb pulumi.IntPtrInput `pulumi:"storageMb"`
}

func (ServerStorageProfileArgs) ElementType

func (ServerStorageProfileArgs) ElementType() reflect.Type

func (ServerStorageProfileArgs) ToServerStorageProfileOutput

func (i ServerStorageProfileArgs) ToServerStorageProfileOutput() ServerStorageProfileOutput

func (ServerStorageProfileArgs) ToServerStorageProfileOutputWithContext

func (i ServerStorageProfileArgs) ToServerStorageProfileOutputWithContext(ctx context.Context) ServerStorageProfileOutput

func (ServerStorageProfileArgs) ToServerStorageProfilePtrOutput

func (i ServerStorageProfileArgs) ToServerStorageProfilePtrOutput() ServerStorageProfilePtrOutput

func (ServerStorageProfileArgs) ToServerStorageProfilePtrOutputWithContext

func (i ServerStorageProfileArgs) ToServerStorageProfilePtrOutputWithContext(ctx context.Context) ServerStorageProfilePtrOutput

type ServerStorageProfileInput

type ServerStorageProfileInput interface {
	pulumi.Input

	ToServerStorageProfileOutput() ServerStorageProfileOutput
	ToServerStorageProfileOutputWithContext(context.Context) ServerStorageProfileOutput
}

ServerStorageProfileInput is an input type that accepts ServerStorageProfileArgs and ServerStorageProfileOutput values. You can construct a concrete instance of `ServerStorageProfileInput` via:

ServerStorageProfileArgs{...}

type ServerStorageProfileOutput

type ServerStorageProfileOutput struct{ *pulumi.OutputState }

func (ServerStorageProfileOutput) AutoGrow deprecated

Deprecated: this has been moved to the top level and will be removed in version 3.0 of the provider.

func (ServerStorageProfileOutput) BackupRetentionDays deprecated

func (o ServerStorageProfileOutput) BackupRetentionDays() pulumi.IntPtrOutput

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

Deprecated: this has been moved to the top level and will be removed in version 3.0 of the provider.

func (ServerStorageProfileOutput) ElementType

func (ServerStorageProfileOutput) ElementType() reflect.Type

func (ServerStorageProfileOutput) GeoRedundantBackup deprecated

func (o ServerStorageProfileOutput) GeoRedundantBackup() pulumi.StringPtrOutput

Deprecated: this has been moved to the top level and will be removed in version 3.0 of the provider.

func (ServerStorageProfileOutput) StorageMb deprecated

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/en-us/rest/api/postgresql/servers/create#StorageProfile).

Deprecated: this has been moved to the top level and will be removed in version 3.0 of the provider.

func (ServerStorageProfileOutput) ToServerStorageProfileOutput

func (o ServerStorageProfileOutput) ToServerStorageProfileOutput() ServerStorageProfileOutput

func (ServerStorageProfileOutput) ToServerStorageProfileOutputWithContext

func (o ServerStorageProfileOutput) ToServerStorageProfileOutputWithContext(ctx context.Context) ServerStorageProfileOutput

func (ServerStorageProfileOutput) ToServerStorageProfilePtrOutput

func (o ServerStorageProfileOutput) ToServerStorageProfilePtrOutput() ServerStorageProfilePtrOutput

func (ServerStorageProfileOutput) ToServerStorageProfilePtrOutputWithContext

func (o ServerStorageProfileOutput) ToServerStorageProfilePtrOutputWithContext(ctx context.Context) ServerStorageProfilePtrOutput

type ServerStorageProfilePtrInput

type ServerStorageProfilePtrInput interface {
	pulumi.Input

	ToServerStorageProfilePtrOutput() ServerStorageProfilePtrOutput
	ToServerStorageProfilePtrOutputWithContext(context.Context) ServerStorageProfilePtrOutput
}

ServerStorageProfilePtrInput is an input type that accepts ServerStorageProfileArgs, ServerStorageProfilePtr and ServerStorageProfilePtrOutput values. You can construct a concrete instance of `ServerStorageProfilePtrInput` via:

        ServerStorageProfileArgs{...}

or:

        nil

type ServerStorageProfilePtrOutput

type ServerStorageProfilePtrOutput struct{ *pulumi.OutputState }

func (ServerStorageProfilePtrOutput) AutoGrow deprecated

Deprecated: this has been moved to the top level and will be removed in version 3.0 of the provider.

func (ServerStorageProfilePtrOutput) BackupRetentionDays deprecated

func (o ServerStorageProfilePtrOutput) BackupRetentionDays() pulumi.IntPtrOutput

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

Deprecated: this has been moved to the top level and will be removed in version 3.0 of the provider.

func (ServerStorageProfilePtrOutput) Elem

func (ServerStorageProfilePtrOutput) ElementType

func (ServerStorageProfilePtrOutput) GeoRedundantBackup deprecated

func (o ServerStorageProfilePtrOutput) GeoRedundantBackup() pulumi.StringPtrOutput

Deprecated: this has been moved to the top level and will be removed in version 3.0 of the provider.

func (ServerStorageProfilePtrOutput) StorageMb deprecated

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/en-us/rest/api/postgresql/servers/create#StorageProfile).

Deprecated: this has been moved to the top level and will be removed in version 3.0 of the provider.

func (ServerStorageProfilePtrOutput) ToServerStorageProfilePtrOutput

func (o ServerStorageProfilePtrOutput) ToServerStorageProfilePtrOutput() ServerStorageProfilePtrOutput

func (ServerStorageProfilePtrOutput) ToServerStorageProfilePtrOutputWithContext

func (o ServerStorageProfilePtrOutput) ToServerStorageProfilePtrOutputWithContext(ctx context.Context) ServerStorageProfilePtrOutput

type ServerThreatDetectionPolicy

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

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://MyAccount.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 include `Access_Anomaly`, `Sql_Injection` and `Sql_Injection_Vulnerability`.

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://MyAccount.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? Defaults to `false`.
	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.
	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/en-us/azure/postgresql/concepts-data-access-and-security-vnet)

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &network.VirtualNetworkArgs{
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.7.29.0/29"),
			},
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		internal, err := network.NewSubnet(ctx, "internal", &network.SubnetArgs{
			ResourceGroupName:  exampleResourceGroup.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.7.29.0/29"),
			},
			ServiceEndpoints: pulumi.StringArray{
				pulumi.String("Microsoft.Sql"),
			},
		})
		if err != nil {
			return err
		}
		exampleServer, err := postgresql.NewServer(ctx, "exampleServer", &postgresql.ServerArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			SkuName:           pulumi.String("GP_Gen5_2"),
			StorageProfile: &postgresql.ServerStorageProfileArgs{
				StorageMb:           pulumi.Int(5120),
				BackupRetentionDays: pulumi.Int(7),
				GeoRedundantBackup:  pulumi.String("Disabled"),
			},
			AdministratorLogin:         pulumi.String("psqladmin"),
			AdministratorLoginPassword: pulumi.String("H@Sh1CoR3!"),
			Version:                    pulumi.String("9.5"),
			SslEnforcement:             pulumi.String("Enabled"),
		})
		if err != nil {
			return err
		}
		_, err = postgresql.NewVirtualNetworkRule(ctx, "exampleVirtualNetworkRule", &postgresql.VirtualNetworkRuleArgs{
			ResourceGroupName:                exampleResourceGroup.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

func (*VirtualNetworkRule) ToVirtualNetworkRulePtrOutput

func (i *VirtualNetworkRule) ToVirtualNetworkRulePtrOutput() VirtualNetworkRulePtrOutput

func (*VirtualNetworkRule) ToVirtualNetworkRulePtrOutputWithContext

func (i *VirtualNetworkRule) ToVirtualNetworkRulePtrOutputWithContext(ctx context.Context) VirtualNetworkRulePtrOutput

type VirtualNetworkRuleArgs

type VirtualNetworkRuleArgs struct {
	// Should the Virtual Network Rule be created before the Subnet has the Virtual Network Service Endpoint enabled? Defaults to `false`.
	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.
	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) ToVirtualNetworkRuleOutput

func (o VirtualNetworkRuleOutput) ToVirtualNetworkRuleOutput() VirtualNetworkRuleOutput

func (VirtualNetworkRuleOutput) ToVirtualNetworkRuleOutputWithContext

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

func (VirtualNetworkRuleOutput) ToVirtualNetworkRulePtrOutput

func (o VirtualNetworkRuleOutput) ToVirtualNetworkRulePtrOutput() VirtualNetworkRulePtrOutput

func (VirtualNetworkRuleOutput) ToVirtualNetworkRulePtrOutputWithContext

func (o VirtualNetworkRuleOutput) ToVirtualNetworkRulePtrOutputWithContext(ctx context.Context) VirtualNetworkRulePtrOutput

type VirtualNetworkRulePtrInput

type VirtualNetworkRulePtrInput interface {
	pulumi.Input

	ToVirtualNetworkRulePtrOutput() VirtualNetworkRulePtrOutput
	ToVirtualNetworkRulePtrOutputWithContext(ctx context.Context) VirtualNetworkRulePtrOutput
}

type VirtualNetworkRulePtrOutput

type VirtualNetworkRulePtrOutput struct{ *pulumi.OutputState }

func (VirtualNetworkRulePtrOutput) Elem added in v4.20.0

func (VirtualNetworkRulePtrOutput) ElementType

func (VirtualNetworkRulePtrOutput) ToVirtualNetworkRulePtrOutput

func (o VirtualNetworkRulePtrOutput) ToVirtualNetworkRulePtrOutput() VirtualNetworkRulePtrOutput

func (VirtualNetworkRulePtrOutput) ToVirtualNetworkRulePtrOutputWithContext

func (o VirtualNetworkRulePtrOutput) ToVirtualNetworkRulePtrOutputWithContext(ctx context.Context) VirtualNetworkRulePtrOutput

type VirtualNetworkRuleState

type VirtualNetworkRuleState struct {
	// Should the Virtual Network Rule be created before the Subnet has the Virtual Network Service Endpoint enabled? Defaults to `false`.
	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.
	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