postgresql

package
v3.11.0 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2024 License: Apache-2.0 Imports: 7 Imported by: 3

Documentation

Overview

A Pulumi package for creating and managing postgresql cloud resources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Database

type Database struct {
	pulumi.CustomResourceState

	// If `false` then no one can connect to this
	// database. The default is `true`, allowing connections (except as restricted by
	// other mechanisms, such as `GRANT` or `REVOKE CONNECT`).
	AllowConnections pulumi.BoolPtrOutput `pulumi:"allowConnections"`
	// How many concurrent connections can be
	// established to this database. `-1` (the default) means no limit.
	ConnectionLimit pulumi.IntPtrOutput `pulumi:"connectionLimit"`
	// Character set encoding to use in the new database
	Encoding pulumi.StringOutput `pulumi:"encoding"`
	// If `true`, then this database can be cloned by any
	// user with `CREATEDB` privileges; if `false` (the default), then only
	// superusers or the owner of the database can clone it.
	IsTemplate pulumi.BoolOutput `pulumi:"isTemplate"`
	// Collation order (LC_COLLATE) to use in the new database
	LcCollate pulumi.StringOutput `pulumi:"lcCollate"`
	// Character classification (LC_CTYPE) to use in the new database
	LcCtype pulumi.StringOutput `pulumi:"lcCtype"`
	// The name of the database. Must be unique on the PostgreSQL
	// server instance where it is configured.
	Name pulumi.StringOutput `pulumi:"name"`
	// The role name of the user who will own the database, or
	// `DEFAULT` to use the default (namely, the user executing the command). To
	// create a database owned by another role or to change the owner of an existing
	// database, you must be a direct or indirect member of the specified role, or
	// the username in the provider is a superuser.
	Owner pulumi.StringOutput `pulumi:"owner"`
	// The name of the tablespace that will be
	// associated with the database, or `DEFAULT` to use the template database's
	// tablespace.  This tablespace will be the default tablespace used for objects
	// created in this database.
	TablespaceName pulumi.StringOutput `pulumi:"tablespaceName"`
	// The name of the template from which to create the new database
	Template pulumi.StringOutput `pulumi:"template"`
}

func GetDatabase

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

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

func NewDatabase

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

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

func (*Database) ElementType

func (*Database) ElementType() reflect.Type

func (*Database) ToDatabaseOutput

func (i *Database) ToDatabaseOutput() DatabaseOutput

func (*Database) ToDatabaseOutputWithContext

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

type DatabaseArgs

type DatabaseArgs struct {
	// If `false` then no one can connect to this
	// database. The default is `true`, allowing connections (except as restricted by
	// other mechanisms, such as `GRANT` or `REVOKE CONNECT`).
	AllowConnections pulumi.BoolPtrInput
	// How many concurrent connections can be
	// established to this database. `-1` (the default) means no limit.
	ConnectionLimit pulumi.IntPtrInput
	// Character set encoding to use in the new database
	Encoding pulumi.StringPtrInput
	// If `true`, then this database can be cloned by any
	// user with `CREATEDB` privileges; if `false` (the default), then only
	// superusers or the owner of the database can clone it.
	IsTemplate pulumi.BoolPtrInput
	// Collation order (LC_COLLATE) to use in the new database
	LcCollate pulumi.StringPtrInput
	// Character classification (LC_CTYPE) to use in the new database
	LcCtype pulumi.StringPtrInput
	// The name of the database. Must be unique on the PostgreSQL
	// server instance where it is configured.
	Name pulumi.StringPtrInput
	// The role name of the user who will own the database, or
	// `DEFAULT` to use the default (namely, the user executing the command). To
	// create a database owned by another role or to change the owner of an existing
	// database, you must be a direct or indirect member of the specified role, or
	// the username in the provider is a superuser.
	Owner pulumi.StringPtrInput
	// The name of the tablespace that will be
	// associated with the database, or `DEFAULT` to use the template database's
	// tablespace.  This tablespace will be the default tablespace used for objects
	// created in this database.
	TablespaceName pulumi.StringPtrInput
	// The name of the template from which to create the new database
	Template pulumi.StringPtrInput
}

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) AllowConnections added in v3.5.0

func (o DatabaseOutput) AllowConnections() pulumi.BoolPtrOutput

If `false` then no one can connect to this database. The default is `true`, allowing connections (except as restricted by other mechanisms, such as `GRANT` or `REVOKE CONNECT`).

func (DatabaseOutput) ConnectionLimit added in v3.5.0

func (o DatabaseOutput) ConnectionLimit() pulumi.IntPtrOutput

How many concurrent connections can be established to this database. `-1` (the default) means no limit.

func (DatabaseOutput) ElementType

func (DatabaseOutput) ElementType() reflect.Type

func (DatabaseOutput) Encoding added in v3.5.0

func (o DatabaseOutput) Encoding() pulumi.StringOutput

Character set encoding to use in the new database

func (DatabaseOutput) IsTemplate added in v3.5.0

func (o DatabaseOutput) IsTemplate() pulumi.BoolOutput

If `true`, then this database can be cloned by any user with `CREATEDB` privileges; if `false` (the default), then only superusers or the owner of the database can clone it.

func (DatabaseOutput) LcCollate added in v3.5.0

func (o DatabaseOutput) LcCollate() pulumi.StringOutput

Collation order (LC_COLLATE) to use in the new database

func (DatabaseOutput) LcCtype added in v3.5.0

func (o DatabaseOutput) LcCtype() pulumi.StringOutput

Character classification (LC_CTYPE) to use in the new database

func (DatabaseOutput) Name added in v3.5.0

The name of the database. Must be unique on the PostgreSQL server instance where it is configured.

func (DatabaseOutput) Owner added in v3.5.0

The role name of the user who will own the database, or `DEFAULT` to use the default (namely, the user executing the command). To create a database owned by another role or to change the owner of an existing database, you must be a direct or indirect member of the specified role, or the username in the provider is a superuser.

func (DatabaseOutput) TablespaceName added in v3.5.0

func (o DatabaseOutput) TablespaceName() pulumi.StringOutput

The name of the tablespace that will be associated with the database, or `DEFAULT` to use the template database's tablespace. This tablespace will be the default tablespace used for objects created in this database.

func (DatabaseOutput) Template added in v3.5.0

func (o DatabaseOutput) Template() pulumi.StringOutput

The name of the template from which to create the new database

func (DatabaseOutput) ToDatabaseOutput

func (o DatabaseOutput) ToDatabaseOutput() DatabaseOutput

func (DatabaseOutput) ToDatabaseOutputWithContext

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

type DatabaseState

type DatabaseState struct {
	// If `false` then no one can connect to this
	// database. The default is `true`, allowing connections (except as restricted by
	// other mechanisms, such as `GRANT` or `REVOKE CONNECT`).
	AllowConnections pulumi.BoolPtrInput
	// How many concurrent connections can be
	// established to this database. `-1` (the default) means no limit.
	ConnectionLimit pulumi.IntPtrInput
	// Character set encoding to use in the new database
	Encoding pulumi.StringPtrInput
	// If `true`, then this database can be cloned by any
	// user with `CREATEDB` privileges; if `false` (the default), then only
	// superusers or the owner of the database can clone it.
	IsTemplate pulumi.BoolPtrInput
	// Collation order (LC_COLLATE) to use in the new database
	LcCollate pulumi.StringPtrInput
	// Character classification (LC_CTYPE) to use in the new database
	LcCtype pulumi.StringPtrInput
	// The name of the database. Must be unique on the PostgreSQL
	// server instance where it is configured.
	Name pulumi.StringPtrInput
	// The role name of the user who will own the database, or
	// `DEFAULT` to use the default (namely, the user executing the command). To
	// create a database owned by another role or to change the owner of an existing
	// database, you must be a direct or indirect member of the specified role, or
	// the username in the provider is a superuser.
	Owner pulumi.StringPtrInput
	// The name of the tablespace that will be
	// associated with the database, or `DEFAULT` to use the template database's
	// tablespace.  This tablespace will be the default tablespace used for objects
	// created in this database.
	TablespaceName pulumi.StringPtrInput
	// The name of the template from which to create the new database
	Template pulumi.StringPtrInput
}

func (DatabaseState) ElementType

func (DatabaseState) ElementType() reflect.Type

type DefaultPrivileg deprecated

type DefaultPrivileg struct {
	pulumi.CustomResourceState

	// The database to grant default privileges for this role.
	Database pulumi.StringOutput `pulumi:"database"`
	// The PostgreSQL object type to set the default privileges on (one of: table, sequence, function, type, schema).
	ObjectType pulumi.StringOutput `pulumi:"objectType"`
	// Role for which apply default privileges (You can change default privileges only for objects that will be created by yourself or by roles that you are a member of).
	Owner pulumi.StringOutput `pulumi:"owner"`
	// The list of privileges to apply as default privileges. An empty list could be provided to revoke all default privileges for this role.
	Privileges pulumi.StringArrayOutput `pulumi:"privileges"`
	// The name of the role to which grant default privileges on.
	Role pulumi.StringOutput `pulumi:"role"`
	// The database schema to set default privileges for this role.
	Schema pulumi.StringPtrOutput `pulumi:"schema"`
	// Permit the grant recipient to grant it to others
	WithGrantOption pulumi.BoolPtrOutput `pulumi:"withGrantOption"`
}

The “DefaultPrivileges“ resource creates and manages default privileges given to a user for a database schema.

> **Note:** This resource needs Postgresql version 9 or above.

## Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := postgresql.NewDefaultPrivileges(ctx, "readOnlyTables", &postgresql.DefaultPrivilegesArgs{
			Database:   pulumi.String("test_db"),
			ObjectType: pulumi.String("table"),
			Owner:      pulumi.String("db_owner"),
			Privileges: pulumi.StringArray{
				pulumi.String("SELECT"),
			},
			Role:   pulumi.String("test_role"),
			Schema: pulumi.String("public"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Examples

Revoke default privileges for functions for "public" role:

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := postgresql.NewDefaultPrivileges(ctx, "revokePublic", &postgresql.DefaultPrivilegesArgs{
			Database:   pulumi.Any(postgresql_database.Example_db.Name),
			Role:       pulumi.String("public"),
			Owner:      pulumi.String("object_owner"),
			ObjectType: pulumi.String("function"),
			Privileges: pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

Deprecated: postgresql.DefaultPrivileg has been deprecated in favor of postgresql.DefaultPrivileges

func GetDefaultPrivileg

func GetDefaultPrivileg(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DefaultPrivilegState, opts ...pulumi.ResourceOption) (*DefaultPrivileg, error)

GetDefaultPrivileg gets an existing DefaultPrivileg 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 NewDefaultPrivileg

func NewDefaultPrivileg(ctx *pulumi.Context,
	name string, args *DefaultPrivilegArgs, opts ...pulumi.ResourceOption) (*DefaultPrivileg, error)

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

func (*DefaultPrivileg) ElementType

func (*DefaultPrivileg) ElementType() reflect.Type

func (*DefaultPrivileg) ToDefaultPrivilegOutput

func (i *DefaultPrivileg) ToDefaultPrivilegOutput() DefaultPrivilegOutput

func (*DefaultPrivileg) ToDefaultPrivilegOutputWithContext

func (i *DefaultPrivileg) ToDefaultPrivilegOutputWithContext(ctx context.Context) DefaultPrivilegOutput

type DefaultPrivilegArgs

type DefaultPrivilegArgs struct {
	// The database to grant default privileges for this role.
	Database pulumi.StringInput
	// The PostgreSQL object type to set the default privileges on (one of: table, sequence, function, type, schema).
	ObjectType pulumi.StringInput
	// Role for which apply default privileges (You can change default privileges only for objects that will be created by yourself or by roles that you are a member of).
	Owner pulumi.StringInput
	// The list of privileges to apply as default privileges. An empty list could be provided to revoke all default privileges for this role.
	Privileges pulumi.StringArrayInput
	// The name of the role to which grant default privileges on.
	Role pulumi.StringInput
	// The database schema to set default privileges for this role.
	Schema pulumi.StringPtrInput
	// Permit the grant recipient to grant it to others
	WithGrantOption pulumi.BoolPtrInput
}

The set of arguments for constructing a DefaultPrivileg resource.

func (DefaultPrivilegArgs) ElementType

func (DefaultPrivilegArgs) ElementType() reflect.Type

type DefaultPrivilegArray

type DefaultPrivilegArray []DefaultPrivilegInput

func (DefaultPrivilegArray) ElementType

func (DefaultPrivilegArray) ElementType() reflect.Type

func (DefaultPrivilegArray) ToDefaultPrivilegArrayOutput

func (i DefaultPrivilegArray) ToDefaultPrivilegArrayOutput() DefaultPrivilegArrayOutput

func (DefaultPrivilegArray) ToDefaultPrivilegArrayOutputWithContext

func (i DefaultPrivilegArray) ToDefaultPrivilegArrayOutputWithContext(ctx context.Context) DefaultPrivilegArrayOutput

type DefaultPrivilegArrayInput

type DefaultPrivilegArrayInput interface {
	pulumi.Input

	ToDefaultPrivilegArrayOutput() DefaultPrivilegArrayOutput
	ToDefaultPrivilegArrayOutputWithContext(context.Context) DefaultPrivilegArrayOutput
}

DefaultPrivilegArrayInput is an input type that accepts DefaultPrivilegArray and DefaultPrivilegArrayOutput values. You can construct a concrete instance of `DefaultPrivilegArrayInput` via:

DefaultPrivilegArray{ DefaultPrivilegArgs{...} }

type DefaultPrivilegArrayOutput

type DefaultPrivilegArrayOutput struct{ *pulumi.OutputState }

func (DefaultPrivilegArrayOutput) ElementType

func (DefaultPrivilegArrayOutput) ElementType() reflect.Type

func (DefaultPrivilegArrayOutput) Index

func (DefaultPrivilegArrayOutput) ToDefaultPrivilegArrayOutput

func (o DefaultPrivilegArrayOutput) ToDefaultPrivilegArrayOutput() DefaultPrivilegArrayOutput

func (DefaultPrivilegArrayOutput) ToDefaultPrivilegArrayOutputWithContext

func (o DefaultPrivilegArrayOutput) ToDefaultPrivilegArrayOutputWithContext(ctx context.Context) DefaultPrivilegArrayOutput

type DefaultPrivilegInput

type DefaultPrivilegInput interface {
	pulumi.Input

	ToDefaultPrivilegOutput() DefaultPrivilegOutput
	ToDefaultPrivilegOutputWithContext(ctx context.Context) DefaultPrivilegOutput
}

type DefaultPrivilegMap

type DefaultPrivilegMap map[string]DefaultPrivilegInput

func (DefaultPrivilegMap) ElementType

func (DefaultPrivilegMap) ElementType() reflect.Type

func (DefaultPrivilegMap) ToDefaultPrivilegMapOutput

func (i DefaultPrivilegMap) ToDefaultPrivilegMapOutput() DefaultPrivilegMapOutput

func (DefaultPrivilegMap) ToDefaultPrivilegMapOutputWithContext

func (i DefaultPrivilegMap) ToDefaultPrivilegMapOutputWithContext(ctx context.Context) DefaultPrivilegMapOutput

type DefaultPrivilegMapInput

type DefaultPrivilegMapInput interface {
	pulumi.Input

	ToDefaultPrivilegMapOutput() DefaultPrivilegMapOutput
	ToDefaultPrivilegMapOutputWithContext(context.Context) DefaultPrivilegMapOutput
}

DefaultPrivilegMapInput is an input type that accepts DefaultPrivilegMap and DefaultPrivilegMapOutput values. You can construct a concrete instance of `DefaultPrivilegMapInput` via:

DefaultPrivilegMap{ "key": DefaultPrivilegArgs{...} }

type DefaultPrivilegMapOutput

type DefaultPrivilegMapOutput struct{ *pulumi.OutputState }

func (DefaultPrivilegMapOutput) ElementType

func (DefaultPrivilegMapOutput) ElementType() reflect.Type

func (DefaultPrivilegMapOutput) MapIndex

func (DefaultPrivilegMapOutput) ToDefaultPrivilegMapOutput

func (o DefaultPrivilegMapOutput) ToDefaultPrivilegMapOutput() DefaultPrivilegMapOutput

func (DefaultPrivilegMapOutput) ToDefaultPrivilegMapOutputWithContext

func (o DefaultPrivilegMapOutput) ToDefaultPrivilegMapOutputWithContext(ctx context.Context) DefaultPrivilegMapOutput

type DefaultPrivilegOutput

type DefaultPrivilegOutput struct{ *pulumi.OutputState }

func (DefaultPrivilegOutput) Database added in v3.5.0

The database to grant default privileges for this role.

func (DefaultPrivilegOutput) ElementType

func (DefaultPrivilegOutput) ElementType() reflect.Type

func (DefaultPrivilegOutput) ObjectType added in v3.5.0

func (o DefaultPrivilegOutput) ObjectType() pulumi.StringOutput

The PostgreSQL object type to set the default privileges on (one of: table, sequence, function, type, schema).

func (DefaultPrivilegOutput) Owner added in v3.5.0

Role for which apply default privileges (You can change default privileges only for objects that will be created by yourself or by roles that you are a member of).

func (DefaultPrivilegOutput) Privileges added in v3.5.0

The list of privileges to apply as default privileges. An empty list could be provided to revoke all default privileges for this role.

func (DefaultPrivilegOutput) Role added in v3.5.0

The name of the role to which grant default privileges on.

func (DefaultPrivilegOutput) Schema added in v3.5.0

The database schema to set default privileges for this role.

func (DefaultPrivilegOutput) ToDefaultPrivilegOutput

func (o DefaultPrivilegOutput) ToDefaultPrivilegOutput() DefaultPrivilegOutput

func (DefaultPrivilegOutput) ToDefaultPrivilegOutputWithContext

func (o DefaultPrivilegOutput) ToDefaultPrivilegOutputWithContext(ctx context.Context) DefaultPrivilegOutput

func (DefaultPrivilegOutput) WithGrantOption added in v3.5.0

func (o DefaultPrivilegOutput) WithGrantOption() pulumi.BoolPtrOutput

Permit the grant recipient to grant it to others

type DefaultPrivilegState

type DefaultPrivilegState struct {
	// The database to grant default privileges for this role.
	Database pulumi.StringPtrInput
	// The PostgreSQL object type to set the default privileges on (one of: table, sequence, function, type, schema).
	ObjectType pulumi.StringPtrInput
	// Role for which apply default privileges (You can change default privileges only for objects that will be created by yourself or by roles that you are a member of).
	Owner pulumi.StringPtrInput
	// The list of privileges to apply as default privileges. An empty list could be provided to revoke all default privileges for this role.
	Privileges pulumi.StringArrayInput
	// The name of the role to which grant default privileges on.
	Role pulumi.StringPtrInput
	// The database schema to set default privileges for this role.
	Schema pulumi.StringPtrInput
	// Permit the grant recipient to grant it to others
	WithGrantOption pulumi.BoolPtrInput
}

func (DefaultPrivilegState) ElementType

func (DefaultPrivilegState) ElementType() reflect.Type

type DefaultPrivileges

type DefaultPrivileges struct {
	pulumi.CustomResourceState

	// The database to grant default privileges for this role.
	Database pulumi.StringOutput `pulumi:"database"`
	// The PostgreSQL object type to set the default privileges on (one of: table, sequence, function, type, schema).
	ObjectType pulumi.StringOutput `pulumi:"objectType"`
	// Role for which apply default privileges (You can change default privileges only for objects that will be created by yourself or by roles that you are a member of).
	Owner pulumi.StringOutput `pulumi:"owner"`
	// The list of privileges to apply as default privileges. An empty list could be provided to revoke all default privileges for this role.
	Privileges pulumi.StringArrayOutput `pulumi:"privileges"`
	// The name of the role to which grant default privileges on.
	Role pulumi.StringOutput `pulumi:"role"`
	// The database schema to set default privileges for this role.
	Schema pulumi.StringPtrOutput `pulumi:"schema"`
	// Permit the grant recipient to grant it to others
	WithGrantOption pulumi.BoolPtrOutput `pulumi:"withGrantOption"`
}

The “DefaultPrivileges“ resource creates and manages default privileges given to a user for a database schema.

> **Note:** This resource needs Postgresql version 9 or above.

## Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := postgresql.NewDefaultPrivileges(ctx, "readOnlyTables", &postgresql.DefaultPrivilegesArgs{
			Database:   pulumi.String("test_db"),
			ObjectType: pulumi.String("table"),
			Owner:      pulumi.String("db_owner"),
			Privileges: pulumi.StringArray{
				pulumi.String("SELECT"),
			},
			Role:   pulumi.String("test_role"),
			Schema: pulumi.String("public"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Examples

Revoke default privileges for functions for "public" role:

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := postgresql.NewDefaultPrivileges(ctx, "revokePublic", &postgresql.DefaultPrivilegesArgs{
			Database:   pulumi.Any(postgresql_database.Example_db.Name),
			Role:       pulumi.String("public"),
			Owner:      pulumi.String("object_owner"),
			ObjectType: pulumi.String("function"),
			Privileges: pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetDefaultPrivileges

func GetDefaultPrivileges(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DefaultPrivilegesState, opts ...pulumi.ResourceOption) (*DefaultPrivileges, error)

GetDefaultPrivileges gets an existing DefaultPrivileges 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 NewDefaultPrivileges

func NewDefaultPrivileges(ctx *pulumi.Context,
	name string, args *DefaultPrivilegesArgs, opts ...pulumi.ResourceOption) (*DefaultPrivileges, error)

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

func (*DefaultPrivileges) ElementType

func (*DefaultPrivileges) ElementType() reflect.Type

func (*DefaultPrivileges) ToDefaultPrivilegesOutput

func (i *DefaultPrivileges) ToDefaultPrivilegesOutput() DefaultPrivilegesOutput

func (*DefaultPrivileges) ToDefaultPrivilegesOutputWithContext

func (i *DefaultPrivileges) ToDefaultPrivilegesOutputWithContext(ctx context.Context) DefaultPrivilegesOutput

type DefaultPrivilegesArgs

type DefaultPrivilegesArgs struct {
	// The database to grant default privileges for this role.
	Database pulumi.StringInput
	// The PostgreSQL object type to set the default privileges on (one of: table, sequence, function, type, schema).
	ObjectType pulumi.StringInput
	// Role for which apply default privileges (You can change default privileges only for objects that will be created by yourself or by roles that you are a member of).
	Owner pulumi.StringInput
	// The list of privileges to apply as default privileges. An empty list could be provided to revoke all default privileges for this role.
	Privileges pulumi.StringArrayInput
	// The name of the role to which grant default privileges on.
	Role pulumi.StringInput
	// The database schema to set default privileges for this role.
	Schema pulumi.StringPtrInput
	// Permit the grant recipient to grant it to others
	WithGrantOption pulumi.BoolPtrInput
}

The set of arguments for constructing a DefaultPrivileges resource.

func (DefaultPrivilegesArgs) ElementType

func (DefaultPrivilegesArgs) ElementType() reflect.Type

type DefaultPrivilegesArray

type DefaultPrivilegesArray []DefaultPrivilegesInput

func (DefaultPrivilegesArray) ElementType

func (DefaultPrivilegesArray) ElementType() reflect.Type

func (DefaultPrivilegesArray) ToDefaultPrivilegesArrayOutput

func (i DefaultPrivilegesArray) ToDefaultPrivilegesArrayOutput() DefaultPrivilegesArrayOutput

func (DefaultPrivilegesArray) ToDefaultPrivilegesArrayOutputWithContext

func (i DefaultPrivilegesArray) ToDefaultPrivilegesArrayOutputWithContext(ctx context.Context) DefaultPrivilegesArrayOutput

type DefaultPrivilegesArrayInput

type DefaultPrivilegesArrayInput interface {
	pulumi.Input

	ToDefaultPrivilegesArrayOutput() DefaultPrivilegesArrayOutput
	ToDefaultPrivilegesArrayOutputWithContext(context.Context) DefaultPrivilegesArrayOutput
}

DefaultPrivilegesArrayInput is an input type that accepts DefaultPrivilegesArray and DefaultPrivilegesArrayOutput values. You can construct a concrete instance of `DefaultPrivilegesArrayInput` via:

DefaultPrivilegesArray{ DefaultPrivilegesArgs{...} }

type DefaultPrivilegesArrayOutput

type DefaultPrivilegesArrayOutput struct{ *pulumi.OutputState }

func (DefaultPrivilegesArrayOutput) ElementType

func (DefaultPrivilegesArrayOutput) Index

func (DefaultPrivilegesArrayOutput) ToDefaultPrivilegesArrayOutput

func (o DefaultPrivilegesArrayOutput) ToDefaultPrivilegesArrayOutput() DefaultPrivilegesArrayOutput

func (DefaultPrivilegesArrayOutput) ToDefaultPrivilegesArrayOutputWithContext

func (o DefaultPrivilegesArrayOutput) ToDefaultPrivilegesArrayOutputWithContext(ctx context.Context) DefaultPrivilegesArrayOutput

type DefaultPrivilegesInput

type DefaultPrivilegesInput interface {
	pulumi.Input

	ToDefaultPrivilegesOutput() DefaultPrivilegesOutput
	ToDefaultPrivilegesOutputWithContext(ctx context.Context) DefaultPrivilegesOutput
}

type DefaultPrivilegesMap

type DefaultPrivilegesMap map[string]DefaultPrivilegesInput

func (DefaultPrivilegesMap) ElementType

func (DefaultPrivilegesMap) ElementType() reflect.Type

func (DefaultPrivilegesMap) ToDefaultPrivilegesMapOutput

func (i DefaultPrivilegesMap) ToDefaultPrivilegesMapOutput() DefaultPrivilegesMapOutput

func (DefaultPrivilegesMap) ToDefaultPrivilegesMapOutputWithContext

func (i DefaultPrivilegesMap) ToDefaultPrivilegesMapOutputWithContext(ctx context.Context) DefaultPrivilegesMapOutput

type DefaultPrivilegesMapInput

type DefaultPrivilegesMapInput interface {
	pulumi.Input

	ToDefaultPrivilegesMapOutput() DefaultPrivilegesMapOutput
	ToDefaultPrivilegesMapOutputWithContext(context.Context) DefaultPrivilegesMapOutput
}

DefaultPrivilegesMapInput is an input type that accepts DefaultPrivilegesMap and DefaultPrivilegesMapOutput values. You can construct a concrete instance of `DefaultPrivilegesMapInput` via:

DefaultPrivilegesMap{ "key": DefaultPrivilegesArgs{...} }

type DefaultPrivilegesMapOutput

type DefaultPrivilegesMapOutput struct{ *pulumi.OutputState }

func (DefaultPrivilegesMapOutput) ElementType

func (DefaultPrivilegesMapOutput) ElementType() reflect.Type

func (DefaultPrivilegesMapOutput) MapIndex

func (DefaultPrivilegesMapOutput) ToDefaultPrivilegesMapOutput

func (o DefaultPrivilegesMapOutput) ToDefaultPrivilegesMapOutput() DefaultPrivilegesMapOutput

func (DefaultPrivilegesMapOutput) ToDefaultPrivilegesMapOutputWithContext

func (o DefaultPrivilegesMapOutput) ToDefaultPrivilegesMapOutputWithContext(ctx context.Context) DefaultPrivilegesMapOutput

type DefaultPrivilegesOutput

type DefaultPrivilegesOutput struct{ *pulumi.OutputState }

func (DefaultPrivilegesOutput) Database added in v3.5.0

The database to grant default privileges for this role.

func (DefaultPrivilegesOutput) ElementType

func (DefaultPrivilegesOutput) ElementType() reflect.Type

func (DefaultPrivilegesOutput) ObjectType added in v3.5.0

The PostgreSQL object type to set the default privileges on (one of: table, sequence, function, type, schema).

func (DefaultPrivilegesOutput) Owner added in v3.5.0

Role for which apply default privileges (You can change default privileges only for objects that will be created by yourself or by roles that you are a member of).

func (DefaultPrivilegesOutput) Privileges added in v3.5.0

The list of privileges to apply as default privileges. An empty list could be provided to revoke all default privileges for this role.

func (DefaultPrivilegesOutput) Role added in v3.5.0

The name of the role to which grant default privileges on.

func (DefaultPrivilegesOutput) Schema added in v3.5.0

The database schema to set default privileges for this role.

func (DefaultPrivilegesOutput) ToDefaultPrivilegesOutput

func (o DefaultPrivilegesOutput) ToDefaultPrivilegesOutput() DefaultPrivilegesOutput

func (DefaultPrivilegesOutput) ToDefaultPrivilegesOutputWithContext

func (o DefaultPrivilegesOutput) ToDefaultPrivilegesOutputWithContext(ctx context.Context) DefaultPrivilegesOutput

func (DefaultPrivilegesOutput) WithGrantOption added in v3.5.0

func (o DefaultPrivilegesOutput) WithGrantOption() pulumi.BoolPtrOutput

Permit the grant recipient to grant it to others

type DefaultPrivilegesState

type DefaultPrivilegesState struct {
	// The database to grant default privileges for this role.
	Database pulumi.StringPtrInput
	// The PostgreSQL object type to set the default privileges on (one of: table, sequence, function, type, schema).
	ObjectType pulumi.StringPtrInput
	// Role for which apply default privileges (You can change default privileges only for objects that will be created by yourself or by roles that you are a member of).
	Owner pulumi.StringPtrInput
	// The list of privileges to apply as default privileges. An empty list could be provided to revoke all default privileges for this role.
	Privileges pulumi.StringArrayInput
	// The name of the role to which grant default privileges on.
	Role pulumi.StringPtrInput
	// The database schema to set default privileges for this role.
	Schema pulumi.StringPtrInput
	// Permit the grant recipient to grant it to others
	WithGrantOption pulumi.BoolPtrInput
}

func (DefaultPrivilegesState) ElementType

func (DefaultPrivilegesState) ElementType() reflect.Type

type Extension

type Extension struct {
	pulumi.CustomResourceState

	// When true, will also create any extensions that this extension depends on that are not already installed. (Default: false)
	CreateCascade pulumi.BoolPtrOutput `pulumi:"createCascade"`
	// Which database to create the extension on. Defaults to provider database.
	Database pulumi.StringOutput `pulumi:"database"`
	// When true, will also drop all the objects that depend on the extension, and in turn all objects that depend on those objects. (Default: false)
	DropCascade pulumi.BoolPtrOutput `pulumi:"dropCascade"`
	// The name of the extension.
	Name pulumi.StringOutput `pulumi:"name"`
	// Sets the schema of an extension.
	Schema pulumi.StringOutput `pulumi:"schema"`
	// Sets the version number of the extension.
	Version pulumi.StringOutput `pulumi:"version"`
}

The “Extension“ resource creates and manages an extension on a PostgreSQL server.

## Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := postgresql.NewExtension(ctx, "myExtension", nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

PostgreSQL Extensions can be imported using the database name and the extension's resource name, e.g.

```sh $ pulumi import postgresql:index/extension:Extension uuid_ossp example-database.uuid-ossp` ```

func GetExtension

func GetExtension(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ExtensionState, opts ...pulumi.ResourceOption) (*Extension, error)

GetExtension gets an existing Extension 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 NewExtension

func NewExtension(ctx *pulumi.Context,
	name string, args *ExtensionArgs, opts ...pulumi.ResourceOption) (*Extension, error)

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

func (*Extension) ElementType

func (*Extension) ElementType() reflect.Type

func (*Extension) ToExtensionOutput

func (i *Extension) ToExtensionOutput() ExtensionOutput

func (*Extension) ToExtensionOutputWithContext

func (i *Extension) ToExtensionOutputWithContext(ctx context.Context) ExtensionOutput

type ExtensionArgs

type ExtensionArgs struct {
	// When true, will also create any extensions that this extension depends on that are not already installed. (Default: false)
	CreateCascade pulumi.BoolPtrInput
	// Which database to create the extension on. Defaults to provider database.
	Database pulumi.StringPtrInput
	// When true, will also drop all the objects that depend on the extension, and in turn all objects that depend on those objects. (Default: false)
	DropCascade pulumi.BoolPtrInput
	// The name of the extension.
	Name pulumi.StringPtrInput
	// Sets the schema of an extension.
	Schema pulumi.StringPtrInput
	// Sets the version number of the extension.
	Version pulumi.StringPtrInput
}

The set of arguments for constructing a Extension resource.

func (ExtensionArgs) ElementType

func (ExtensionArgs) ElementType() reflect.Type

type ExtensionArray

type ExtensionArray []ExtensionInput

func (ExtensionArray) ElementType

func (ExtensionArray) ElementType() reflect.Type

func (ExtensionArray) ToExtensionArrayOutput

func (i ExtensionArray) ToExtensionArrayOutput() ExtensionArrayOutput

func (ExtensionArray) ToExtensionArrayOutputWithContext

func (i ExtensionArray) ToExtensionArrayOutputWithContext(ctx context.Context) ExtensionArrayOutput

type ExtensionArrayInput

type ExtensionArrayInput interface {
	pulumi.Input

	ToExtensionArrayOutput() ExtensionArrayOutput
	ToExtensionArrayOutputWithContext(context.Context) ExtensionArrayOutput
}

ExtensionArrayInput is an input type that accepts ExtensionArray and ExtensionArrayOutput values. You can construct a concrete instance of `ExtensionArrayInput` via:

ExtensionArray{ ExtensionArgs{...} }

type ExtensionArrayOutput

type ExtensionArrayOutput struct{ *pulumi.OutputState }

func (ExtensionArrayOutput) ElementType

func (ExtensionArrayOutput) ElementType() reflect.Type

func (ExtensionArrayOutput) Index

func (ExtensionArrayOutput) ToExtensionArrayOutput

func (o ExtensionArrayOutput) ToExtensionArrayOutput() ExtensionArrayOutput

func (ExtensionArrayOutput) ToExtensionArrayOutputWithContext

func (o ExtensionArrayOutput) ToExtensionArrayOutputWithContext(ctx context.Context) ExtensionArrayOutput

type ExtensionInput

type ExtensionInput interface {
	pulumi.Input

	ToExtensionOutput() ExtensionOutput
	ToExtensionOutputWithContext(ctx context.Context) ExtensionOutput
}

type ExtensionMap

type ExtensionMap map[string]ExtensionInput

func (ExtensionMap) ElementType

func (ExtensionMap) ElementType() reflect.Type

func (ExtensionMap) ToExtensionMapOutput

func (i ExtensionMap) ToExtensionMapOutput() ExtensionMapOutput

func (ExtensionMap) ToExtensionMapOutputWithContext

func (i ExtensionMap) ToExtensionMapOutputWithContext(ctx context.Context) ExtensionMapOutput

type ExtensionMapInput

type ExtensionMapInput interface {
	pulumi.Input

	ToExtensionMapOutput() ExtensionMapOutput
	ToExtensionMapOutputWithContext(context.Context) ExtensionMapOutput
}

ExtensionMapInput is an input type that accepts ExtensionMap and ExtensionMapOutput values. You can construct a concrete instance of `ExtensionMapInput` via:

ExtensionMap{ "key": ExtensionArgs{...} }

type ExtensionMapOutput

type ExtensionMapOutput struct{ *pulumi.OutputState }

func (ExtensionMapOutput) ElementType

func (ExtensionMapOutput) ElementType() reflect.Type

func (ExtensionMapOutput) MapIndex

func (ExtensionMapOutput) ToExtensionMapOutput

func (o ExtensionMapOutput) ToExtensionMapOutput() ExtensionMapOutput

func (ExtensionMapOutput) ToExtensionMapOutputWithContext

func (o ExtensionMapOutput) ToExtensionMapOutputWithContext(ctx context.Context) ExtensionMapOutput

type ExtensionOutput

type ExtensionOutput struct{ *pulumi.OutputState }

func (ExtensionOutput) CreateCascade added in v3.5.0

func (o ExtensionOutput) CreateCascade() pulumi.BoolPtrOutput

When true, will also create any extensions that this extension depends on that are not already installed. (Default: false)

func (ExtensionOutput) Database added in v3.5.0

func (o ExtensionOutput) Database() pulumi.StringOutput

Which database to create the extension on. Defaults to provider database.

func (ExtensionOutput) DropCascade added in v3.5.0

func (o ExtensionOutput) DropCascade() pulumi.BoolPtrOutput

When true, will also drop all the objects that depend on the extension, and in turn all objects that depend on those objects. (Default: false)

func (ExtensionOutput) ElementType

func (ExtensionOutput) ElementType() reflect.Type

func (ExtensionOutput) Name added in v3.5.0

The name of the extension.

func (ExtensionOutput) Schema added in v3.5.0

func (o ExtensionOutput) Schema() pulumi.StringOutput

Sets the schema of an extension.

func (ExtensionOutput) ToExtensionOutput

func (o ExtensionOutput) ToExtensionOutput() ExtensionOutput

func (ExtensionOutput) ToExtensionOutputWithContext

func (o ExtensionOutput) ToExtensionOutputWithContext(ctx context.Context) ExtensionOutput

func (ExtensionOutput) Version added in v3.5.0

func (o ExtensionOutput) Version() pulumi.StringOutput

Sets the version number of the extension.

type ExtensionState

type ExtensionState struct {
	// When true, will also create any extensions that this extension depends on that are not already installed. (Default: false)
	CreateCascade pulumi.BoolPtrInput
	// Which database to create the extension on. Defaults to provider database.
	Database pulumi.StringPtrInput
	// When true, will also drop all the objects that depend on the extension, and in turn all objects that depend on those objects. (Default: false)
	DropCascade pulumi.BoolPtrInput
	// The name of the extension.
	Name pulumi.StringPtrInput
	// Sets the schema of an extension.
	Schema pulumi.StringPtrInput
	// Sets the version number of the extension.
	Version pulumi.StringPtrInput
}

func (ExtensionState) ElementType

func (ExtensionState) ElementType() reflect.Type

type Function added in v3.5.0

type Function struct {
	pulumi.CustomResourceState

	// List of arguments for the function.
	Args FunctionArgArrayOutput `pulumi:"args"`
	// Function body.
	// This should be the body content within the `AS $$` and the final `$$`. It will also accept the `AS $$` and `$$` if added.
	Body pulumi.StringOutput `pulumi:"body"`
	// The database where the function is located.
	// If not specified, the function is created in the current database.
	Database pulumi.StringOutput `pulumi:"database"`
	// True to automatically drop objects that depend on the function (such as
	// operators or triggers), and in turn all objects that depend on those objects. Default is false.
	DropCascade pulumi.BoolPtrOutput `pulumi:"dropCascade"`
	// The function programming language. Can be one of internal, sql, c, plpgsql. Default is plpgsql.
	Language pulumi.StringPtrOutput `pulumi:"language"`
	// The name of the argument.
	Name pulumi.StringOutput `pulumi:"name"`
	// Indicates if the function is parallel safe. Can be one of UNSAFE, RESTRICTED, or SAFE. Default is UNSAFE.
	Parallel pulumi.StringPtrOutput `pulumi:"parallel"`
	// Type that the function returns. It can be computed from the OUT arguments. Default is void.
	Returns pulumi.StringOutput `pulumi:"returns"`
	// The schema where the function is located.
	// If not specified, the function is created in the current schema.
	Schema pulumi.StringOutput `pulumi:"schema"`
	// If the function should execute with the permissions of the owner, rather than the permissions of the caller. Default is false.
	SecurityDefiner pulumi.BoolPtrOutput `pulumi:"securityDefiner"`
	// If the function should always return NULL when any of the inputs is NULL. Default is false.
	Strict pulumi.BoolPtrOutput `pulumi:"strict"`
	// Defines the volatility of the function. Can be one of VOLATILE, STABLE, or IMMUTABLE. Default is VOLATILE.
	Volatility pulumi.StringPtrOutput `pulumi:"volatility"`
}

The “Function“ resource creates and manages a function on a PostgreSQL server.

## Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := postgresql.NewFunction(ctx, "increment", &postgresql.FunctionArgs{
			Args: postgresql.FunctionArgArray{
				&postgresql.FunctionArgArgs{
					Name: pulumi.String("i"),
					Type: pulumi.String("integer"),
				},
			},
			Body:     pulumi.String("    BEGIN\n        RETURN i + 1;\n    END;\n\n"),
			Language: pulumi.String("plpgsql"),
			Returns:  pulumi.String("integer"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

It is possible to import a `postgresql_function` resource with the following command:

```sh

$ pulumi import postgresql:index/function:Function function_foo "my_database.my_schema.my_function_name(arguments)"

```

Where `my_database` is the name of the database containing the schema, `my_schema` is the name of the schema in the PostgreSQL database, `my_function_name` is the function name to be imported, `arguments` is the argument signature of the function including all non OUT types and `postgresql_schema.function_foo` is the name of the resource whose state will be populated as a result of the command.

func GetFunction added in v3.5.0

func GetFunction(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FunctionState, opts ...pulumi.ResourceOption) (*Function, error)

GetFunction gets an existing Function 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 NewFunction added in v3.5.0

func NewFunction(ctx *pulumi.Context,
	name string, args *FunctionArgs, opts ...pulumi.ResourceOption) (*Function, error)

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

func (*Function) ElementType added in v3.5.0

func (*Function) ElementType() reflect.Type

func (*Function) ToFunctionOutput added in v3.5.0

func (i *Function) ToFunctionOutput() FunctionOutput

func (*Function) ToFunctionOutputWithContext added in v3.5.0

func (i *Function) ToFunctionOutputWithContext(ctx context.Context) FunctionOutput

type FunctionArg added in v3.5.0

type FunctionArg struct {
	// An expression to be used as default value if the parameter is not specified.
	Default *string `pulumi:"default"`
	// Can be one of IN, INOUT, OUT, or VARIADIC. Default is IN.
	Mode *string `pulumi:"mode"`
	// The name of the argument.
	Name *string `pulumi:"name"`
	// The type of the argument.
	Type string `pulumi:"type"`
}

type FunctionArgArgs added in v3.5.0

type FunctionArgArgs struct {
	// An expression to be used as default value if the parameter is not specified.
	Default pulumi.StringPtrInput `pulumi:"default"`
	// Can be one of IN, INOUT, OUT, or VARIADIC. Default is IN.
	Mode pulumi.StringPtrInput `pulumi:"mode"`
	// The name of the argument.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The type of the argument.
	Type pulumi.StringInput `pulumi:"type"`
}

func (FunctionArgArgs) ElementType added in v3.5.0

func (FunctionArgArgs) ElementType() reflect.Type

func (FunctionArgArgs) ToFunctionArgOutput added in v3.5.0

func (i FunctionArgArgs) ToFunctionArgOutput() FunctionArgOutput

func (FunctionArgArgs) ToFunctionArgOutputWithContext added in v3.5.0

func (i FunctionArgArgs) ToFunctionArgOutputWithContext(ctx context.Context) FunctionArgOutput

type FunctionArgArray added in v3.5.0

type FunctionArgArray []FunctionArgInput

func (FunctionArgArray) ElementType added in v3.5.0

func (FunctionArgArray) ElementType() reflect.Type

func (FunctionArgArray) ToFunctionArgArrayOutput added in v3.5.0

func (i FunctionArgArray) ToFunctionArgArrayOutput() FunctionArgArrayOutput

func (FunctionArgArray) ToFunctionArgArrayOutputWithContext added in v3.5.0

func (i FunctionArgArray) ToFunctionArgArrayOutputWithContext(ctx context.Context) FunctionArgArrayOutput

type FunctionArgArrayInput added in v3.5.0

type FunctionArgArrayInput interface {
	pulumi.Input

	ToFunctionArgArrayOutput() FunctionArgArrayOutput
	ToFunctionArgArrayOutputWithContext(context.Context) FunctionArgArrayOutput
}

FunctionArgArrayInput is an input type that accepts FunctionArgArray and FunctionArgArrayOutput values. You can construct a concrete instance of `FunctionArgArrayInput` via:

FunctionArgArray{ FunctionArgArgs{...} }

type FunctionArgArrayOutput added in v3.5.0

type FunctionArgArrayOutput struct{ *pulumi.OutputState }

func (FunctionArgArrayOutput) ElementType added in v3.5.0

func (FunctionArgArrayOutput) ElementType() reflect.Type

func (FunctionArgArrayOutput) Index added in v3.5.0

func (FunctionArgArrayOutput) ToFunctionArgArrayOutput added in v3.5.0

func (o FunctionArgArrayOutput) ToFunctionArgArrayOutput() FunctionArgArrayOutput

func (FunctionArgArrayOutput) ToFunctionArgArrayOutputWithContext added in v3.5.0

func (o FunctionArgArrayOutput) ToFunctionArgArrayOutputWithContext(ctx context.Context) FunctionArgArrayOutput

type FunctionArgInput added in v3.5.0

type FunctionArgInput interface {
	pulumi.Input

	ToFunctionArgOutput() FunctionArgOutput
	ToFunctionArgOutputWithContext(context.Context) FunctionArgOutput
}

FunctionArgInput is an input type that accepts FunctionArgArgs and FunctionArgOutput values. You can construct a concrete instance of `FunctionArgInput` via:

FunctionArgArgs{...}

type FunctionArgOutput added in v3.5.0

type FunctionArgOutput struct{ *pulumi.OutputState }

func (FunctionArgOutput) Default added in v3.5.0

An expression to be used as default value if the parameter is not specified.

func (FunctionArgOutput) ElementType added in v3.5.0

func (FunctionArgOutput) ElementType() reflect.Type

func (FunctionArgOutput) Mode added in v3.5.0

Can be one of IN, INOUT, OUT, or VARIADIC. Default is IN.

func (FunctionArgOutput) Name added in v3.5.0

The name of the argument.

func (FunctionArgOutput) ToFunctionArgOutput added in v3.5.0

func (o FunctionArgOutput) ToFunctionArgOutput() FunctionArgOutput

func (FunctionArgOutput) ToFunctionArgOutputWithContext added in v3.5.0

func (o FunctionArgOutput) ToFunctionArgOutputWithContext(ctx context.Context) FunctionArgOutput

func (FunctionArgOutput) Type added in v3.5.0

The type of the argument.

type FunctionArgs added in v3.5.0

type FunctionArgs struct {
	// List of arguments for the function.
	Args FunctionArgArrayInput
	// Function body.
	// This should be the body content within the `AS $$` and the final `$$`. It will also accept the `AS $$` and `$$` if added.
	Body pulumi.StringInput
	// The database where the function is located.
	// If not specified, the function is created in the current database.
	Database pulumi.StringPtrInput
	// True to automatically drop objects that depend on the function (such as
	// operators or triggers), and in turn all objects that depend on those objects. Default is false.
	DropCascade pulumi.BoolPtrInput
	// The function programming language. Can be one of internal, sql, c, plpgsql. Default is plpgsql.
	Language pulumi.StringPtrInput
	// The name of the argument.
	Name pulumi.StringPtrInput
	// Indicates if the function is parallel safe. Can be one of UNSAFE, RESTRICTED, or SAFE. Default is UNSAFE.
	Parallel pulumi.StringPtrInput
	// Type that the function returns. It can be computed from the OUT arguments. Default is void.
	Returns pulumi.StringPtrInput
	// The schema where the function is located.
	// If not specified, the function is created in the current schema.
	Schema pulumi.StringPtrInput
	// If the function should execute with the permissions of the owner, rather than the permissions of the caller. Default is false.
	SecurityDefiner pulumi.BoolPtrInput
	// If the function should always return NULL when any of the inputs is NULL. Default is false.
	Strict pulumi.BoolPtrInput
	// Defines the volatility of the function. Can be one of VOLATILE, STABLE, or IMMUTABLE. Default is VOLATILE.
	Volatility pulumi.StringPtrInput
}

The set of arguments for constructing a Function resource.

func (FunctionArgs) ElementType added in v3.5.0

func (FunctionArgs) ElementType() reflect.Type

type FunctionArray added in v3.5.0

type FunctionArray []FunctionInput

func (FunctionArray) ElementType added in v3.5.0

func (FunctionArray) ElementType() reflect.Type

func (FunctionArray) ToFunctionArrayOutput added in v3.5.0

func (i FunctionArray) ToFunctionArrayOutput() FunctionArrayOutput

func (FunctionArray) ToFunctionArrayOutputWithContext added in v3.5.0

func (i FunctionArray) ToFunctionArrayOutputWithContext(ctx context.Context) FunctionArrayOutput

type FunctionArrayInput added in v3.5.0

type FunctionArrayInput interface {
	pulumi.Input

	ToFunctionArrayOutput() FunctionArrayOutput
	ToFunctionArrayOutputWithContext(context.Context) FunctionArrayOutput
}

FunctionArrayInput is an input type that accepts FunctionArray and FunctionArrayOutput values. You can construct a concrete instance of `FunctionArrayInput` via:

FunctionArray{ FunctionArgs{...} }

type FunctionArrayOutput added in v3.5.0

type FunctionArrayOutput struct{ *pulumi.OutputState }

func (FunctionArrayOutput) ElementType added in v3.5.0

func (FunctionArrayOutput) ElementType() reflect.Type

func (FunctionArrayOutput) Index added in v3.5.0

func (FunctionArrayOutput) ToFunctionArrayOutput added in v3.5.0

func (o FunctionArrayOutput) ToFunctionArrayOutput() FunctionArrayOutput

func (FunctionArrayOutput) ToFunctionArrayOutputWithContext added in v3.5.0

func (o FunctionArrayOutput) ToFunctionArrayOutputWithContext(ctx context.Context) FunctionArrayOutput

type FunctionInput added in v3.5.0

type FunctionInput interface {
	pulumi.Input

	ToFunctionOutput() FunctionOutput
	ToFunctionOutputWithContext(ctx context.Context) FunctionOutput
}

type FunctionMap added in v3.5.0

type FunctionMap map[string]FunctionInput

func (FunctionMap) ElementType added in v3.5.0

func (FunctionMap) ElementType() reflect.Type

func (FunctionMap) ToFunctionMapOutput added in v3.5.0

func (i FunctionMap) ToFunctionMapOutput() FunctionMapOutput

func (FunctionMap) ToFunctionMapOutputWithContext added in v3.5.0

func (i FunctionMap) ToFunctionMapOutputWithContext(ctx context.Context) FunctionMapOutput

type FunctionMapInput added in v3.5.0

type FunctionMapInput interface {
	pulumi.Input

	ToFunctionMapOutput() FunctionMapOutput
	ToFunctionMapOutputWithContext(context.Context) FunctionMapOutput
}

FunctionMapInput is an input type that accepts FunctionMap and FunctionMapOutput values. You can construct a concrete instance of `FunctionMapInput` via:

FunctionMap{ "key": FunctionArgs{...} }

type FunctionMapOutput added in v3.5.0

type FunctionMapOutput struct{ *pulumi.OutputState }

func (FunctionMapOutput) ElementType added in v3.5.0

func (FunctionMapOutput) ElementType() reflect.Type

func (FunctionMapOutput) MapIndex added in v3.5.0

func (FunctionMapOutput) ToFunctionMapOutput added in v3.5.0

func (o FunctionMapOutput) ToFunctionMapOutput() FunctionMapOutput

func (FunctionMapOutput) ToFunctionMapOutputWithContext added in v3.5.0

func (o FunctionMapOutput) ToFunctionMapOutputWithContext(ctx context.Context) FunctionMapOutput

type FunctionOutput added in v3.5.0

type FunctionOutput struct{ *pulumi.OutputState }

func (FunctionOutput) Args added in v3.5.0

List of arguments for the function.

func (FunctionOutput) Body added in v3.5.0

Function body. This should be the body content within the `AS $$` and the final `$$`. It will also accept the `AS $$` and `$$` if added.

func (FunctionOutput) Database added in v3.6.0

func (o FunctionOutput) Database() pulumi.StringOutput

The database where the function is located. If not specified, the function is created in the current database.

func (FunctionOutput) DropCascade added in v3.5.0

func (o FunctionOutput) DropCascade() pulumi.BoolPtrOutput

True to automatically drop objects that depend on the function (such as operators or triggers), and in turn all objects that depend on those objects. Default is false.

func (FunctionOutput) ElementType added in v3.5.0

func (FunctionOutput) ElementType() reflect.Type

func (FunctionOutput) Language added in v3.8.0

func (o FunctionOutput) Language() pulumi.StringPtrOutput

The function programming language. Can be one of internal, sql, c, plpgsql. Default is plpgsql.

func (FunctionOutput) Name added in v3.5.0

The name of the argument.

func (FunctionOutput) Parallel added in v3.10.0

func (o FunctionOutput) Parallel() pulumi.StringPtrOutput

Indicates if the function is parallel safe. Can be one of UNSAFE, RESTRICTED, or SAFE. Default is UNSAFE.

func (FunctionOutput) Returns added in v3.5.0

func (o FunctionOutput) Returns() pulumi.StringOutput

Type that the function returns. It can be computed from the OUT arguments. Default is void.

func (FunctionOutput) Schema added in v3.5.0

func (o FunctionOutput) Schema() pulumi.StringOutput

The schema where the function is located. If not specified, the function is created in the current schema.

func (FunctionOutput) SecurityDefiner added in v3.10.0

func (o FunctionOutput) SecurityDefiner() pulumi.BoolPtrOutput

If the function should execute with the permissions of the owner, rather than the permissions of the caller. Default is false.

func (FunctionOutput) Strict added in v3.10.0

func (o FunctionOutput) Strict() pulumi.BoolPtrOutput

If the function should always return NULL when any of the inputs is NULL. Default is false.

func (FunctionOutput) ToFunctionOutput added in v3.5.0

func (o FunctionOutput) ToFunctionOutput() FunctionOutput

func (FunctionOutput) ToFunctionOutputWithContext added in v3.5.0

func (o FunctionOutput) ToFunctionOutputWithContext(ctx context.Context) FunctionOutput

func (FunctionOutput) Volatility added in v3.10.0

func (o FunctionOutput) Volatility() pulumi.StringPtrOutput

Defines the volatility of the function. Can be one of VOLATILE, STABLE, or IMMUTABLE. Default is VOLATILE.

type FunctionState added in v3.5.0

type FunctionState struct {
	// List of arguments for the function.
	Args FunctionArgArrayInput
	// Function body.
	// This should be the body content within the `AS $$` and the final `$$`. It will also accept the `AS $$` and `$$` if added.
	Body pulumi.StringPtrInput
	// The database where the function is located.
	// If not specified, the function is created in the current database.
	Database pulumi.StringPtrInput
	// True to automatically drop objects that depend on the function (such as
	// operators or triggers), and in turn all objects that depend on those objects. Default is false.
	DropCascade pulumi.BoolPtrInput
	// The function programming language. Can be one of internal, sql, c, plpgsql. Default is plpgsql.
	Language pulumi.StringPtrInput
	// The name of the argument.
	Name pulumi.StringPtrInput
	// Indicates if the function is parallel safe. Can be one of UNSAFE, RESTRICTED, or SAFE. Default is UNSAFE.
	Parallel pulumi.StringPtrInput
	// Type that the function returns. It can be computed from the OUT arguments. Default is void.
	Returns pulumi.StringPtrInput
	// The schema where the function is located.
	// If not specified, the function is created in the current schema.
	Schema pulumi.StringPtrInput
	// If the function should execute with the permissions of the owner, rather than the permissions of the caller. Default is false.
	SecurityDefiner pulumi.BoolPtrInput
	// If the function should always return NULL when any of the inputs is NULL. Default is false.
	Strict pulumi.BoolPtrInput
	// Defines the volatility of the function. Can be one of VOLATILE, STABLE, or IMMUTABLE. Default is VOLATILE.
	Volatility pulumi.StringPtrInput
}

func (FunctionState) ElementType added in v3.5.0

func (FunctionState) ElementType() reflect.Type

type GetSchemasArgs added in v3.8.0

type GetSchemasArgs struct {
	// The PostgreSQL database which will be queried for schema names.
	Database string `pulumi:"database"`
	// Determines whether to include system schemas (pg_ prefix and information_schema). 'public' will always be included. Defaults to “false“.
	IncludeSystemSchemas *bool `pulumi:"includeSystemSchemas"`
	// List of expressions which will be pattern matched in the query using the PostgreSQL “LIKE ALL“ operators.
	LikeAllPatterns []string `pulumi:"likeAllPatterns"`
	// List of expressions which will be pattern matched in the query using the PostgreSQL “LIKE ANY“ operators.
	LikeAnyPatterns []string `pulumi:"likeAnyPatterns"`
	// List of expressions which will be pattern matched in the query using the PostgreSQL “NOT LIKE ALL“ operators.
	NotLikeAllPatterns []string `pulumi:"notLikeAllPatterns"`
	// Expression which will be pattern matched in the query using the PostgreSQL “~“ (regular expression match) operator.
	//
	// Note that all optional arguments can be used in conjunction.
	RegexPattern *string `pulumi:"regexPattern"`
}

A collection of arguments for invoking getSchemas.

type GetSchemasOutputArgs added in v3.8.0

type GetSchemasOutputArgs struct {
	// The PostgreSQL database which will be queried for schema names.
	Database pulumi.StringInput `pulumi:"database"`
	// Determines whether to include system schemas (pg_ prefix and information_schema). 'public' will always be included. Defaults to “false“.
	IncludeSystemSchemas pulumi.BoolPtrInput `pulumi:"includeSystemSchemas"`
	// List of expressions which will be pattern matched in the query using the PostgreSQL “LIKE ALL“ operators.
	LikeAllPatterns pulumi.StringArrayInput `pulumi:"likeAllPatterns"`
	// List of expressions which will be pattern matched in the query using the PostgreSQL “LIKE ANY“ operators.
	LikeAnyPatterns pulumi.StringArrayInput `pulumi:"likeAnyPatterns"`
	// List of expressions which will be pattern matched in the query using the PostgreSQL “NOT LIKE ALL“ operators.
	NotLikeAllPatterns pulumi.StringArrayInput `pulumi:"notLikeAllPatterns"`
	// Expression which will be pattern matched in the query using the PostgreSQL “~“ (regular expression match) operator.
	//
	// Note that all optional arguments can be used in conjunction.
	RegexPattern pulumi.StringPtrInput `pulumi:"regexPattern"`
}

A collection of arguments for invoking getSchemas.

func (GetSchemasOutputArgs) ElementType added in v3.8.0

func (GetSchemasOutputArgs) ElementType() reflect.Type

type GetSchemasResult added in v3.8.0

type GetSchemasResult struct {
	Database string `pulumi:"database"`
	// The provider-assigned unique ID for this managed resource.
	Id                   string   `pulumi:"id"`
	IncludeSystemSchemas *bool    `pulumi:"includeSystemSchemas"`
	LikeAllPatterns      []string `pulumi:"likeAllPatterns"`
	LikeAnyPatterns      []string `pulumi:"likeAnyPatterns"`
	NotLikeAllPatterns   []string `pulumi:"notLikeAllPatterns"`
	RegexPattern         *string  `pulumi:"regexPattern"`
	// A list of full names of found schemas.
	Schemas []string `pulumi:"schemas"`
}

A collection of values returned by getSchemas.

func GetSchemas added in v3.8.0

func GetSchemas(ctx *pulumi.Context, args *GetSchemasArgs, opts ...pulumi.InvokeOption) (*GetSchemasResult, error)

The “getSchemas“ data source retrieves a list of schema names from a specified PostgreSQL database.

## Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := postgresql.GetSchemas(ctx, &postgresql.GetSchemasArgs{
			Database: "my_database",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetSchemasResultOutput added in v3.8.0

type GetSchemasResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSchemas.

func GetSchemasOutput added in v3.8.0

func GetSchemasOutput(ctx *pulumi.Context, args GetSchemasOutputArgs, opts ...pulumi.InvokeOption) GetSchemasResultOutput

func (GetSchemasResultOutput) Database added in v3.8.0

func (GetSchemasResultOutput) ElementType added in v3.8.0

func (GetSchemasResultOutput) ElementType() reflect.Type

func (GetSchemasResultOutput) Id added in v3.8.0

The provider-assigned unique ID for this managed resource.

func (GetSchemasResultOutput) IncludeSystemSchemas added in v3.8.0

func (o GetSchemasResultOutput) IncludeSystemSchemas() pulumi.BoolPtrOutput

func (GetSchemasResultOutput) LikeAllPatterns added in v3.8.0

func (o GetSchemasResultOutput) LikeAllPatterns() pulumi.StringArrayOutput

func (GetSchemasResultOutput) LikeAnyPatterns added in v3.8.0

func (o GetSchemasResultOutput) LikeAnyPatterns() pulumi.StringArrayOutput

func (GetSchemasResultOutput) NotLikeAllPatterns added in v3.8.0

func (o GetSchemasResultOutput) NotLikeAllPatterns() pulumi.StringArrayOutput

func (GetSchemasResultOutput) RegexPattern added in v3.8.0

func (GetSchemasResultOutput) Schemas added in v3.8.0

A list of full names of found schemas.

func (GetSchemasResultOutput) ToGetSchemasResultOutput added in v3.8.0

func (o GetSchemasResultOutput) ToGetSchemasResultOutput() GetSchemasResultOutput

func (GetSchemasResultOutput) ToGetSchemasResultOutputWithContext added in v3.8.0

func (o GetSchemasResultOutput) ToGetSchemasResultOutputWithContext(ctx context.Context) GetSchemasResultOutput

type GetSequencesArgs added in v3.8.0

type GetSequencesArgs struct {
	// The PostgreSQL database which will be queried for sequence names.
	Database string `pulumi:"database"`
	// List of expressions which will be pattern matched against sequence names in the query using the PostgreSQL “LIKE ALL“ operators.
	LikeAllPatterns []string `pulumi:"likeAllPatterns"`
	// List of expressions which will be pattern matched against sequence names in the query using the PostgreSQL “LIKE ANY“ operators.
	LikeAnyPatterns []string `pulumi:"likeAnyPatterns"`
	// List of expressions which will be pattern matched against sequence names in the query using the PostgreSQL “NOT LIKE ALL“ operators.
	NotLikeAllPatterns []string `pulumi:"notLikeAllPatterns"`
	// Expression which will be pattern matched against sequence names in the query using the PostgreSQL “~“ (regular expression match) operator.
	//
	// Note that all optional arguments can be used in conjunction.
	RegexPattern *string `pulumi:"regexPattern"`
	// List of PostgreSQL schema(s) which will be queried for sequence names. Queries all schemas in the database by default.
	Schemas []string `pulumi:"schemas"`
}

A collection of arguments for invoking getSequences.

type GetSequencesOutputArgs added in v3.8.0

type GetSequencesOutputArgs struct {
	// The PostgreSQL database which will be queried for sequence names.
	Database pulumi.StringInput `pulumi:"database"`
	// List of expressions which will be pattern matched against sequence names in the query using the PostgreSQL “LIKE ALL“ operators.
	LikeAllPatterns pulumi.StringArrayInput `pulumi:"likeAllPatterns"`
	// List of expressions which will be pattern matched against sequence names in the query using the PostgreSQL “LIKE ANY“ operators.
	LikeAnyPatterns pulumi.StringArrayInput `pulumi:"likeAnyPatterns"`
	// List of expressions which will be pattern matched against sequence names in the query using the PostgreSQL “NOT LIKE ALL“ operators.
	NotLikeAllPatterns pulumi.StringArrayInput `pulumi:"notLikeAllPatterns"`
	// Expression which will be pattern matched against sequence names in the query using the PostgreSQL “~“ (regular expression match) operator.
	//
	// Note that all optional arguments can be used in conjunction.
	RegexPattern pulumi.StringPtrInput `pulumi:"regexPattern"`
	// List of PostgreSQL schema(s) which will be queried for sequence names. Queries all schemas in the database by default.
	Schemas pulumi.StringArrayInput `pulumi:"schemas"`
}

A collection of arguments for invoking getSequences.

func (GetSequencesOutputArgs) ElementType added in v3.8.0

func (GetSequencesOutputArgs) ElementType() reflect.Type

type GetSequencesResult added in v3.8.0

type GetSequencesResult struct {
	Database string `pulumi:"database"`
	// The provider-assigned unique ID for this managed resource.
	Id                 string   `pulumi:"id"`
	LikeAllPatterns    []string `pulumi:"likeAllPatterns"`
	LikeAnyPatterns    []string `pulumi:"likeAnyPatterns"`
	NotLikeAllPatterns []string `pulumi:"notLikeAllPatterns"`
	RegexPattern       *string  `pulumi:"regexPattern"`
	Schemas            []string `pulumi:"schemas"`
	// A list of PostgreSQL sequences retrieved by this data source. Each sequence consists of the fields documented below.
	// ***
	Sequences []GetSequencesSequence `pulumi:"sequences"`
}

A collection of values returned by getSequences.

func GetSequences added in v3.8.0

func GetSequences(ctx *pulumi.Context, args *GetSequencesArgs, opts ...pulumi.InvokeOption) (*GetSequencesResult, error)

The “getSequences“ data source retrieves a list of sequence names from a specified PostgreSQL database.

## Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := postgresql.GetSequences(ctx, &postgresql.GetSequencesArgs{
			Database: "my_database",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetSequencesResultOutput added in v3.8.0

type GetSequencesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSequences.

func GetSequencesOutput added in v3.8.0

func GetSequencesOutput(ctx *pulumi.Context, args GetSequencesOutputArgs, opts ...pulumi.InvokeOption) GetSequencesResultOutput

func (GetSequencesResultOutput) Database added in v3.8.0

func (GetSequencesResultOutput) ElementType added in v3.8.0

func (GetSequencesResultOutput) ElementType() reflect.Type

func (GetSequencesResultOutput) Id added in v3.8.0

The provider-assigned unique ID for this managed resource.

func (GetSequencesResultOutput) LikeAllPatterns added in v3.8.0

func (GetSequencesResultOutput) LikeAnyPatterns added in v3.8.0

func (GetSequencesResultOutput) NotLikeAllPatterns added in v3.8.0

func (o GetSequencesResultOutput) NotLikeAllPatterns() pulumi.StringArrayOutput

func (GetSequencesResultOutput) RegexPattern added in v3.8.0

func (GetSequencesResultOutput) Schemas added in v3.8.0

func (GetSequencesResultOutput) Sequences added in v3.8.0

A list of PostgreSQL sequences retrieved by this data source. Each sequence consists of the fields documented below. ***

func (GetSequencesResultOutput) ToGetSequencesResultOutput added in v3.8.0

func (o GetSequencesResultOutput) ToGetSequencesResultOutput() GetSequencesResultOutput

func (GetSequencesResultOutput) ToGetSequencesResultOutputWithContext added in v3.8.0

func (o GetSequencesResultOutput) ToGetSequencesResultOutputWithContext(ctx context.Context) GetSequencesResultOutput

type GetSequencesSequence added in v3.8.0

type GetSequencesSequence struct {
	// The sequence's data type as defined in “information_schema.sequences“.
	DataType string `pulumi:"dataType"`
	// The sequence name.
	ObjectName string `pulumi:"objectName"`
	// The parent schema.
	SchemaName string `pulumi:"schemaName"`
}

type GetSequencesSequenceArgs added in v3.8.0

type GetSequencesSequenceArgs struct {
	// The sequence's data type as defined in “information_schema.sequences“.
	DataType pulumi.StringInput `pulumi:"dataType"`
	// The sequence name.
	ObjectName pulumi.StringInput `pulumi:"objectName"`
	// The parent schema.
	SchemaName pulumi.StringInput `pulumi:"schemaName"`
}

func (GetSequencesSequenceArgs) ElementType added in v3.8.0

func (GetSequencesSequenceArgs) ElementType() reflect.Type

func (GetSequencesSequenceArgs) ToGetSequencesSequenceOutput added in v3.8.0

func (i GetSequencesSequenceArgs) ToGetSequencesSequenceOutput() GetSequencesSequenceOutput

func (GetSequencesSequenceArgs) ToGetSequencesSequenceOutputWithContext added in v3.8.0

func (i GetSequencesSequenceArgs) ToGetSequencesSequenceOutputWithContext(ctx context.Context) GetSequencesSequenceOutput

type GetSequencesSequenceArray added in v3.8.0

type GetSequencesSequenceArray []GetSequencesSequenceInput

func (GetSequencesSequenceArray) ElementType added in v3.8.0

func (GetSequencesSequenceArray) ElementType() reflect.Type

func (GetSequencesSequenceArray) ToGetSequencesSequenceArrayOutput added in v3.8.0

func (i GetSequencesSequenceArray) ToGetSequencesSequenceArrayOutput() GetSequencesSequenceArrayOutput

func (GetSequencesSequenceArray) ToGetSequencesSequenceArrayOutputWithContext added in v3.8.0

func (i GetSequencesSequenceArray) ToGetSequencesSequenceArrayOutputWithContext(ctx context.Context) GetSequencesSequenceArrayOutput

type GetSequencesSequenceArrayInput added in v3.8.0

type GetSequencesSequenceArrayInput interface {
	pulumi.Input

	ToGetSequencesSequenceArrayOutput() GetSequencesSequenceArrayOutput
	ToGetSequencesSequenceArrayOutputWithContext(context.Context) GetSequencesSequenceArrayOutput
}

GetSequencesSequenceArrayInput is an input type that accepts GetSequencesSequenceArray and GetSequencesSequenceArrayOutput values. You can construct a concrete instance of `GetSequencesSequenceArrayInput` via:

GetSequencesSequenceArray{ GetSequencesSequenceArgs{...} }

type GetSequencesSequenceArrayOutput added in v3.8.0

type GetSequencesSequenceArrayOutput struct{ *pulumi.OutputState }

func (GetSequencesSequenceArrayOutput) ElementType added in v3.8.0

func (GetSequencesSequenceArrayOutput) Index added in v3.8.0

func (GetSequencesSequenceArrayOutput) ToGetSequencesSequenceArrayOutput added in v3.8.0

func (o GetSequencesSequenceArrayOutput) ToGetSequencesSequenceArrayOutput() GetSequencesSequenceArrayOutput

func (GetSequencesSequenceArrayOutput) ToGetSequencesSequenceArrayOutputWithContext added in v3.8.0

func (o GetSequencesSequenceArrayOutput) ToGetSequencesSequenceArrayOutputWithContext(ctx context.Context) GetSequencesSequenceArrayOutput

type GetSequencesSequenceInput added in v3.8.0

type GetSequencesSequenceInput interface {
	pulumi.Input

	ToGetSequencesSequenceOutput() GetSequencesSequenceOutput
	ToGetSequencesSequenceOutputWithContext(context.Context) GetSequencesSequenceOutput
}

GetSequencesSequenceInput is an input type that accepts GetSequencesSequenceArgs and GetSequencesSequenceOutput values. You can construct a concrete instance of `GetSequencesSequenceInput` via:

GetSequencesSequenceArgs{...}

type GetSequencesSequenceOutput added in v3.8.0

type GetSequencesSequenceOutput struct{ *pulumi.OutputState }

func (GetSequencesSequenceOutput) DataType added in v3.8.0

The sequence's data type as defined in “information_schema.sequences“.

func (GetSequencesSequenceOutput) ElementType added in v3.8.0

func (GetSequencesSequenceOutput) ElementType() reflect.Type

func (GetSequencesSequenceOutput) ObjectName added in v3.8.0

The sequence name.

func (GetSequencesSequenceOutput) SchemaName added in v3.8.0

The parent schema.

func (GetSequencesSequenceOutput) ToGetSequencesSequenceOutput added in v3.8.0

func (o GetSequencesSequenceOutput) ToGetSequencesSequenceOutput() GetSequencesSequenceOutput

func (GetSequencesSequenceOutput) ToGetSequencesSequenceOutputWithContext added in v3.8.0

func (o GetSequencesSequenceOutput) ToGetSequencesSequenceOutputWithContext(ctx context.Context) GetSequencesSequenceOutput

type GetTablesArgs added in v3.8.0

type GetTablesArgs struct {
	// The PostgreSQL database which will be queried for table names.
	Database string `pulumi:"database"`
	// List of expressions which will be pattern matched against table names in the query using the PostgreSQL “LIKE ALL“ operators.
	LikeAllPatterns []string `pulumi:"likeAllPatterns"`
	// List of expressions which will be pattern matched against table names in the query using the PostgreSQL “LIKE ANY“ operators.
	LikeAnyPatterns []string `pulumi:"likeAnyPatterns"`
	// List of expressions which will be pattern matched against table names in the query using the PostgreSQL “NOT LIKE ALL“ operators.
	NotLikeAllPatterns []string `pulumi:"notLikeAllPatterns"`
	// Expression which will be pattern matched against table names in the query using the PostgreSQL “~“ (regular expression match) operator.
	//
	// Note that all optional arguments can be used in conjunction.
	RegexPattern *string `pulumi:"regexPattern"`
	// List of PostgreSQL schema(s) which will be queried for table names. Queries all schemas in the database by default.
	Schemas []string `pulumi:"schemas"`
	// List of PostgreSQL table types which will be queried for table names. Includes all table types by default (including views and temp tables). Use 'BASE TABLE' for normal tables only.
	TableTypes []string `pulumi:"tableTypes"`
}

A collection of arguments for invoking getTables.

type GetTablesOutputArgs added in v3.8.0

type GetTablesOutputArgs struct {
	// The PostgreSQL database which will be queried for table names.
	Database pulumi.StringInput `pulumi:"database"`
	// List of expressions which will be pattern matched against table names in the query using the PostgreSQL “LIKE ALL“ operators.
	LikeAllPatterns pulumi.StringArrayInput `pulumi:"likeAllPatterns"`
	// List of expressions which will be pattern matched against table names in the query using the PostgreSQL “LIKE ANY“ operators.
	LikeAnyPatterns pulumi.StringArrayInput `pulumi:"likeAnyPatterns"`
	// List of expressions which will be pattern matched against table names in the query using the PostgreSQL “NOT LIKE ALL“ operators.
	NotLikeAllPatterns pulumi.StringArrayInput `pulumi:"notLikeAllPatterns"`
	// Expression which will be pattern matched against table names in the query using the PostgreSQL “~“ (regular expression match) operator.
	//
	// Note that all optional arguments can be used in conjunction.
	RegexPattern pulumi.StringPtrInput `pulumi:"regexPattern"`
	// List of PostgreSQL schema(s) which will be queried for table names. Queries all schemas in the database by default.
	Schemas pulumi.StringArrayInput `pulumi:"schemas"`
	// List of PostgreSQL table types which will be queried for table names. Includes all table types by default (including views and temp tables). Use 'BASE TABLE' for normal tables only.
	TableTypes pulumi.StringArrayInput `pulumi:"tableTypes"`
}

A collection of arguments for invoking getTables.

func (GetTablesOutputArgs) ElementType added in v3.8.0

func (GetTablesOutputArgs) ElementType() reflect.Type

type GetTablesResult added in v3.8.0

type GetTablesResult struct {
	Database string `pulumi:"database"`
	// The provider-assigned unique ID for this managed resource.
	Id                 string   `pulumi:"id"`
	LikeAllPatterns    []string `pulumi:"likeAllPatterns"`
	LikeAnyPatterns    []string `pulumi:"likeAnyPatterns"`
	NotLikeAllPatterns []string `pulumi:"notLikeAllPatterns"`
	RegexPattern       *string  `pulumi:"regexPattern"`
	Schemas            []string `pulumi:"schemas"`
	TableTypes         []string `pulumi:"tableTypes"`
	// A list of PostgreSQL tables retrieved by this data source. Each table consists of the fields documented below.
	// ***
	Tables []GetTablesTable `pulumi:"tables"`
}

A collection of values returned by getTables.

func GetTables added in v3.8.0

func GetTables(ctx *pulumi.Context, args *GetTablesArgs, opts ...pulumi.InvokeOption) (*GetTablesResult, error)

The “getTables“ data source retrieves a list of table names from a specified PostgreSQL database.

## Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := postgresql.GetTables(ctx, &postgresql.GetTablesArgs{
			Database: "my_database",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetTablesResultOutput added in v3.8.0

type GetTablesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTables.

func GetTablesOutput added in v3.8.0

func GetTablesOutput(ctx *pulumi.Context, args GetTablesOutputArgs, opts ...pulumi.InvokeOption) GetTablesResultOutput

func (GetTablesResultOutput) Database added in v3.8.0

func (GetTablesResultOutput) ElementType added in v3.8.0

func (GetTablesResultOutput) ElementType() reflect.Type

func (GetTablesResultOutput) Id added in v3.8.0

The provider-assigned unique ID for this managed resource.

func (GetTablesResultOutput) LikeAllPatterns added in v3.8.0

func (o GetTablesResultOutput) LikeAllPatterns() pulumi.StringArrayOutput

func (GetTablesResultOutput) LikeAnyPatterns added in v3.8.0

func (o GetTablesResultOutput) LikeAnyPatterns() pulumi.StringArrayOutput

func (GetTablesResultOutput) NotLikeAllPatterns added in v3.8.0

func (o GetTablesResultOutput) NotLikeAllPatterns() pulumi.StringArrayOutput

func (GetTablesResultOutput) RegexPattern added in v3.8.0

func (o GetTablesResultOutput) RegexPattern() pulumi.StringPtrOutput

func (GetTablesResultOutput) Schemas added in v3.8.0

func (GetTablesResultOutput) TableTypes added in v3.8.0

func (GetTablesResultOutput) Tables added in v3.8.0

A list of PostgreSQL tables retrieved by this data source. Each table consists of the fields documented below. ***

func (GetTablesResultOutput) ToGetTablesResultOutput added in v3.8.0

func (o GetTablesResultOutput) ToGetTablesResultOutput() GetTablesResultOutput

func (GetTablesResultOutput) ToGetTablesResultOutputWithContext added in v3.8.0

func (o GetTablesResultOutput) ToGetTablesResultOutputWithContext(ctx context.Context) GetTablesResultOutput

type GetTablesTable added in v3.8.0

type GetTablesTable struct {
	// The table name.
	ObjectName string `pulumi:"objectName"`
	// The parent schema.
	SchemaName string `pulumi:"schemaName"`
	// The table type as defined in “information_schema.tables“.
	TableType string `pulumi:"tableType"`
}

type GetTablesTableArgs added in v3.8.0

type GetTablesTableArgs struct {
	// The table name.
	ObjectName pulumi.StringInput `pulumi:"objectName"`
	// The parent schema.
	SchemaName pulumi.StringInput `pulumi:"schemaName"`
	// The table type as defined in “information_schema.tables“.
	TableType pulumi.StringInput `pulumi:"tableType"`
}

func (GetTablesTableArgs) ElementType added in v3.8.0

func (GetTablesTableArgs) ElementType() reflect.Type

func (GetTablesTableArgs) ToGetTablesTableOutput added in v3.8.0

func (i GetTablesTableArgs) ToGetTablesTableOutput() GetTablesTableOutput

func (GetTablesTableArgs) ToGetTablesTableOutputWithContext added in v3.8.0

func (i GetTablesTableArgs) ToGetTablesTableOutputWithContext(ctx context.Context) GetTablesTableOutput

type GetTablesTableArray added in v3.8.0

type GetTablesTableArray []GetTablesTableInput

func (GetTablesTableArray) ElementType added in v3.8.0

func (GetTablesTableArray) ElementType() reflect.Type

func (GetTablesTableArray) ToGetTablesTableArrayOutput added in v3.8.0

func (i GetTablesTableArray) ToGetTablesTableArrayOutput() GetTablesTableArrayOutput

func (GetTablesTableArray) ToGetTablesTableArrayOutputWithContext added in v3.8.0

func (i GetTablesTableArray) ToGetTablesTableArrayOutputWithContext(ctx context.Context) GetTablesTableArrayOutput

type GetTablesTableArrayInput added in v3.8.0

type GetTablesTableArrayInput interface {
	pulumi.Input

	ToGetTablesTableArrayOutput() GetTablesTableArrayOutput
	ToGetTablesTableArrayOutputWithContext(context.Context) GetTablesTableArrayOutput
}

GetTablesTableArrayInput is an input type that accepts GetTablesTableArray and GetTablesTableArrayOutput values. You can construct a concrete instance of `GetTablesTableArrayInput` via:

GetTablesTableArray{ GetTablesTableArgs{...} }

type GetTablesTableArrayOutput added in v3.8.0

type GetTablesTableArrayOutput struct{ *pulumi.OutputState }

func (GetTablesTableArrayOutput) ElementType added in v3.8.0

func (GetTablesTableArrayOutput) ElementType() reflect.Type

func (GetTablesTableArrayOutput) Index added in v3.8.0

func (GetTablesTableArrayOutput) ToGetTablesTableArrayOutput added in v3.8.0

func (o GetTablesTableArrayOutput) ToGetTablesTableArrayOutput() GetTablesTableArrayOutput

func (GetTablesTableArrayOutput) ToGetTablesTableArrayOutputWithContext added in v3.8.0

func (o GetTablesTableArrayOutput) ToGetTablesTableArrayOutputWithContext(ctx context.Context) GetTablesTableArrayOutput

type GetTablesTableInput added in v3.8.0

type GetTablesTableInput interface {
	pulumi.Input

	ToGetTablesTableOutput() GetTablesTableOutput
	ToGetTablesTableOutputWithContext(context.Context) GetTablesTableOutput
}

GetTablesTableInput is an input type that accepts GetTablesTableArgs and GetTablesTableOutput values. You can construct a concrete instance of `GetTablesTableInput` via:

GetTablesTableArgs{...}

type GetTablesTableOutput added in v3.8.0

type GetTablesTableOutput struct{ *pulumi.OutputState }

func (GetTablesTableOutput) ElementType added in v3.8.0

func (GetTablesTableOutput) ElementType() reflect.Type

func (GetTablesTableOutput) ObjectName added in v3.8.0

func (o GetTablesTableOutput) ObjectName() pulumi.StringOutput

The table name.

func (GetTablesTableOutput) SchemaName added in v3.8.0

func (o GetTablesTableOutput) SchemaName() pulumi.StringOutput

The parent schema.

func (GetTablesTableOutput) TableType added in v3.8.0

The table type as defined in “information_schema.tables“.

func (GetTablesTableOutput) ToGetTablesTableOutput added in v3.8.0

func (o GetTablesTableOutput) ToGetTablesTableOutput() GetTablesTableOutput

func (GetTablesTableOutput) ToGetTablesTableOutputWithContext added in v3.8.0

func (o GetTablesTableOutput) ToGetTablesTableOutputWithContext(ctx context.Context) GetTablesTableOutput

type Grant

type Grant struct {
	pulumi.CustomResourceState

	// The columns upon which to grant the privileges. Required when `objectType` is `column`. You cannot specify this option if the `objectType` is not `column`.
	Columns pulumi.StringArrayOutput `pulumi:"columns"`
	// The database to grant privileges on for this role.
	Database pulumi.StringOutput `pulumi:"database"`
	// The PostgreSQL object type to grant the privileges on (one of: database, schema, table, sequence, function, procedure, routine, foreign_data_wrapper, foreign_server, column).
	ObjectType pulumi.StringOutput `pulumi:"objectType"`
	// The objects upon which to grant the privileges. An empty list (the default) means to grant permissions on *all* objects of the specified type. You cannot specify this option if the `objectType` is `database` or `schema`. When `objectType` is `column`, only one value is allowed.
	Objects pulumi.StringArrayOutput `pulumi:"objects"`
	// The list of privileges to grant. There are different kinds of privileges: SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER, CREATE, CONNECT, TEMPORARY, EXECUTE, and USAGE. An empty list could be provided to revoke all privileges for this role.
	Privileges pulumi.StringArrayOutput `pulumi:"privileges"`
	// The name of the role to grant privileges on, Set it to "public" for all roles.
	Role pulumi.StringOutput `pulumi:"role"`
	// The database schema to grant privileges on for this role (Required except if objectType is "database")
	Schema pulumi.StringPtrOutput `pulumi:"schema"`
	// Whether the recipient of these privileges can grant the same privileges to others. Defaults to false.
	WithGrantOption pulumi.BoolPtrOutput `pulumi:"withGrantOption"`
}

The “Grant“ resource creates and manages privileges given to a user for a database schema.

See [PostgreSQL documentation](https://www.postgresql.org/docs/current/sql-grant.html)

> **Note:** This resource needs Postgresql version 9 or above. **Note:** Using column & table grants on the _same_ table with the _same_ privileges can lead to unexpected behaviours.

## Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Grant SELECT privileges on 2 tables
		_, err := postgresql.NewGrant(ctx, "readonlyTables", &postgresql.GrantArgs{
			Database:   pulumi.String("test_db"),
			ObjectType: pulumi.String("table"),
			Objects: pulumi.StringArray{
				pulumi.String("table1"),
				pulumi.String("table2"),
			},
			Privileges: pulumi.StringArray{
				pulumi.String("SELECT"),
			},
			Role:   pulumi.String("test_role"),
			Schema: pulumi.String("public"),
		})
		if err != nil {
			return err
		}
		// Grant SELECT & INSERT privileges on 2 columns in 1 table
		_, err = postgresql.NewGrant(ctx, "readInsertColumn", &postgresql.GrantArgs{
			Columns: pulumi.StringArray{
				pulumi.String("col1"),
				pulumi.String("col2"),
			},
			Database:   pulumi.String("test_db"),
			ObjectType: pulumi.String("column"),
			Objects: pulumi.StringArray{
				pulumi.String("table1"),
			},
			Privileges: pulumi.StringArray{
				pulumi.String("UPDATE"),
				pulumi.String("INSERT"),
			},
			Role:   pulumi.String("test_role"),
			Schema: pulumi.String("public"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Examples

Revoke default accesses for public schema:

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := postgresql.NewGrant(ctx, "revokePublic", &postgresql.GrantArgs{
			Database:   pulumi.String("test_db"),
			ObjectType: pulumi.String("schema"),
			Privileges: pulumi.StringArray{},
			Role:       pulumi.String("public"),
			Schema:     pulumi.String("public"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetGrant

func GetGrant(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GrantState, opts ...pulumi.ResourceOption) (*Grant, error)

GetGrant gets an existing Grant 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 NewGrant

func NewGrant(ctx *pulumi.Context,
	name string, args *GrantArgs, opts ...pulumi.ResourceOption) (*Grant, error)

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

func (*Grant) ElementType

func (*Grant) ElementType() reflect.Type

func (*Grant) ToGrantOutput

func (i *Grant) ToGrantOutput() GrantOutput

func (*Grant) ToGrantOutputWithContext

func (i *Grant) ToGrantOutputWithContext(ctx context.Context) GrantOutput

type GrantArgs

type GrantArgs struct {
	// The columns upon which to grant the privileges. Required when `objectType` is `column`. You cannot specify this option if the `objectType` is not `column`.
	Columns pulumi.StringArrayInput
	// The database to grant privileges on for this role.
	Database pulumi.StringInput
	// The PostgreSQL object type to grant the privileges on (one of: database, schema, table, sequence, function, procedure, routine, foreign_data_wrapper, foreign_server, column).
	ObjectType pulumi.StringInput
	// The objects upon which to grant the privileges. An empty list (the default) means to grant permissions on *all* objects of the specified type. You cannot specify this option if the `objectType` is `database` or `schema`. When `objectType` is `column`, only one value is allowed.
	Objects pulumi.StringArrayInput
	// The list of privileges to grant. There are different kinds of privileges: SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER, CREATE, CONNECT, TEMPORARY, EXECUTE, and USAGE. An empty list could be provided to revoke all privileges for this role.
	Privileges pulumi.StringArrayInput
	// The name of the role to grant privileges on, Set it to "public" for all roles.
	Role pulumi.StringInput
	// The database schema to grant privileges on for this role (Required except if objectType is "database")
	Schema pulumi.StringPtrInput
	// Whether the recipient of these privileges can grant the same privileges to others. Defaults to false.
	WithGrantOption pulumi.BoolPtrInput
}

The set of arguments for constructing a Grant resource.

func (GrantArgs) ElementType

func (GrantArgs) ElementType() reflect.Type

type GrantArray

type GrantArray []GrantInput

func (GrantArray) ElementType

func (GrantArray) ElementType() reflect.Type

func (GrantArray) ToGrantArrayOutput

func (i GrantArray) ToGrantArrayOutput() GrantArrayOutput

func (GrantArray) ToGrantArrayOutputWithContext

func (i GrantArray) ToGrantArrayOutputWithContext(ctx context.Context) GrantArrayOutput

type GrantArrayInput

type GrantArrayInput interface {
	pulumi.Input

	ToGrantArrayOutput() GrantArrayOutput
	ToGrantArrayOutputWithContext(context.Context) GrantArrayOutput
}

GrantArrayInput is an input type that accepts GrantArray and GrantArrayOutput values. You can construct a concrete instance of `GrantArrayInput` via:

GrantArray{ GrantArgs{...} }

type GrantArrayOutput

type GrantArrayOutput struct{ *pulumi.OutputState }

func (GrantArrayOutput) ElementType

func (GrantArrayOutput) ElementType() reflect.Type

func (GrantArrayOutput) Index

func (GrantArrayOutput) ToGrantArrayOutput

func (o GrantArrayOutput) ToGrantArrayOutput() GrantArrayOutput

func (GrantArrayOutput) ToGrantArrayOutputWithContext

func (o GrantArrayOutput) ToGrantArrayOutputWithContext(ctx context.Context) GrantArrayOutput

type GrantInput

type GrantInput interface {
	pulumi.Input

	ToGrantOutput() GrantOutput
	ToGrantOutputWithContext(ctx context.Context) GrantOutput
}

type GrantMap

type GrantMap map[string]GrantInput

func (GrantMap) ElementType

func (GrantMap) ElementType() reflect.Type

func (GrantMap) ToGrantMapOutput

func (i GrantMap) ToGrantMapOutput() GrantMapOutput

func (GrantMap) ToGrantMapOutputWithContext

func (i GrantMap) ToGrantMapOutputWithContext(ctx context.Context) GrantMapOutput

type GrantMapInput

type GrantMapInput interface {
	pulumi.Input

	ToGrantMapOutput() GrantMapOutput
	ToGrantMapOutputWithContext(context.Context) GrantMapOutput
}

GrantMapInput is an input type that accepts GrantMap and GrantMapOutput values. You can construct a concrete instance of `GrantMapInput` via:

GrantMap{ "key": GrantArgs{...} }

type GrantMapOutput

type GrantMapOutput struct{ *pulumi.OutputState }

func (GrantMapOutput) ElementType

func (GrantMapOutput) ElementType() reflect.Type

func (GrantMapOutput) MapIndex

func (GrantMapOutput) ToGrantMapOutput

func (o GrantMapOutput) ToGrantMapOutput() GrantMapOutput

func (GrantMapOutput) ToGrantMapOutputWithContext

func (o GrantMapOutput) ToGrantMapOutputWithContext(ctx context.Context) GrantMapOutput

type GrantOutput

type GrantOutput struct{ *pulumi.OutputState }

func (GrantOutput) Columns added in v3.8.0

func (o GrantOutput) Columns() pulumi.StringArrayOutput

The columns upon which to grant the privileges. Required when `objectType` is `column`. You cannot specify this option if the `objectType` is not `column`.

func (GrantOutput) Database added in v3.5.0

func (o GrantOutput) Database() pulumi.StringOutput

The database to grant privileges on for this role.

func (GrantOutput) ElementType

func (GrantOutput) ElementType() reflect.Type

func (GrantOutput) ObjectType added in v3.5.0

func (o GrantOutput) ObjectType() pulumi.StringOutput

The PostgreSQL object type to grant the privileges on (one of: database, schema, table, sequence, function, procedure, routine, foreign_data_wrapper, foreign_server, column).

func (GrantOutput) Objects added in v3.5.0

func (o GrantOutput) Objects() pulumi.StringArrayOutput

The objects upon which to grant the privileges. An empty list (the default) means to grant permissions on *all* objects of the specified type. You cannot specify this option if the `objectType` is `database` or `schema`. When `objectType` is `column`, only one value is allowed.

func (GrantOutput) Privileges added in v3.5.0

func (o GrantOutput) Privileges() pulumi.StringArrayOutput

The list of privileges to grant. There are different kinds of privileges: SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER, CREATE, CONNECT, TEMPORARY, EXECUTE, and USAGE. An empty list could be provided to revoke all privileges for this role.

func (GrantOutput) Role added in v3.5.0

func (o GrantOutput) Role() pulumi.StringOutput

The name of the role to grant privileges on, Set it to "public" for all roles.

func (GrantOutput) Schema added in v3.5.0

func (o GrantOutput) Schema() pulumi.StringPtrOutput

The database schema to grant privileges on for this role (Required except if objectType is "database")

func (GrantOutput) ToGrantOutput

func (o GrantOutput) ToGrantOutput() GrantOutput

func (GrantOutput) ToGrantOutputWithContext

func (o GrantOutput) ToGrantOutputWithContext(ctx context.Context) GrantOutput

func (GrantOutput) WithGrantOption added in v3.5.0

func (o GrantOutput) WithGrantOption() pulumi.BoolPtrOutput

Whether the recipient of these privileges can grant the same privileges to others. Defaults to false.

type GrantRole

type GrantRole struct {
	pulumi.CustomResourceState

	// The name of the role that is added to `role`.
	GrantRole pulumi.StringOutput `pulumi:"grantRole"`
	// The name of the role that is granted a new membership.
	Role pulumi.StringOutput `pulumi:"role"`
	// Giving ability to grant membership to others or not for `role`. (Default: false)
	WithAdminOption pulumi.BoolPtrOutput `pulumi:"withAdminOption"`
}

The “GrantRole“ resource creates and manages membership in a role to one or more other roles in a non-authoritative way.

When using “GrantRole“ resource it is likely because the PostgreSQL role you are modifying was created outside of this provider.

> **Note:** This resource needs PostgreSQL version 9 or above.

## Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := postgresql.NewGrantRole(ctx, "grantRoot", &postgresql.GrantRoleArgs{
			GrantRole:       pulumi.String("application"),
			Role:            pulumi.String("root"),
			WithAdminOption: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

> **Note:** If you use `GrantRole` for a role that you also manage with a `Role` resource, you need to ignore the changes of the `roles` attribute in the `Role` resource or they will fight over what your role grants should be. e.g.: ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := postgresql.NewRole(ctx, "bob", nil)
		if err != nil {
			return err
		}
		_, err = postgresql.NewGrantRole(ctx, "bobAdmin", &postgresql.GrantRoleArgs{
			Role:      pulumi.String("bob"),
			GrantRole: pulumi.String("admin"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetGrantRole

func GetGrantRole(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GrantRoleState, opts ...pulumi.ResourceOption) (*GrantRole, error)

GetGrantRole gets an existing GrantRole 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 NewGrantRole

func NewGrantRole(ctx *pulumi.Context,
	name string, args *GrantRoleArgs, opts ...pulumi.ResourceOption) (*GrantRole, error)

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

func (*GrantRole) ElementType

func (*GrantRole) ElementType() reflect.Type

func (*GrantRole) ToGrantRoleOutput

func (i *GrantRole) ToGrantRoleOutput() GrantRoleOutput

func (*GrantRole) ToGrantRoleOutputWithContext

func (i *GrantRole) ToGrantRoleOutputWithContext(ctx context.Context) GrantRoleOutput

type GrantRoleArgs

type GrantRoleArgs struct {
	// The name of the role that is added to `role`.
	GrantRole pulumi.StringInput
	// The name of the role that is granted a new membership.
	Role pulumi.StringInput
	// Giving ability to grant membership to others or not for `role`. (Default: false)
	WithAdminOption pulumi.BoolPtrInput
}

The set of arguments for constructing a GrantRole resource.

func (GrantRoleArgs) ElementType

func (GrantRoleArgs) ElementType() reflect.Type

type GrantRoleArray

type GrantRoleArray []GrantRoleInput

func (GrantRoleArray) ElementType

func (GrantRoleArray) ElementType() reflect.Type

func (GrantRoleArray) ToGrantRoleArrayOutput

func (i GrantRoleArray) ToGrantRoleArrayOutput() GrantRoleArrayOutput

func (GrantRoleArray) ToGrantRoleArrayOutputWithContext

func (i GrantRoleArray) ToGrantRoleArrayOutputWithContext(ctx context.Context) GrantRoleArrayOutput

type GrantRoleArrayInput

type GrantRoleArrayInput interface {
	pulumi.Input

	ToGrantRoleArrayOutput() GrantRoleArrayOutput
	ToGrantRoleArrayOutputWithContext(context.Context) GrantRoleArrayOutput
}

GrantRoleArrayInput is an input type that accepts GrantRoleArray and GrantRoleArrayOutput values. You can construct a concrete instance of `GrantRoleArrayInput` via:

GrantRoleArray{ GrantRoleArgs{...} }

type GrantRoleArrayOutput

type GrantRoleArrayOutput struct{ *pulumi.OutputState }

func (GrantRoleArrayOutput) ElementType

func (GrantRoleArrayOutput) ElementType() reflect.Type

func (GrantRoleArrayOutput) Index

func (GrantRoleArrayOutput) ToGrantRoleArrayOutput

func (o GrantRoleArrayOutput) ToGrantRoleArrayOutput() GrantRoleArrayOutput

func (GrantRoleArrayOutput) ToGrantRoleArrayOutputWithContext

func (o GrantRoleArrayOutput) ToGrantRoleArrayOutputWithContext(ctx context.Context) GrantRoleArrayOutput

type GrantRoleInput

type GrantRoleInput interface {
	pulumi.Input

	ToGrantRoleOutput() GrantRoleOutput
	ToGrantRoleOutputWithContext(ctx context.Context) GrantRoleOutput
}

type GrantRoleMap

type GrantRoleMap map[string]GrantRoleInput

func (GrantRoleMap) ElementType

func (GrantRoleMap) ElementType() reflect.Type

func (GrantRoleMap) ToGrantRoleMapOutput

func (i GrantRoleMap) ToGrantRoleMapOutput() GrantRoleMapOutput

func (GrantRoleMap) ToGrantRoleMapOutputWithContext

func (i GrantRoleMap) ToGrantRoleMapOutputWithContext(ctx context.Context) GrantRoleMapOutput

type GrantRoleMapInput

type GrantRoleMapInput interface {
	pulumi.Input

	ToGrantRoleMapOutput() GrantRoleMapOutput
	ToGrantRoleMapOutputWithContext(context.Context) GrantRoleMapOutput
}

GrantRoleMapInput is an input type that accepts GrantRoleMap and GrantRoleMapOutput values. You can construct a concrete instance of `GrantRoleMapInput` via:

GrantRoleMap{ "key": GrantRoleArgs{...} }

type GrantRoleMapOutput

type GrantRoleMapOutput struct{ *pulumi.OutputState }

func (GrantRoleMapOutput) ElementType

func (GrantRoleMapOutput) ElementType() reflect.Type

func (GrantRoleMapOutput) MapIndex

func (GrantRoleMapOutput) ToGrantRoleMapOutput

func (o GrantRoleMapOutput) ToGrantRoleMapOutput() GrantRoleMapOutput

func (GrantRoleMapOutput) ToGrantRoleMapOutputWithContext

func (o GrantRoleMapOutput) ToGrantRoleMapOutputWithContext(ctx context.Context) GrantRoleMapOutput

type GrantRoleOutput

type GrantRoleOutput struct{ *pulumi.OutputState }

func (GrantRoleOutput) ElementType

func (GrantRoleOutput) ElementType() reflect.Type

func (GrantRoleOutput) GrantRole added in v3.5.0

func (o GrantRoleOutput) GrantRole() pulumi.StringOutput

The name of the role that is added to `role`.

func (GrantRoleOutput) Role added in v3.5.0

The name of the role that is granted a new membership.

func (GrantRoleOutput) ToGrantRoleOutput

func (o GrantRoleOutput) ToGrantRoleOutput() GrantRoleOutput

func (GrantRoleOutput) ToGrantRoleOutputWithContext

func (o GrantRoleOutput) ToGrantRoleOutputWithContext(ctx context.Context) GrantRoleOutput

func (GrantRoleOutput) WithAdminOption added in v3.5.0

func (o GrantRoleOutput) WithAdminOption() pulumi.BoolPtrOutput

Giving ability to grant membership to others or not for `role`. (Default: false)

type GrantRoleState

type GrantRoleState struct {
	// The name of the role that is added to `role`.
	GrantRole pulumi.StringPtrInput
	// The name of the role that is granted a new membership.
	Role pulumi.StringPtrInput
	// Giving ability to grant membership to others or not for `role`. (Default: false)
	WithAdminOption pulumi.BoolPtrInput
}

func (GrantRoleState) ElementType

func (GrantRoleState) ElementType() reflect.Type

type GrantState

type GrantState struct {
	// The columns upon which to grant the privileges. Required when `objectType` is `column`. You cannot specify this option if the `objectType` is not `column`.
	Columns pulumi.StringArrayInput
	// The database to grant privileges on for this role.
	Database pulumi.StringPtrInput
	// The PostgreSQL object type to grant the privileges on (one of: database, schema, table, sequence, function, procedure, routine, foreign_data_wrapper, foreign_server, column).
	ObjectType pulumi.StringPtrInput
	// The objects upon which to grant the privileges. An empty list (the default) means to grant permissions on *all* objects of the specified type. You cannot specify this option if the `objectType` is `database` or `schema`. When `objectType` is `column`, only one value is allowed.
	Objects pulumi.StringArrayInput
	// The list of privileges to grant. There are different kinds of privileges: SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER, CREATE, CONNECT, TEMPORARY, EXECUTE, and USAGE. An empty list could be provided to revoke all privileges for this role.
	Privileges pulumi.StringArrayInput
	// The name of the role to grant privileges on, Set it to "public" for all roles.
	Role pulumi.StringPtrInput
	// The database schema to grant privileges on for this role (Required except if objectType is "database")
	Schema pulumi.StringPtrInput
	// Whether the recipient of these privileges can grant the same privileges to others. Defaults to false.
	WithGrantOption pulumi.BoolPtrInput
}

func (GrantState) ElementType

func (GrantState) ElementType() reflect.Type

type PhysicalReplicationSlot added in v3.2.0

type PhysicalReplicationSlot struct {
	pulumi.CustomResourceState

	// The name of the replication slot.
	Name pulumi.StringOutput `pulumi:"name"`
}

The “PhysicalReplicationSlot“ resource creates and manages a physical replication slot on a PostgreSQL server. This is useful to setup a cross datacenter replication, with Patroni for example, or permit any stand-by cluster to replicate physically data.

## Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := postgresql.NewPhysicalReplicationSlot(ctx, "mySlot", nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetPhysicalReplicationSlot added in v3.2.0

func GetPhysicalReplicationSlot(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PhysicalReplicationSlotState, opts ...pulumi.ResourceOption) (*PhysicalReplicationSlot, error)

GetPhysicalReplicationSlot gets an existing PhysicalReplicationSlot 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 NewPhysicalReplicationSlot added in v3.2.0

func NewPhysicalReplicationSlot(ctx *pulumi.Context,
	name string, args *PhysicalReplicationSlotArgs, opts ...pulumi.ResourceOption) (*PhysicalReplicationSlot, error)

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

func (*PhysicalReplicationSlot) ElementType added in v3.2.0

func (*PhysicalReplicationSlot) ElementType() reflect.Type

func (*PhysicalReplicationSlot) ToPhysicalReplicationSlotOutput added in v3.2.0

func (i *PhysicalReplicationSlot) ToPhysicalReplicationSlotOutput() PhysicalReplicationSlotOutput

func (*PhysicalReplicationSlot) ToPhysicalReplicationSlotOutputWithContext added in v3.2.0

func (i *PhysicalReplicationSlot) ToPhysicalReplicationSlotOutputWithContext(ctx context.Context) PhysicalReplicationSlotOutput

type PhysicalReplicationSlotArgs added in v3.2.0

type PhysicalReplicationSlotArgs struct {
	// The name of the replication slot.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a PhysicalReplicationSlot resource.

func (PhysicalReplicationSlotArgs) ElementType added in v3.2.0

type PhysicalReplicationSlotArray added in v3.2.0

type PhysicalReplicationSlotArray []PhysicalReplicationSlotInput

func (PhysicalReplicationSlotArray) ElementType added in v3.2.0

func (PhysicalReplicationSlotArray) ToPhysicalReplicationSlotArrayOutput added in v3.2.0

func (i PhysicalReplicationSlotArray) ToPhysicalReplicationSlotArrayOutput() PhysicalReplicationSlotArrayOutput

func (PhysicalReplicationSlotArray) ToPhysicalReplicationSlotArrayOutputWithContext added in v3.2.0

func (i PhysicalReplicationSlotArray) ToPhysicalReplicationSlotArrayOutputWithContext(ctx context.Context) PhysicalReplicationSlotArrayOutput

type PhysicalReplicationSlotArrayInput added in v3.2.0

type PhysicalReplicationSlotArrayInput interface {
	pulumi.Input

	ToPhysicalReplicationSlotArrayOutput() PhysicalReplicationSlotArrayOutput
	ToPhysicalReplicationSlotArrayOutputWithContext(context.Context) PhysicalReplicationSlotArrayOutput
}

PhysicalReplicationSlotArrayInput is an input type that accepts PhysicalReplicationSlotArray and PhysicalReplicationSlotArrayOutput values. You can construct a concrete instance of `PhysicalReplicationSlotArrayInput` via:

PhysicalReplicationSlotArray{ PhysicalReplicationSlotArgs{...} }

type PhysicalReplicationSlotArrayOutput added in v3.2.0

type PhysicalReplicationSlotArrayOutput struct{ *pulumi.OutputState }

func (PhysicalReplicationSlotArrayOutput) ElementType added in v3.2.0

func (PhysicalReplicationSlotArrayOutput) Index added in v3.2.0

func (PhysicalReplicationSlotArrayOutput) ToPhysicalReplicationSlotArrayOutput added in v3.2.0

func (o PhysicalReplicationSlotArrayOutput) ToPhysicalReplicationSlotArrayOutput() PhysicalReplicationSlotArrayOutput

func (PhysicalReplicationSlotArrayOutput) ToPhysicalReplicationSlotArrayOutputWithContext added in v3.2.0

func (o PhysicalReplicationSlotArrayOutput) ToPhysicalReplicationSlotArrayOutputWithContext(ctx context.Context) PhysicalReplicationSlotArrayOutput

type PhysicalReplicationSlotInput added in v3.2.0

type PhysicalReplicationSlotInput interface {
	pulumi.Input

	ToPhysicalReplicationSlotOutput() PhysicalReplicationSlotOutput
	ToPhysicalReplicationSlotOutputWithContext(ctx context.Context) PhysicalReplicationSlotOutput
}

type PhysicalReplicationSlotMap added in v3.2.0

type PhysicalReplicationSlotMap map[string]PhysicalReplicationSlotInput

func (PhysicalReplicationSlotMap) ElementType added in v3.2.0

func (PhysicalReplicationSlotMap) ElementType() reflect.Type

func (PhysicalReplicationSlotMap) ToPhysicalReplicationSlotMapOutput added in v3.2.0

func (i PhysicalReplicationSlotMap) ToPhysicalReplicationSlotMapOutput() PhysicalReplicationSlotMapOutput

func (PhysicalReplicationSlotMap) ToPhysicalReplicationSlotMapOutputWithContext added in v3.2.0

func (i PhysicalReplicationSlotMap) ToPhysicalReplicationSlotMapOutputWithContext(ctx context.Context) PhysicalReplicationSlotMapOutput

type PhysicalReplicationSlotMapInput added in v3.2.0

type PhysicalReplicationSlotMapInput interface {
	pulumi.Input

	ToPhysicalReplicationSlotMapOutput() PhysicalReplicationSlotMapOutput
	ToPhysicalReplicationSlotMapOutputWithContext(context.Context) PhysicalReplicationSlotMapOutput
}

PhysicalReplicationSlotMapInput is an input type that accepts PhysicalReplicationSlotMap and PhysicalReplicationSlotMapOutput values. You can construct a concrete instance of `PhysicalReplicationSlotMapInput` via:

PhysicalReplicationSlotMap{ "key": PhysicalReplicationSlotArgs{...} }

type PhysicalReplicationSlotMapOutput added in v3.2.0

type PhysicalReplicationSlotMapOutput struct{ *pulumi.OutputState }

func (PhysicalReplicationSlotMapOutput) ElementType added in v3.2.0

func (PhysicalReplicationSlotMapOutput) MapIndex added in v3.2.0

func (PhysicalReplicationSlotMapOutput) ToPhysicalReplicationSlotMapOutput added in v3.2.0

func (o PhysicalReplicationSlotMapOutput) ToPhysicalReplicationSlotMapOutput() PhysicalReplicationSlotMapOutput

func (PhysicalReplicationSlotMapOutput) ToPhysicalReplicationSlotMapOutputWithContext added in v3.2.0

func (o PhysicalReplicationSlotMapOutput) ToPhysicalReplicationSlotMapOutputWithContext(ctx context.Context) PhysicalReplicationSlotMapOutput

type PhysicalReplicationSlotOutput added in v3.2.0

type PhysicalReplicationSlotOutput struct{ *pulumi.OutputState }

func (PhysicalReplicationSlotOutput) ElementType added in v3.2.0

func (PhysicalReplicationSlotOutput) Name added in v3.5.0

The name of the replication slot.

func (PhysicalReplicationSlotOutput) ToPhysicalReplicationSlotOutput added in v3.2.0

func (o PhysicalReplicationSlotOutput) ToPhysicalReplicationSlotOutput() PhysicalReplicationSlotOutput

func (PhysicalReplicationSlotOutput) ToPhysicalReplicationSlotOutputWithContext added in v3.2.0

func (o PhysicalReplicationSlotOutput) ToPhysicalReplicationSlotOutputWithContext(ctx context.Context) PhysicalReplicationSlotOutput

type PhysicalReplicationSlotState added in v3.2.0

type PhysicalReplicationSlotState struct {
	// The name of the replication slot.
	Name pulumi.StringPtrInput
}

func (PhysicalReplicationSlotState) ElementType added in v3.2.0

type Provider

type Provider struct {
	pulumi.ProviderResourceState

	// AWS profile to use for IAM auth
	AwsRdsIamProfile pulumi.StringPtrOutput `pulumi:"awsRdsIamProfile"`
	// AWS region to use for IAM auth
	AwsRdsIamRegion pulumi.StringPtrOutput `pulumi:"awsRdsIamRegion"`
	// MS Azure tenant ID (see:
	// https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/client_config.html)
	AzureTenantId pulumi.StringPtrOutput `pulumi:"azureTenantId"`
	// The name of the database to connect to in order to conenct to (defaults to `postgres`).
	Database pulumi.StringPtrOutput `pulumi:"database"`
	// Database username associated to the connected user (for user name maps)
	DatabaseUsername pulumi.StringPtrOutput `pulumi:"databaseUsername"`
	// Specify the expected version of PostgreSQL.
	ExpectedVersion pulumi.StringPtrOutput `pulumi:"expectedVersion"`
	// Name of PostgreSQL server address to connect to
	Host pulumi.StringPtrOutput `pulumi:"host"`
	// Password to be used if the PostgreSQL server demands password authentication
	Password pulumi.StringPtrOutput `pulumi:"password"`
	Scheme   pulumi.StringPtrOutput `pulumi:"scheme"`
	// Deprecated: Rename PostgreSQL provider `ssl_mode` attribute to `sslmode`
	SslMode pulumi.StringPtrOutput `pulumi:"sslMode"`
	// This option determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the
	// PostgreSQL server
	Sslmode pulumi.StringPtrOutput `pulumi:"sslmode"`
	// The SSL server root certificate file path. The file must contain PEM encoded data.
	Sslrootcert pulumi.StringPtrOutput `pulumi:"sslrootcert"`
	// PostgreSQL user name to connect as
	Username pulumi.StringPtrOutput `pulumi:"username"`
}

The provider type for the postgresql package. By default, resources use package-wide configuration settings, however an explicit `Provider` instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.

func NewProvider

func NewProvider(ctx *pulumi.Context,
	name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error)

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

func (*Provider) ElementType

func (*Provider) ElementType() reflect.Type

func (*Provider) ToProviderOutput

func (i *Provider) ToProviderOutput() ProviderOutput

func (*Provider) ToProviderOutputWithContext

func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput

type ProviderArgs

type ProviderArgs struct {
	// Use rds_iam instead of password authentication (see:
	// https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
	AwsRdsIamAuth pulumi.BoolPtrInput
	// AWS profile to use for IAM auth
	AwsRdsIamProfile pulumi.StringPtrInput
	// AWS region to use for IAM auth
	AwsRdsIamRegion pulumi.StringPtrInput
	// Use MS Azure identity OAuth token (see:
	// https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-configure-sign-in-azure-ad-authentication)
	AzureIdentityAuth pulumi.BoolPtrInput
	// MS Azure tenant ID (see:
	// https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/client_config.html)
	AzureTenantId pulumi.StringPtrInput
	// SSL client certificate if required by the database.
	Clientcert ProviderClientcertPtrInput
	// Maximum wait for connection, in seconds. Zero or not specified means wait indefinitely.
	ConnectTimeout pulumi.IntPtrInput
	// The name of the database to connect to in order to conenct to (defaults to `postgres`).
	Database pulumi.StringPtrInput
	// Database username associated to the connected user (for user name maps)
	DatabaseUsername pulumi.StringPtrInput
	// Specify the expected version of PostgreSQL.
	ExpectedVersion pulumi.StringPtrInput
	// Name of PostgreSQL server address to connect to
	Host pulumi.StringPtrInput
	// Maximum number of connections to establish to the database. Zero means unlimited.
	MaxConnections pulumi.IntPtrInput
	// Password to be used if the PostgreSQL server demands password authentication
	Password pulumi.StringPtrInput
	// The PostgreSQL port number to connect to at the server host, or socket file name extension for Unix-domain connections
	Port   pulumi.IntPtrInput
	Scheme pulumi.StringPtrInput
	// Deprecated: Rename PostgreSQL provider `ssl_mode` attribute to `sslmode`
	SslMode pulumi.StringPtrInput
	// This option determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the
	// PostgreSQL server
	Sslmode pulumi.StringPtrInput
	// The SSL server root certificate file path. The file must contain PEM encoded data.
	Sslrootcert pulumi.StringPtrInput
	// Specify if the user to connect as is a Postgres superuser or not.If not, some feature might be disabled (e.g.:
	// Refreshing state password from Postgres)
	Superuser pulumi.BoolPtrInput
	// PostgreSQL user name to connect as
	Username pulumi.StringPtrInput
}

The set of arguments for constructing a Provider resource.

func (ProviderArgs) ElementType

func (ProviderArgs) ElementType() reflect.Type

type ProviderClientcert

type ProviderClientcert struct {
	// The SSL client certificate file path. The file must contain PEM encoded data.
	Cert string `pulumi:"cert"`
	// The SSL client certificate private key file path. The file must contain PEM encoded data.
	Key string `pulumi:"key"`
	// Must be set to true if you are inlining the cert/key instead of using a file path.
	Sslinline *bool `pulumi:"sslinline"`
}

type ProviderClientcertArgs

type ProviderClientcertArgs struct {
	// The SSL client certificate file path. The file must contain PEM encoded data.
	Cert pulumi.StringInput `pulumi:"cert"`
	// The SSL client certificate private key file path. The file must contain PEM encoded data.
	Key pulumi.StringInput `pulumi:"key"`
	// Must be set to true if you are inlining the cert/key instead of using a file path.
	Sslinline pulumi.BoolPtrInput `pulumi:"sslinline"`
}

func (ProviderClientcertArgs) ElementType

func (ProviderClientcertArgs) ElementType() reflect.Type

func (ProviderClientcertArgs) ToProviderClientcertOutput

func (i ProviderClientcertArgs) ToProviderClientcertOutput() ProviderClientcertOutput

func (ProviderClientcertArgs) ToProviderClientcertOutputWithContext

func (i ProviderClientcertArgs) ToProviderClientcertOutputWithContext(ctx context.Context) ProviderClientcertOutput

func (ProviderClientcertArgs) ToProviderClientcertPtrOutput

func (i ProviderClientcertArgs) ToProviderClientcertPtrOutput() ProviderClientcertPtrOutput

func (ProviderClientcertArgs) ToProviderClientcertPtrOutputWithContext

func (i ProviderClientcertArgs) ToProviderClientcertPtrOutputWithContext(ctx context.Context) ProviderClientcertPtrOutput

type ProviderClientcertInput

type ProviderClientcertInput interface {
	pulumi.Input

	ToProviderClientcertOutput() ProviderClientcertOutput
	ToProviderClientcertOutputWithContext(context.Context) ProviderClientcertOutput
}

ProviderClientcertInput is an input type that accepts ProviderClientcertArgs and ProviderClientcertOutput values. You can construct a concrete instance of `ProviderClientcertInput` via:

ProviderClientcertArgs{...}

type ProviderClientcertOutput

type ProviderClientcertOutput struct{ *pulumi.OutputState }

func (ProviderClientcertOutput) Cert

The SSL client certificate file path. The file must contain PEM encoded data.

func (ProviderClientcertOutput) ElementType

func (ProviderClientcertOutput) ElementType() reflect.Type

func (ProviderClientcertOutput) Key

The SSL client certificate private key file path. The file must contain PEM encoded data.

func (ProviderClientcertOutput) Sslinline added in v3.10.0

Must be set to true if you are inlining the cert/key instead of using a file path.

func (ProviderClientcertOutput) ToProviderClientcertOutput

func (o ProviderClientcertOutput) ToProviderClientcertOutput() ProviderClientcertOutput

func (ProviderClientcertOutput) ToProviderClientcertOutputWithContext

func (o ProviderClientcertOutput) ToProviderClientcertOutputWithContext(ctx context.Context) ProviderClientcertOutput

func (ProviderClientcertOutput) ToProviderClientcertPtrOutput

func (o ProviderClientcertOutput) ToProviderClientcertPtrOutput() ProviderClientcertPtrOutput

func (ProviderClientcertOutput) ToProviderClientcertPtrOutputWithContext

func (o ProviderClientcertOutput) ToProviderClientcertPtrOutputWithContext(ctx context.Context) ProviderClientcertPtrOutput

type ProviderClientcertPtrInput

type ProviderClientcertPtrInput interface {
	pulumi.Input

	ToProviderClientcertPtrOutput() ProviderClientcertPtrOutput
	ToProviderClientcertPtrOutputWithContext(context.Context) ProviderClientcertPtrOutput
}

ProviderClientcertPtrInput is an input type that accepts ProviderClientcertArgs, ProviderClientcertPtr and ProviderClientcertPtrOutput values. You can construct a concrete instance of `ProviderClientcertPtrInput` via:

        ProviderClientcertArgs{...}

or:

        nil

type ProviderClientcertPtrOutput

type ProviderClientcertPtrOutput struct{ *pulumi.OutputState }

func (ProviderClientcertPtrOutput) Cert

The SSL client certificate file path. The file must contain PEM encoded data.

func (ProviderClientcertPtrOutput) Elem

func (ProviderClientcertPtrOutput) ElementType

func (ProviderClientcertPtrOutput) Key

The SSL client certificate private key file path. The file must contain PEM encoded data.

func (ProviderClientcertPtrOutput) Sslinline added in v3.10.0

Must be set to true if you are inlining the cert/key instead of using a file path.

func (ProviderClientcertPtrOutput) ToProviderClientcertPtrOutput

func (o ProviderClientcertPtrOutput) ToProviderClientcertPtrOutput() ProviderClientcertPtrOutput

func (ProviderClientcertPtrOutput) ToProviderClientcertPtrOutputWithContext

func (o ProviderClientcertPtrOutput) ToProviderClientcertPtrOutputWithContext(ctx context.Context) ProviderClientcertPtrOutput

type ProviderInput

type ProviderInput interface {
	pulumi.Input

	ToProviderOutput() ProviderOutput
	ToProviderOutputWithContext(ctx context.Context) ProviderOutput
}

type ProviderOutput

type ProviderOutput struct{ *pulumi.OutputState }

func (ProviderOutput) AwsRdsIamProfile added in v3.5.0

func (o ProviderOutput) AwsRdsIamProfile() pulumi.StringPtrOutput

AWS profile to use for IAM auth

func (ProviderOutput) AwsRdsIamRegion added in v3.7.0

func (o ProviderOutput) AwsRdsIamRegion() pulumi.StringPtrOutput

AWS region to use for IAM auth

func (ProviderOutput) Database added in v3.5.0

func (o ProviderOutput) Database() pulumi.StringPtrOutput

The name of the database to connect to in order to conenct to (defaults to `postgres`).

func (ProviderOutput) DatabaseUsername added in v3.5.0

func (o ProviderOutput) DatabaseUsername() pulumi.StringPtrOutput

Database username associated to the connected user (for user name maps)

func (ProviderOutput) ElementType

func (ProviderOutput) ElementType() reflect.Type

func (ProviderOutput) ExpectedVersion added in v3.5.0

func (o ProviderOutput) ExpectedVersion() pulumi.StringPtrOutput

Specify the expected version of PostgreSQL.

func (ProviderOutput) Host added in v3.5.0

Name of PostgreSQL server address to connect to

func (ProviderOutput) Password added in v3.5.0

func (o ProviderOutput) Password() pulumi.StringPtrOutput

Password to be used if the PostgreSQL server demands password authentication

func (ProviderOutput) Scheme added in v3.5.0

func (ProviderOutput) SslMode deprecated added in v3.5.0

Deprecated: Rename PostgreSQL provider `ssl_mode` attribute to `sslmode`

func (ProviderOutput) Sslmode added in v3.5.0

This option determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the PostgreSQL server

func (ProviderOutput) Sslrootcert added in v3.5.0

func (o ProviderOutput) Sslrootcert() pulumi.StringPtrOutput

The SSL server root certificate file path. The file must contain PEM encoded data.

func (ProviderOutput) ToProviderOutput

func (o ProviderOutput) ToProviderOutput() ProviderOutput

func (ProviderOutput) ToProviderOutputWithContext

func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput

func (ProviderOutput) Username added in v3.5.0

func (o ProviderOutput) Username() pulumi.StringPtrOutput

PostgreSQL user name to connect as

type Publication added in v3.5.0

type Publication struct {
	pulumi.CustomResourceState

	// Should be ALL TABLES added to the publication. Defaults to 'false'
	AllTables pulumi.BoolOutput `pulumi:"allTables"`
	// Which database to create the publication on. Defaults to provider database.
	Database pulumi.StringOutput `pulumi:"database"`
	// Should all subsequent resources of the publication be dropped. Defaults to 'false'
	DropCascade pulumi.BoolPtrOutput `pulumi:"dropCascade"`
	// The name of the publication.
	Name pulumi.StringOutput `pulumi:"name"`
	// Who owns the publication. Defaults to provider user.
	Owner pulumi.StringOutput `pulumi:"owner"`
	// Which 'publish' options should be turned on. Default to 'insert','update','delete'
	PublishParams pulumi.StringArrayOutput `pulumi:"publishParams"`
	// Should be option 'publish_via_partition_root' be turned on. Default to 'false'
	PublishViaPartitionRootParam pulumi.BoolPtrOutput `pulumi:"publishViaPartitionRootParam"`
	// Which tables add to the publication. By defaults no tables added. Format of table is `<schema_name>.<table_name>`. If `<schema_name>` is not specified - default database schema will be used.  Table string must be listed in alphabetical order.
	Tables pulumi.StringArrayOutput `pulumi:"tables"`
}

The `Publication` resource creates and manages a publication on a PostgreSQL server.

## Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := postgresql.NewPublication(ctx, "publication", &postgresql.PublicationArgs{
			Tables: pulumi.StringArray{
				pulumi.String("public.test"),
				pulumi.String("another_schema.test"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetPublication added in v3.5.0

func GetPublication(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PublicationState, opts ...pulumi.ResourceOption) (*Publication, error)

GetPublication gets an existing Publication 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 NewPublication added in v3.5.0

func NewPublication(ctx *pulumi.Context,
	name string, args *PublicationArgs, opts ...pulumi.ResourceOption) (*Publication, error)

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

func (*Publication) ElementType added in v3.5.0

func (*Publication) ElementType() reflect.Type

func (*Publication) ToPublicationOutput added in v3.5.0

func (i *Publication) ToPublicationOutput() PublicationOutput

func (*Publication) ToPublicationOutputWithContext added in v3.5.0

func (i *Publication) ToPublicationOutputWithContext(ctx context.Context) PublicationOutput

type PublicationArgs added in v3.5.0

type PublicationArgs struct {
	// Should be ALL TABLES added to the publication. Defaults to 'false'
	AllTables pulumi.BoolPtrInput
	// Which database to create the publication on. Defaults to provider database.
	Database pulumi.StringPtrInput
	// Should all subsequent resources of the publication be dropped. Defaults to 'false'
	DropCascade pulumi.BoolPtrInput
	// The name of the publication.
	Name pulumi.StringPtrInput
	// Who owns the publication. Defaults to provider user.
	Owner pulumi.StringPtrInput
	// Which 'publish' options should be turned on. Default to 'insert','update','delete'
	PublishParams pulumi.StringArrayInput
	// Should be option 'publish_via_partition_root' be turned on. Default to 'false'
	PublishViaPartitionRootParam pulumi.BoolPtrInput
	// Which tables add to the publication. By defaults no tables added. Format of table is `<schema_name>.<table_name>`. If `<schema_name>` is not specified - default database schema will be used.  Table string must be listed in alphabetical order.
	Tables pulumi.StringArrayInput
}

The set of arguments for constructing a Publication resource.

func (PublicationArgs) ElementType added in v3.5.0

func (PublicationArgs) ElementType() reflect.Type

type PublicationArray added in v3.5.0

type PublicationArray []PublicationInput

func (PublicationArray) ElementType added in v3.5.0

func (PublicationArray) ElementType() reflect.Type

func (PublicationArray) ToPublicationArrayOutput added in v3.5.0

func (i PublicationArray) ToPublicationArrayOutput() PublicationArrayOutput

func (PublicationArray) ToPublicationArrayOutputWithContext added in v3.5.0

func (i PublicationArray) ToPublicationArrayOutputWithContext(ctx context.Context) PublicationArrayOutput

type PublicationArrayInput added in v3.5.0

type PublicationArrayInput interface {
	pulumi.Input

	ToPublicationArrayOutput() PublicationArrayOutput
	ToPublicationArrayOutputWithContext(context.Context) PublicationArrayOutput
}

PublicationArrayInput is an input type that accepts PublicationArray and PublicationArrayOutput values. You can construct a concrete instance of `PublicationArrayInput` via:

PublicationArray{ PublicationArgs{...} }

type PublicationArrayOutput added in v3.5.0

type PublicationArrayOutput struct{ *pulumi.OutputState }

func (PublicationArrayOutput) ElementType added in v3.5.0

func (PublicationArrayOutput) ElementType() reflect.Type

func (PublicationArrayOutput) Index added in v3.5.0

func (PublicationArrayOutput) ToPublicationArrayOutput added in v3.5.0

func (o PublicationArrayOutput) ToPublicationArrayOutput() PublicationArrayOutput

func (PublicationArrayOutput) ToPublicationArrayOutputWithContext added in v3.5.0

func (o PublicationArrayOutput) ToPublicationArrayOutputWithContext(ctx context.Context) PublicationArrayOutput

type PublicationInput added in v3.5.0

type PublicationInput interface {
	pulumi.Input

	ToPublicationOutput() PublicationOutput
	ToPublicationOutputWithContext(ctx context.Context) PublicationOutput
}

type PublicationMap added in v3.5.0

type PublicationMap map[string]PublicationInput

func (PublicationMap) ElementType added in v3.5.0

func (PublicationMap) ElementType() reflect.Type

func (PublicationMap) ToPublicationMapOutput added in v3.5.0

func (i PublicationMap) ToPublicationMapOutput() PublicationMapOutput

func (PublicationMap) ToPublicationMapOutputWithContext added in v3.5.0

func (i PublicationMap) ToPublicationMapOutputWithContext(ctx context.Context) PublicationMapOutput

type PublicationMapInput added in v3.5.0

type PublicationMapInput interface {
	pulumi.Input

	ToPublicationMapOutput() PublicationMapOutput
	ToPublicationMapOutputWithContext(context.Context) PublicationMapOutput
}

PublicationMapInput is an input type that accepts PublicationMap and PublicationMapOutput values. You can construct a concrete instance of `PublicationMapInput` via:

PublicationMap{ "key": PublicationArgs{...} }

type PublicationMapOutput added in v3.5.0

type PublicationMapOutput struct{ *pulumi.OutputState }

func (PublicationMapOutput) ElementType added in v3.5.0

func (PublicationMapOutput) ElementType() reflect.Type

func (PublicationMapOutput) MapIndex added in v3.5.0

func (PublicationMapOutput) ToPublicationMapOutput added in v3.5.0

func (o PublicationMapOutput) ToPublicationMapOutput() PublicationMapOutput

func (PublicationMapOutput) ToPublicationMapOutputWithContext added in v3.5.0

func (o PublicationMapOutput) ToPublicationMapOutputWithContext(ctx context.Context) PublicationMapOutput

type PublicationOutput added in v3.5.0

type PublicationOutput struct{ *pulumi.OutputState }

func (PublicationOutput) AllTables added in v3.5.0

func (o PublicationOutput) AllTables() pulumi.BoolOutput

Should be ALL TABLES added to the publication. Defaults to 'false'

func (PublicationOutput) Database added in v3.5.0

func (o PublicationOutput) Database() pulumi.StringOutput

Which database to create the publication on. Defaults to provider database.

func (PublicationOutput) DropCascade added in v3.5.0

func (o PublicationOutput) DropCascade() pulumi.BoolPtrOutput

Should all subsequent resources of the publication be dropped. Defaults to 'false'

func (PublicationOutput) ElementType added in v3.5.0

func (PublicationOutput) ElementType() reflect.Type

func (PublicationOutput) Name added in v3.5.0

The name of the publication.

func (PublicationOutput) Owner added in v3.5.0

Who owns the publication. Defaults to provider user.

func (PublicationOutput) PublishParams added in v3.5.0

func (o PublicationOutput) PublishParams() pulumi.StringArrayOutput

Which 'publish' options should be turned on. Default to 'insert','update','delete'

func (PublicationOutput) PublishViaPartitionRootParam added in v3.5.0

func (o PublicationOutput) PublishViaPartitionRootParam() pulumi.BoolPtrOutput

Should be option 'publish_via_partition_root' be turned on. Default to 'false'

func (PublicationOutput) Tables added in v3.5.0

Which tables add to the publication. By defaults no tables added. Format of table is `<schema_name>.<table_name>`. If `<schema_name>` is not specified - default database schema will be used. Table string must be listed in alphabetical order.

func (PublicationOutput) ToPublicationOutput added in v3.5.0

func (o PublicationOutput) ToPublicationOutput() PublicationOutput

func (PublicationOutput) ToPublicationOutputWithContext added in v3.5.0

func (o PublicationOutput) ToPublicationOutputWithContext(ctx context.Context) PublicationOutput

type PublicationState added in v3.5.0

type PublicationState struct {
	// Should be ALL TABLES added to the publication. Defaults to 'false'
	AllTables pulumi.BoolPtrInput
	// Which database to create the publication on. Defaults to provider database.
	Database pulumi.StringPtrInput
	// Should all subsequent resources of the publication be dropped. Defaults to 'false'
	DropCascade pulumi.BoolPtrInput
	// The name of the publication.
	Name pulumi.StringPtrInput
	// Who owns the publication. Defaults to provider user.
	Owner pulumi.StringPtrInput
	// Which 'publish' options should be turned on. Default to 'insert','update','delete'
	PublishParams pulumi.StringArrayInput
	// Should be option 'publish_via_partition_root' be turned on. Default to 'false'
	PublishViaPartitionRootParam pulumi.BoolPtrInput
	// Which tables add to the publication. By defaults no tables added. Format of table is `<schema_name>.<table_name>`. If `<schema_name>` is not specified - default database schema will be used.  Table string must be listed in alphabetical order.
	Tables pulumi.StringArrayInput
}

func (PublicationState) ElementType added in v3.5.0

func (PublicationState) ElementType() reflect.Type

type ReplicationSlot added in v3.2.0

type ReplicationSlot struct {
	pulumi.CustomResourceState

	// Which database to create the replication slot on. Defaults to provider database.
	Database pulumi.StringOutput `pulumi:"database"`
	// The name of the replication slot.
	Name pulumi.StringOutput `pulumi:"name"`
	// Sets the output plugin.
	Plugin pulumi.StringOutput `pulumi:"plugin"`
}

The “ReplicationSlot“ resource creates and manages a replication slot on a PostgreSQL server.

## Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := postgresql.NewReplicationSlot(ctx, "mySlot", &postgresql.ReplicationSlotArgs{
			Plugin: pulumi.String("test_decoding"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetReplicationSlot added in v3.2.0

func GetReplicationSlot(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ReplicationSlotState, opts ...pulumi.ResourceOption) (*ReplicationSlot, error)

GetReplicationSlot gets an existing ReplicationSlot 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 NewReplicationSlot added in v3.2.0

func NewReplicationSlot(ctx *pulumi.Context,
	name string, args *ReplicationSlotArgs, opts ...pulumi.ResourceOption) (*ReplicationSlot, error)

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

func (*ReplicationSlot) ElementType added in v3.2.0

func (*ReplicationSlot) ElementType() reflect.Type

func (*ReplicationSlot) ToReplicationSlotOutput added in v3.2.0

func (i *ReplicationSlot) ToReplicationSlotOutput() ReplicationSlotOutput

func (*ReplicationSlot) ToReplicationSlotOutputWithContext added in v3.2.0

func (i *ReplicationSlot) ToReplicationSlotOutputWithContext(ctx context.Context) ReplicationSlotOutput

type ReplicationSlotArgs added in v3.2.0

type ReplicationSlotArgs struct {
	// Which database to create the replication slot on. Defaults to provider database.
	Database pulumi.StringPtrInput
	// The name of the replication slot.
	Name pulumi.StringPtrInput
	// Sets the output plugin.
	Plugin pulumi.StringInput
}

The set of arguments for constructing a ReplicationSlot resource.

func (ReplicationSlotArgs) ElementType added in v3.2.0

func (ReplicationSlotArgs) ElementType() reflect.Type

type ReplicationSlotArray added in v3.2.0

type ReplicationSlotArray []ReplicationSlotInput

func (ReplicationSlotArray) ElementType added in v3.2.0

func (ReplicationSlotArray) ElementType() reflect.Type

func (ReplicationSlotArray) ToReplicationSlotArrayOutput added in v3.2.0

func (i ReplicationSlotArray) ToReplicationSlotArrayOutput() ReplicationSlotArrayOutput

func (ReplicationSlotArray) ToReplicationSlotArrayOutputWithContext added in v3.2.0

func (i ReplicationSlotArray) ToReplicationSlotArrayOutputWithContext(ctx context.Context) ReplicationSlotArrayOutput

type ReplicationSlotArrayInput added in v3.2.0

type ReplicationSlotArrayInput interface {
	pulumi.Input

	ToReplicationSlotArrayOutput() ReplicationSlotArrayOutput
	ToReplicationSlotArrayOutputWithContext(context.Context) ReplicationSlotArrayOutput
}

ReplicationSlotArrayInput is an input type that accepts ReplicationSlotArray and ReplicationSlotArrayOutput values. You can construct a concrete instance of `ReplicationSlotArrayInput` via:

ReplicationSlotArray{ ReplicationSlotArgs{...} }

type ReplicationSlotArrayOutput added in v3.2.0

type ReplicationSlotArrayOutput struct{ *pulumi.OutputState }

func (ReplicationSlotArrayOutput) ElementType added in v3.2.0

func (ReplicationSlotArrayOutput) ElementType() reflect.Type

func (ReplicationSlotArrayOutput) Index added in v3.2.0

func (ReplicationSlotArrayOutput) ToReplicationSlotArrayOutput added in v3.2.0

func (o ReplicationSlotArrayOutput) ToReplicationSlotArrayOutput() ReplicationSlotArrayOutput

func (ReplicationSlotArrayOutput) ToReplicationSlotArrayOutputWithContext added in v3.2.0

func (o ReplicationSlotArrayOutput) ToReplicationSlotArrayOutputWithContext(ctx context.Context) ReplicationSlotArrayOutput

type ReplicationSlotInput added in v3.2.0

type ReplicationSlotInput interface {
	pulumi.Input

	ToReplicationSlotOutput() ReplicationSlotOutput
	ToReplicationSlotOutputWithContext(ctx context.Context) ReplicationSlotOutput
}

type ReplicationSlotMap added in v3.2.0

type ReplicationSlotMap map[string]ReplicationSlotInput

func (ReplicationSlotMap) ElementType added in v3.2.0

func (ReplicationSlotMap) ElementType() reflect.Type

func (ReplicationSlotMap) ToReplicationSlotMapOutput added in v3.2.0

func (i ReplicationSlotMap) ToReplicationSlotMapOutput() ReplicationSlotMapOutput

func (ReplicationSlotMap) ToReplicationSlotMapOutputWithContext added in v3.2.0

func (i ReplicationSlotMap) ToReplicationSlotMapOutputWithContext(ctx context.Context) ReplicationSlotMapOutput

type ReplicationSlotMapInput added in v3.2.0

type ReplicationSlotMapInput interface {
	pulumi.Input

	ToReplicationSlotMapOutput() ReplicationSlotMapOutput
	ToReplicationSlotMapOutputWithContext(context.Context) ReplicationSlotMapOutput
}

ReplicationSlotMapInput is an input type that accepts ReplicationSlotMap and ReplicationSlotMapOutput values. You can construct a concrete instance of `ReplicationSlotMapInput` via:

ReplicationSlotMap{ "key": ReplicationSlotArgs{...} }

type ReplicationSlotMapOutput added in v3.2.0

type ReplicationSlotMapOutput struct{ *pulumi.OutputState }

func (ReplicationSlotMapOutput) ElementType added in v3.2.0

func (ReplicationSlotMapOutput) ElementType() reflect.Type

func (ReplicationSlotMapOutput) MapIndex added in v3.2.0

func (ReplicationSlotMapOutput) ToReplicationSlotMapOutput added in v3.2.0

func (o ReplicationSlotMapOutput) ToReplicationSlotMapOutput() ReplicationSlotMapOutput

func (ReplicationSlotMapOutput) ToReplicationSlotMapOutputWithContext added in v3.2.0

func (o ReplicationSlotMapOutput) ToReplicationSlotMapOutputWithContext(ctx context.Context) ReplicationSlotMapOutput

type ReplicationSlotOutput added in v3.2.0

type ReplicationSlotOutput struct{ *pulumi.OutputState }

func (ReplicationSlotOutput) Database added in v3.5.0

Which database to create the replication slot on. Defaults to provider database.

func (ReplicationSlotOutput) ElementType added in v3.2.0

func (ReplicationSlotOutput) ElementType() reflect.Type

func (ReplicationSlotOutput) Name added in v3.5.0

The name of the replication slot.

func (ReplicationSlotOutput) Plugin added in v3.5.0

Sets the output plugin.

func (ReplicationSlotOutput) ToReplicationSlotOutput added in v3.2.0

func (o ReplicationSlotOutput) ToReplicationSlotOutput() ReplicationSlotOutput

func (ReplicationSlotOutput) ToReplicationSlotOutputWithContext added in v3.2.0

func (o ReplicationSlotOutput) ToReplicationSlotOutputWithContext(ctx context.Context) ReplicationSlotOutput

type ReplicationSlotState added in v3.2.0

type ReplicationSlotState struct {
	// Which database to create the replication slot on. Defaults to provider database.
	Database pulumi.StringPtrInput
	// The name of the replication slot.
	Name pulumi.StringPtrInput
	// Sets the output plugin.
	Plugin pulumi.StringPtrInput
}

func (ReplicationSlotState) ElementType added in v3.2.0

func (ReplicationSlotState) ElementType() reflect.Type

type Role

type Role struct {
	pulumi.CustomResourceState

	// Defines the role to switch to at login via [`SET ROLE`](https://www.postgresql.org/docs/current/sql-set-role.html).
	AssumeRole pulumi.StringPtrOutput `pulumi:"assumeRole"`
	// Defines whether a role bypasses every
	// row-level security (RLS) policy.  Default value is `false`.
	BypassRowLevelSecurity pulumi.BoolPtrOutput `pulumi:"bypassRowLevelSecurity"`
	// If this role can log in, this specifies how
	// many concurrent connections the role can establish. `-1` (the default) means no
	// limit.
	ConnectionLimit pulumi.IntPtrOutput `pulumi:"connectionLimit"`
	// Defines a role's ability to execute `CREATE
	// DATABASE`.  Default value is `false`.
	CreateDatabase pulumi.BoolPtrOutput `pulumi:"createDatabase"`
	// Defines a role's ability to execute `CREATE ROLE`.
	// A role with this privilege can also alter and drop other roles.  Default value
	// is `false`.
	CreateRole pulumi.BoolPtrOutput `pulumi:"createRole"`
	// Deprecated: Rename PostgreSQL role resource attribute "encrypted" to "encrypted_password"
	Encrypted pulumi.StringPtrOutput `pulumi:"encrypted"`
	// Defines whether the password is stored
	// encrypted in the system catalogs.  Default value is `true`.  NOTE: this value
	// is always set (to the conservative and safe value), but may interfere with the
	// behavior of
	// [PostgreSQL's `passwordEncryption` setting](https://www.postgresql.org/docs/current/static/runtime-config-connection.html#GUC-PASSWORD-ENCRYPTION).
	EncryptedPassword pulumi.BoolPtrOutput `pulumi:"encryptedPassword"`
	// Terminate any session with an open transaction that has been idle for longer than the specified duration in milliseconds
	IdleInTransactionSessionTimeout pulumi.IntPtrOutput `pulumi:"idleInTransactionSessionTimeout"`
	// Defines whether a role "inherits" the privileges of
	// roles it is a member of.  Default value is `true`.
	Inherit pulumi.BoolPtrOutput `pulumi:"inherit"`
	// Defines whether role is allowed to log in.  Roles without
	// this attribute are useful for managing database privileges, but are not users
	// in the usual sense of the word.  Default value is `false`.
	Login pulumi.BoolPtrOutput `pulumi:"login"`
	// The name of the role. Must be unique on the PostgreSQL
	// server instance where it is configured.
	Name pulumi.StringOutput `pulumi:"name"`
	// Sets the role's password. A password is only of use
	// for roles having the `login` attribute set to true.
	Password pulumi.StringPtrOutput `pulumi:"password"`
	// Defines whether a role is allowed to initiate
	// streaming replication or put the system in and out of backup mode.  Default
	// value is `false`
	Replication pulumi.BoolPtrOutput `pulumi:"replication"`
	// Defines list of roles which will be granted to this new role.
	Roles pulumi.StringArrayOutput `pulumi:"roles"`
	// Alters the search path of this new role. Note that
	// due to limitations in the implementation, values cannot contain the substring
	// `", "`.
	SearchPaths pulumi.StringArrayOutput `pulumi:"searchPaths"`
	// When a PostgreSQL ROLE exists in multiple
	// databases and the ROLE is dropped, the
	// [cleanup of ownership of objects](https://www.postgresql.org/docs/current/static/role-removal.html)
	// in each of the respective databases must occur before the ROLE can be dropped
	// from the catalog.  Set this option to true when there are multiple databases
	// in a PostgreSQL cluster using the same PostgreSQL ROLE for object ownership.
	// This is the third and final step taken when removing a ROLE from a database.
	SkipDropRole pulumi.BoolPtrOutput `pulumi:"skipDropRole"`
	// When a PostgreSQL ROLE exists in multiple
	// databases and the ROLE is dropped, a
	// [`REASSIGN OWNED`](https://www.postgresql.org/docs/current/static/sql-reassign-owned.html) in
	// must be executed on each of the respective databases before the `DROP ROLE`
	// can be executed to dropped the ROLE from the catalog.  This is the first and
	// second steps taken when removing a ROLE from a database (the second step being
	// an implicit
	// [`DROP OWNED`](https://www.postgresql.org/docs/current/static/sql-drop-owned.html)).
	SkipReassignOwned pulumi.BoolPtrOutput `pulumi:"skipReassignOwned"`
	// Defines [`statementTimeout`](https://www.postgresql.org/docs/current/runtime-config-client.html#RUNTIME-CONFIG-CLIENT-STATEMENT) setting for this role which allows to abort any statement that takes more than the specified amount of time.
	StatementTimeout pulumi.IntPtrOutput `pulumi:"statementTimeout"`
	// Defines whether the role is a "superuser", and
	// therefore can override all access restrictions within the database.  Default
	// value is `false`.
	Superuser pulumi.BoolPtrOutput `pulumi:"superuser"`
	// Defines the date and time after which the role's
	// password is no longer valid.  Established connections past this `validTime`
	// will have to be manually terminated.  This value corresponds to a PostgreSQL
	// datetime. If omitted or the magic value `NULL` is used, `validUntil` will be
	// set to `infinity`.  Default is `NULL`, therefore `infinity`.
	ValidUntil pulumi.StringPtrOutput `pulumi:"validUntil"`
}

func GetRole

func GetRole(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RoleState, opts ...pulumi.ResourceOption) (*Role, error)

GetRole gets an existing Role 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 NewRole

func NewRole(ctx *pulumi.Context,
	name string, args *RoleArgs, opts ...pulumi.ResourceOption) (*Role, error)

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

func (*Role) ElementType

func (*Role) ElementType() reflect.Type

func (*Role) ToRoleOutput

func (i *Role) ToRoleOutput() RoleOutput

func (*Role) ToRoleOutputWithContext

func (i *Role) ToRoleOutputWithContext(ctx context.Context) RoleOutput

type RoleArgs

type RoleArgs struct {
	// Defines the role to switch to at login via [`SET ROLE`](https://www.postgresql.org/docs/current/sql-set-role.html).
	AssumeRole pulumi.StringPtrInput
	// Defines whether a role bypasses every
	// row-level security (RLS) policy.  Default value is `false`.
	BypassRowLevelSecurity pulumi.BoolPtrInput
	// If this role can log in, this specifies how
	// many concurrent connections the role can establish. `-1` (the default) means no
	// limit.
	ConnectionLimit pulumi.IntPtrInput
	// Defines a role's ability to execute `CREATE
	// DATABASE`.  Default value is `false`.
	CreateDatabase pulumi.BoolPtrInput
	// Defines a role's ability to execute `CREATE ROLE`.
	// A role with this privilege can also alter and drop other roles.  Default value
	// is `false`.
	CreateRole pulumi.BoolPtrInput
	// Deprecated: Rename PostgreSQL role resource attribute "encrypted" to "encrypted_password"
	Encrypted pulumi.StringPtrInput
	// Defines whether the password is stored
	// encrypted in the system catalogs.  Default value is `true`.  NOTE: this value
	// is always set (to the conservative and safe value), but may interfere with the
	// behavior of
	// [PostgreSQL's `passwordEncryption` setting](https://www.postgresql.org/docs/current/static/runtime-config-connection.html#GUC-PASSWORD-ENCRYPTION).
	EncryptedPassword pulumi.BoolPtrInput
	// Terminate any session with an open transaction that has been idle for longer than the specified duration in milliseconds
	IdleInTransactionSessionTimeout pulumi.IntPtrInput
	// Defines whether a role "inherits" the privileges of
	// roles it is a member of.  Default value is `true`.
	Inherit pulumi.BoolPtrInput
	// Defines whether role is allowed to log in.  Roles without
	// this attribute are useful for managing database privileges, but are not users
	// in the usual sense of the word.  Default value is `false`.
	Login pulumi.BoolPtrInput
	// The name of the role. Must be unique on the PostgreSQL
	// server instance where it is configured.
	Name pulumi.StringPtrInput
	// Sets the role's password. A password is only of use
	// for roles having the `login` attribute set to true.
	Password pulumi.StringPtrInput
	// Defines whether a role is allowed to initiate
	// streaming replication or put the system in and out of backup mode.  Default
	// value is `false`
	Replication pulumi.BoolPtrInput
	// Defines list of roles which will be granted to this new role.
	Roles pulumi.StringArrayInput
	// Alters the search path of this new role. Note that
	// due to limitations in the implementation, values cannot contain the substring
	// `", "`.
	SearchPaths pulumi.StringArrayInput
	// When a PostgreSQL ROLE exists in multiple
	// databases and the ROLE is dropped, the
	// [cleanup of ownership of objects](https://www.postgresql.org/docs/current/static/role-removal.html)
	// in each of the respective databases must occur before the ROLE can be dropped
	// from the catalog.  Set this option to true when there are multiple databases
	// in a PostgreSQL cluster using the same PostgreSQL ROLE for object ownership.
	// This is the third and final step taken when removing a ROLE from a database.
	SkipDropRole pulumi.BoolPtrInput
	// When a PostgreSQL ROLE exists in multiple
	// databases and the ROLE is dropped, a
	// [`REASSIGN OWNED`](https://www.postgresql.org/docs/current/static/sql-reassign-owned.html) in
	// must be executed on each of the respective databases before the `DROP ROLE`
	// can be executed to dropped the ROLE from the catalog.  This is the first and
	// second steps taken when removing a ROLE from a database (the second step being
	// an implicit
	// [`DROP OWNED`](https://www.postgresql.org/docs/current/static/sql-drop-owned.html)).
	SkipReassignOwned pulumi.BoolPtrInput
	// Defines [`statementTimeout`](https://www.postgresql.org/docs/current/runtime-config-client.html#RUNTIME-CONFIG-CLIENT-STATEMENT) setting for this role which allows to abort any statement that takes more than the specified amount of time.
	StatementTimeout pulumi.IntPtrInput
	// Defines whether the role is a "superuser", and
	// therefore can override all access restrictions within the database.  Default
	// value is `false`.
	Superuser pulumi.BoolPtrInput
	// Defines the date and time after which the role's
	// password is no longer valid.  Established connections past this `validTime`
	// will have to be manually terminated.  This value corresponds to a PostgreSQL
	// datetime. If omitted or the magic value `NULL` is used, `validUntil` will be
	// set to `infinity`.  Default is `NULL`, therefore `infinity`.
	ValidUntil pulumi.StringPtrInput
}

The set of arguments for constructing a Role resource.

func (RoleArgs) ElementType

func (RoleArgs) ElementType() reflect.Type

type RoleArray

type RoleArray []RoleInput

func (RoleArray) ElementType

func (RoleArray) ElementType() reflect.Type

func (RoleArray) ToRoleArrayOutput

func (i RoleArray) ToRoleArrayOutput() RoleArrayOutput

func (RoleArray) ToRoleArrayOutputWithContext

func (i RoleArray) ToRoleArrayOutputWithContext(ctx context.Context) RoleArrayOutput

type RoleArrayInput

type RoleArrayInput interface {
	pulumi.Input

	ToRoleArrayOutput() RoleArrayOutput
	ToRoleArrayOutputWithContext(context.Context) RoleArrayOutput
}

RoleArrayInput is an input type that accepts RoleArray and RoleArrayOutput values. You can construct a concrete instance of `RoleArrayInput` via:

RoleArray{ RoleArgs{...} }

type RoleArrayOutput

type RoleArrayOutput struct{ *pulumi.OutputState }

func (RoleArrayOutput) ElementType

func (RoleArrayOutput) ElementType() reflect.Type

func (RoleArrayOutput) Index

func (RoleArrayOutput) ToRoleArrayOutput

func (o RoleArrayOutput) ToRoleArrayOutput() RoleArrayOutput

func (RoleArrayOutput) ToRoleArrayOutputWithContext

func (o RoleArrayOutput) ToRoleArrayOutputWithContext(ctx context.Context) RoleArrayOutput

type RoleInput

type RoleInput interface {
	pulumi.Input

	ToRoleOutput() RoleOutput
	ToRoleOutputWithContext(ctx context.Context) RoleOutput
}

type RoleMap

type RoleMap map[string]RoleInput

func (RoleMap) ElementType

func (RoleMap) ElementType() reflect.Type

func (RoleMap) ToRoleMapOutput

func (i RoleMap) ToRoleMapOutput() RoleMapOutput

func (RoleMap) ToRoleMapOutputWithContext

func (i RoleMap) ToRoleMapOutputWithContext(ctx context.Context) RoleMapOutput

type RoleMapInput

type RoleMapInput interface {
	pulumi.Input

	ToRoleMapOutput() RoleMapOutput
	ToRoleMapOutputWithContext(context.Context) RoleMapOutput
}

RoleMapInput is an input type that accepts RoleMap and RoleMapOutput values. You can construct a concrete instance of `RoleMapInput` via:

RoleMap{ "key": RoleArgs{...} }

type RoleMapOutput

type RoleMapOutput struct{ *pulumi.OutputState }

func (RoleMapOutput) ElementType

func (RoleMapOutput) ElementType() reflect.Type

func (RoleMapOutput) MapIndex

func (RoleMapOutput) ToRoleMapOutput

func (o RoleMapOutput) ToRoleMapOutput() RoleMapOutput

func (RoleMapOutput) ToRoleMapOutputWithContext

func (o RoleMapOutput) ToRoleMapOutputWithContext(ctx context.Context) RoleMapOutput

type RoleOutput

type RoleOutput struct{ *pulumi.OutputState }

func (RoleOutput) AssumeRole added in v3.6.0

func (o RoleOutput) AssumeRole() pulumi.StringPtrOutput

Defines the role to switch to at login via [`SET ROLE`](https://www.postgresql.org/docs/current/sql-set-role.html).

func (RoleOutput) BypassRowLevelSecurity added in v3.5.0

func (o RoleOutput) BypassRowLevelSecurity() pulumi.BoolPtrOutput

Defines whether a role bypasses every row-level security (RLS) policy. Default value is `false`.

func (RoleOutput) ConnectionLimit added in v3.5.0

func (o RoleOutput) ConnectionLimit() pulumi.IntPtrOutput

If this role can log in, this specifies how many concurrent connections the role can establish. `-1` (the default) means no limit.

func (RoleOutput) CreateDatabase added in v3.5.0

func (o RoleOutput) CreateDatabase() pulumi.BoolPtrOutput

Defines a role's ability to execute `CREATE DATABASE`. Default value is `false`.

func (RoleOutput) CreateRole added in v3.5.0

func (o RoleOutput) CreateRole() pulumi.BoolPtrOutput

Defines a role's ability to execute `CREATE ROLE`. A role with this privilege can also alter and drop other roles. Default value is `false`.

func (RoleOutput) ElementType

func (RoleOutput) ElementType() reflect.Type

func (RoleOutput) Encrypted deprecated added in v3.5.0

func (o RoleOutput) Encrypted() pulumi.StringPtrOutput

Deprecated: Rename PostgreSQL role resource attribute "encrypted" to "encrypted_password"

func (RoleOutput) EncryptedPassword added in v3.5.0

func (o RoleOutput) EncryptedPassword() pulumi.BoolPtrOutput

Defines whether the password is stored encrypted in the system catalogs. Default value is `true`. NOTE: this value is always set (to the conservative and safe value), but may interfere with the behavior of [PostgreSQL's `passwordEncryption` setting](https://www.postgresql.org/docs/current/static/runtime-config-connection.html#GUC-PASSWORD-ENCRYPTION).

func (RoleOutput) IdleInTransactionSessionTimeout added in v3.5.0

func (o RoleOutput) IdleInTransactionSessionTimeout() pulumi.IntPtrOutput

Terminate any session with an open transaction that has been idle for longer than the specified duration in milliseconds

func (RoleOutput) Inherit added in v3.5.0

func (o RoleOutput) Inherit() pulumi.BoolPtrOutput

Defines whether a role "inherits" the privileges of roles it is a member of. Default value is `true`.

func (RoleOutput) Login added in v3.5.0

func (o RoleOutput) Login() pulumi.BoolPtrOutput

Defines whether role is allowed to log in. Roles without this attribute are useful for managing database privileges, but are not users in the usual sense of the word. Default value is `false`.

func (RoleOutput) Name added in v3.5.0

func (o RoleOutput) Name() pulumi.StringOutput

The name of the role. Must be unique on the PostgreSQL server instance where it is configured.

func (RoleOutput) Password added in v3.5.0

func (o RoleOutput) Password() pulumi.StringPtrOutput

Sets the role's password. A password is only of use for roles having the `login` attribute set to true.

func (RoleOutput) Replication added in v3.5.0

func (o RoleOutput) Replication() pulumi.BoolPtrOutput

Defines whether a role is allowed to initiate streaming replication or put the system in and out of backup mode. Default value is `false`

func (RoleOutput) Roles added in v3.5.0

Defines list of roles which will be granted to this new role.

func (RoleOutput) SearchPaths added in v3.5.0

func (o RoleOutput) SearchPaths() pulumi.StringArrayOutput

Alters the search path of this new role. Note that due to limitations in the implementation, values cannot contain the substring `", "`.

func (RoleOutput) SkipDropRole added in v3.5.0

func (o RoleOutput) SkipDropRole() pulumi.BoolPtrOutput

When a PostgreSQL ROLE exists in multiple databases and the ROLE is dropped, the [cleanup of ownership of objects](https://www.postgresql.org/docs/current/static/role-removal.html) in each of the respective databases must occur before the ROLE can be dropped from the catalog. Set this option to true when there are multiple databases in a PostgreSQL cluster using the same PostgreSQL ROLE for object ownership. This is the third and final step taken when removing a ROLE from a database.

func (RoleOutput) SkipReassignOwned added in v3.5.0

func (o RoleOutput) SkipReassignOwned() pulumi.BoolPtrOutput

When a PostgreSQL ROLE exists in multiple databases and the ROLE is dropped, a [`REASSIGN OWNED`](https://www.postgresql.org/docs/current/static/sql-reassign-owned.html) in must be executed on each of the respective databases before the `DROP ROLE` can be executed to dropped the ROLE from the catalog. This is the first and second steps taken when removing a ROLE from a database (the second step being an implicit [`DROP OWNED`](https://www.postgresql.org/docs/current/static/sql-drop-owned.html)).

func (RoleOutput) StatementTimeout added in v3.5.0

func (o RoleOutput) StatementTimeout() pulumi.IntPtrOutput

Defines [`statementTimeout`](https://www.postgresql.org/docs/current/runtime-config-client.html#RUNTIME-CONFIG-CLIENT-STATEMENT) setting for this role which allows to abort any statement that takes more than the specified amount of time.

func (RoleOutput) Superuser added in v3.5.0

func (o RoleOutput) Superuser() pulumi.BoolPtrOutput

Defines whether the role is a "superuser", and therefore can override all access restrictions within the database. Default value is `false`.

func (RoleOutput) ToRoleOutput

func (o RoleOutput) ToRoleOutput() RoleOutput

func (RoleOutput) ToRoleOutputWithContext

func (o RoleOutput) ToRoleOutputWithContext(ctx context.Context) RoleOutput

func (RoleOutput) ValidUntil added in v3.5.0

func (o RoleOutput) ValidUntil() pulumi.StringPtrOutput

Defines the date and time after which the role's password is no longer valid. Established connections past this `validTime` will have to be manually terminated. This value corresponds to a PostgreSQL datetime. If omitted or the magic value `NULL` is used, `validUntil` will be set to `infinity`. Default is `NULL`, therefore `infinity`.

type RoleState

type RoleState struct {
	// Defines the role to switch to at login via [`SET ROLE`](https://www.postgresql.org/docs/current/sql-set-role.html).
	AssumeRole pulumi.StringPtrInput
	// Defines whether a role bypasses every
	// row-level security (RLS) policy.  Default value is `false`.
	BypassRowLevelSecurity pulumi.BoolPtrInput
	// If this role can log in, this specifies how
	// many concurrent connections the role can establish. `-1` (the default) means no
	// limit.
	ConnectionLimit pulumi.IntPtrInput
	// Defines a role's ability to execute `CREATE
	// DATABASE`.  Default value is `false`.
	CreateDatabase pulumi.BoolPtrInput
	// Defines a role's ability to execute `CREATE ROLE`.
	// A role with this privilege can also alter and drop other roles.  Default value
	// is `false`.
	CreateRole pulumi.BoolPtrInput
	// Deprecated: Rename PostgreSQL role resource attribute "encrypted" to "encrypted_password"
	Encrypted pulumi.StringPtrInput
	// Defines whether the password is stored
	// encrypted in the system catalogs.  Default value is `true`.  NOTE: this value
	// is always set (to the conservative and safe value), but may interfere with the
	// behavior of
	// [PostgreSQL's `passwordEncryption` setting](https://www.postgresql.org/docs/current/static/runtime-config-connection.html#GUC-PASSWORD-ENCRYPTION).
	EncryptedPassword pulumi.BoolPtrInput
	// Terminate any session with an open transaction that has been idle for longer than the specified duration in milliseconds
	IdleInTransactionSessionTimeout pulumi.IntPtrInput
	// Defines whether a role "inherits" the privileges of
	// roles it is a member of.  Default value is `true`.
	Inherit pulumi.BoolPtrInput
	// Defines whether role is allowed to log in.  Roles without
	// this attribute are useful for managing database privileges, but are not users
	// in the usual sense of the word.  Default value is `false`.
	Login pulumi.BoolPtrInput
	// The name of the role. Must be unique on the PostgreSQL
	// server instance where it is configured.
	Name pulumi.StringPtrInput
	// Sets the role's password. A password is only of use
	// for roles having the `login` attribute set to true.
	Password pulumi.StringPtrInput
	// Defines whether a role is allowed to initiate
	// streaming replication or put the system in and out of backup mode.  Default
	// value is `false`
	Replication pulumi.BoolPtrInput
	// Defines list of roles which will be granted to this new role.
	Roles pulumi.StringArrayInput
	// Alters the search path of this new role. Note that
	// due to limitations in the implementation, values cannot contain the substring
	// `", "`.
	SearchPaths pulumi.StringArrayInput
	// When a PostgreSQL ROLE exists in multiple
	// databases and the ROLE is dropped, the
	// [cleanup of ownership of objects](https://www.postgresql.org/docs/current/static/role-removal.html)
	// in each of the respective databases must occur before the ROLE can be dropped
	// from the catalog.  Set this option to true when there are multiple databases
	// in a PostgreSQL cluster using the same PostgreSQL ROLE for object ownership.
	// This is the third and final step taken when removing a ROLE from a database.
	SkipDropRole pulumi.BoolPtrInput
	// When a PostgreSQL ROLE exists in multiple
	// databases and the ROLE is dropped, a
	// [`REASSIGN OWNED`](https://www.postgresql.org/docs/current/static/sql-reassign-owned.html) in
	// must be executed on each of the respective databases before the `DROP ROLE`
	// can be executed to dropped the ROLE from the catalog.  This is the first and
	// second steps taken when removing a ROLE from a database (the second step being
	// an implicit
	// [`DROP OWNED`](https://www.postgresql.org/docs/current/static/sql-drop-owned.html)).
	SkipReassignOwned pulumi.BoolPtrInput
	// Defines [`statementTimeout`](https://www.postgresql.org/docs/current/runtime-config-client.html#RUNTIME-CONFIG-CLIENT-STATEMENT) setting for this role which allows to abort any statement that takes more than the specified amount of time.
	StatementTimeout pulumi.IntPtrInput
	// Defines whether the role is a "superuser", and
	// therefore can override all access restrictions within the database.  Default
	// value is `false`.
	Superuser pulumi.BoolPtrInput
	// Defines the date and time after which the role's
	// password is no longer valid.  Established connections past this `validTime`
	// will have to be manually terminated.  This value corresponds to a PostgreSQL
	// datetime. If omitted or the magic value `NULL` is used, `validUntil` will be
	// set to `infinity`.  Default is `NULL`, therefore `infinity`.
	ValidUntil pulumi.StringPtrInput
}

func (RoleState) ElementType

func (RoleState) ElementType() reflect.Type

type Schema

type Schema struct {
	pulumi.CustomResourceState

	// The DATABASE in which where this schema will be created. (Default: The database used by your `provider` configuration)
	Database pulumi.StringOutput `pulumi:"database"`
	// When true, will also drop all the objects that are contained in the schema. (Default: false)
	DropCascade pulumi.BoolPtrOutput `pulumi:"dropCascade"`
	// When true, use the existing schema if it exists. (Default: true)
	IfNotExists pulumi.BoolPtrOutput `pulumi:"ifNotExists"`
	// The name of the schema. Must be unique in the PostgreSQL
	// database instance where it is configured.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ROLE who owns the schema.
	Owner pulumi.StringOutput `pulumi:"owner"`
	// Can be specified multiple times for each policy.  Each
	// policy block supports fields documented below.
	//
	// Deprecated: Use postgresql_grant resource instead (with object_type="schema")
	Policies SchemaPolicyArrayOutput `pulumi:"policies"`
}

func GetSchema

func GetSchema(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SchemaState, opts ...pulumi.ResourceOption) (*Schema, error)

GetSchema gets an existing Schema 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 NewSchema

func NewSchema(ctx *pulumi.Context,
	name string, args *SchemaArgs, opts ...pulumi.ResourceOption) (*Schema, error)

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

func (*Schema) ElementType

func (*Schema) ElementType() reflect.Type

func (*Schema) ToSchemaOutput

func (i *Schema) ToSchemaOutput() SchemaOutput

func (*Schema) ToSchemaOutputWithContext

func (i *Schema) ToSchemaOutputWithContext(ctx context.Context) SchemaOutput

type SchemaArgs

type SchemaArgs struct {
	// The DATABASE in which where this schema will be created. (Default: The database used by your `provider` configuration)
	Database pulumi.StringPtrInput
	// When true, will also drop all the objects that are contained in the schema. (Default: false)
	DropCascade pulumi.BoolPtrInput
	// When true, use the existing schema if it exists. (Default: true)
	IfNotExists pulumi.BoolPtrInput
	// The name of the schema. Must be unique in the PostgreSQL
	// database instance where it is configured.
	Name pulumi.StringPtrInput
	// The ROLE who owns the schema.
	Owner pulumi.StringPtrInput
	// Can be specified multiple times for each policy.  Each
	// policy block supports fields documented below.
	//
	// Deprecated: Use postgresql_grant resource instead (with object_type="schema")
	Policies SchemaPolicyArrayInput
}

The set of arguments for constructing a Schema resource.

func (SchemaArgs) ElementType

func (SchemaArgs) ElementType() reflect.Type

type SchemaArray

type SchemaArray []SchemaInput

func (SchemaArray) ElementType

func (SchemaArray) ElementType() reflect.Type

func (SchemaArray) ToSchemaArrayOutput

func (i SchemaArray) ToSchemaArrayOutput() SchemaArrayOutput

func (SchemaArray) ToSchemaArrayOutputWithContext

func (i SchemaArray) ToSchemaArrayOutputWithContext(ctx context.Context) SchemaArrayOutput

type SchemaArrayInput

type SchemaArrayInput interface {
	pulumi.Input

	ToSchemaArrayOutput() SchemaArrayOutput
	ToSchemaArrayOutputWithContext(context.Context) SchemaArrayOutput
}

SchemaArrayInput is an input type that accepts SchemaArray and SchemaArrayOutput values. You can construct a concrete instance of `SchemaArrayInput` via:

SchemaArray{ SchemaArgs{...} }

type SchemaArrayOutput

type SchemaArrayOutput struct{ *pulumi.OutputState }

func (SchemaArrayOutput) ElementType

func (SchemaArrayOutput) ElementType() reflect.Type

func (SchemaArrayOutput) Index

func (SchemaArrayOutput) ToSchemaArrayOutput

func (o SchemaArrayOutput) ToSchemaArrayOutput() SchemaArrayOutput

func (SchemaArrayOutput) ToSchemaArrayOutputWithContext

func (o SchemaArrayOutput) ToSchemaArrayOutputWithContext(ctx context.Context) SchemaArrayOutput

type SchemaInput

type SchemaInput interface {
	pulumi.Input

	ToSchemaOutput() SchemaOutput
	ToSchemaOutputWithContext(ctx context.Context) SchemaOutput
}

type SchemaMap

type SchemaMap map[string]SchemaInput

func (SchemaMap) ElementType

func (SchemaMap) ElementType() reflect.Type

func (SchemaMap) ToSchemaMapOutput

func (i SchemaMap) ToSchemaMapOutput() SchemaMapOutput

func (SchemaMap) ToSchemaMapOutputWithContext

func (i SchemaMap) ToSchemaMapOutputWithContext(ctx context.Context) SchemaMapOutput

type SchemaMapInput

type SchemaMapInput interface {
	pulumi.Input

	ToSchemaMapOutput() SchemaMapOutput
	ToSchemaMapOutputWithContext(context.Context) SchemaMapOutput
}

SchemaMapInput is an input type that accepts SchemaMap and SchemaMapOutput values. You can construct a concrete instance of `SchemaMapInput` via:

SchemaMap{ "key": SchemaArgs{...} }

type SchemaMapOutput

type SchemaMapOutput struct{ *pulumi.OutputState }

func (SchemaMapOutput) ElementType

func (SchemaMapOutput) ElementType() reflect.Type

func (SchemaMapOutput) MapIndex

func (SchemaMapOutput) ToSchemaMapOutput

func (o SchemaMapOutput) ToSchemaMapOutput() SchemaMapOutput

func (SchemaMapOutput) ToSchemaMapOutputWithContext

func (o SchemaMapOutput) ToSchemaMapOutputWithContext(ctx context.Context) SchemaMapOutput

type SchemaOutput

type SchemaOutput struct{ *pulumi.OutputState }

func (SchemaOutput) Database added in v3.5.0

func (o SchemaOutput) Database() pulumi.StringOutput

The DATABASE in which where this schema will be created. (Default: The database used by your `provider` configuration)

func (SchemaOutput) DropCascade added in v3.5.0

func (o SchemaOutput) DropCascade() pulumi.BoolPtrOutput

When true, will also drop all the objects that are contained in the schema. (Default: false)

func (SchemaOutput) ElementType

func (SchemaOutput) ElementType() reflect.Type

func (SchemaOutput) IfNotExists added in v3.5.0

func (o SchemaOutput) IfNotExists() pulumi.BoolPtrOutput

When true, use the existing schema if it exists. (Default: true)

func (SchemaOutput) Name added in v3.5.0

func (o SchemaOutput) Name() pulumi.StringOutput

The name of the schema. Must be unique in the PostgreSQL database instance where it is configured.

func (SchemaOutput) Owner added in v3.5.0

func (o SchemaOutput) Owner() pulumi.StringOutput

The ROLE who owns the schema.

func (SchemaOutput) Policies deprecated added in v3.5.0

Can be specified multiple times for each policy. Each policy block supports fields documented below.

Deprecated: Use postgresql_grant resource instead (with object_type="schema")

func (SchemaOutput) ToSchemaOutput

func (o SchemaOutput) ToSchemaOutput() SchemaOutput

func (SchemaOutput) ToSchemaOutputWithContext

func (o SchemaOutput) ToSchemaOutputWithContext(ctx context.Context) SchemaOutput

type SchemaPolicy

type SchemaPolicy struct {
	// Should the specified ROLE have CREATE privileges to the specified SCHEMA.
	Create *bool `pulumi:"create"`
	// Should the specified ROLE have CREATE privileges to the specified SCHEMA and the ability to GRANT the CREATE privilege to other ROLEs.
	CreateWithGrant *bool `pulumi:"createWithGrant"`
	// The ROLE who is receiving the policy.  If this value is empty or not specified it implies the policy is referring to the [`PUBLIC` role](https://www.postgresql.org/docs/current/static/sql-grant.html).
	Role *string `pulumi:"role"`
	// Should the specified ROLE have USAGE privileges to the specified SCHEMA.
	Usage *bool `pulumi:"usage"`
	// Should the specified ROLE have USAGE privileges to the specified SCHEMA and the ability to GRANT the USAGE privilege to other ROLEs.
	//
	// > **NOTE on `policy`:** The permissions of a role specified in multiple policy blocks is cumulative.  For example, if the same role is specified in two different `policy` each with different permissions (e.g. `create` and `usageWithGrant`, respectively), then the specified role with have both `create` and `usageWithGrant` privileges.
	UsageWithGrant *bool `pulumi:"usageWithGrant"`
}

type SchemaPolicyArgs

type SchemaPolicyArgs struct {
	// Should the specified ROLE have CREATE privileges to the specified SCHEMA.
	Create pulumi.BoolPtrInput `pulumi:"create"`
	// Should the specified ROLE have CREATE privileges to the specified SCHEMA and the ability to GRANT the CREATE privilege to other ROLEs.
	CreateWithGrant pulumi.BoolPtrInput `pulumi:"createWithGrant"`
	// The ROLE who is receiving the policy.  If this value is empty or not specified it implies the policy is referring to the [`PUBLIC` role](https://www.postgresql.org/docs/current/static/sql-grant.html).
	Role pulumi.StringPtrInput `pulumi:"role"`
	// Should the specified ROLE have USAGE privileges to the specified SCHEMA.
	Usage pulumi.BoolPtrInput `pulumi:"usage"`
	// Should the specified ROLE have USAGE privileges to the specified SCHEMA and the ability to GRANT the USAGE privilege to other ROLEs.
	//
	// > **NOTE on `policy`:** The permissions of a role specified in multiple policy blocks is cumulative.  For example, if the same role is specified in two different `policy` each with different permissions (e.g. `create` and `usageWithGrant`, respectively), then the specified role with have both `create` and `usageWithGrant` privileges.
	UsageWithGrant pulumi.BoolPtrInput `pulumi:"usageWithGrant"`
}

func (SchemaPolicyArgs) ElementType

func (SchemaPolicyArgs) ElementType() reflect.Type

func (SchemaPolicyArgs) ToSchemaPolicyOutput

func (i SchemaPolicyArgs) ToSchemaPolicyOutput() SchemaPolicyOutput

func (SchemaPolicyArgs) ToSchemaPolicyOutputWithContext

func (i SchemaPolicyArgs) ToSchemaPolicyOutputWithContext(ctx context.Context) SchemaPolicyOutput

type SchemaPolicyArray

type SchemaPolicyArray []SchemaPolicyInput

func (SchemaPolicyArray) ElementType

func (SchemaPolicyArray) ElementType() reflect.Type

func (SchemaPolicyArray) ToSchemaPolicyArrayOutput

func (i SchemaPolicyArray) ToSchemaPolicyArrayOutput() SchemaPolicyArrayOutput

func (SchemaPolicyArray) ToSchemaPolicyArrayOutputWithContext

func (i SchemaPolicyArray) ToSchemaPolicyArrayOutputWithContext(ctx context.Context) SchemaPolicyArrayOutput

type SchemaPolicyArrayInput

type SchemaPolicyArrayInput interface {
	pulumi.Input

	ToSchemaPolicyArrayOutput() SchemaPolicyArrayOutput
	ToSchemaPolicyArrayOutputWithContext(context.Context) SchemaPolicyArrayOutput
}

SchemaPolicyArrayInput is an input type that accepts SchemaPolicyArray and SchemaPolicyArrayOutput values. You can construct a concrete instance of `SchemaPolicyArrayInput` via:

SchemaPolicyArray{ SchemaPolicyArgs{...} }

type SchemaPolicyArrayOutput

type SchemaPolicyArrayOutput struct{ *pulumi.OutputState }

func (SchemaPolicyArrayOutput) ElementType

func (SchemaPolicyArrayOutput) ElementType() reflect.Type

func (SchemaPolicyArrayOutput) Index

func (SchemaPolicyArrayOutput) ToSchemaPolicyArrayOutput

func (o SchemaPolicyArrayOutput) ToSchemaPolicyArrayOutput() SchemaPolicyArrayOutput

func (SchemaPolicyArrayOutput) ToSchemaPolicyArrayOutputWithContext

func (o SchemaPolicyArrayOutput) ToSchemaPolicyArrayOutputWithContext(ctx context.Context) SchemaPolicyArrayOutput

type SchemaPolicyInput

type SchemaPolicyInput interface {
	pulumi.Input

	ToSchemaPolicyOutput() SchemaPolicyOutput
	ToSchemaPolicyOutputWithContext(context.Context) SchemaPolicyOutput
}

SchemaPolicyInput is an input type that accepts SchemaPolicyArgs and SchemaPolicyOutput values. You can construct a concrete instance of `SchemaPolicyInput` via:

SchemaPolicyArgs{...}

type SchemaPolicyOutput

type SchemaPolicyOutput struct{ *pulumi.OutputState }

func (SchemaPolicyOutput) Create

Should the specified ROLE have CREATE privileges to the specified SCHEMA.

func (SchemaPolicyOutput) CreateWithGrant

func (o SchemaPolicyOutput) CreateWithGrant() pulumi.BoolPtrOutput

Should the specified ROLE have CREATE privileges to the specified SCHEMA and the ability to GRANT the CREATE privilege to other ROLEs.

func (SchemaPolicyOutput) ElementType

func (SchemaPolicyOutput) ElementType() reflect.Type

func (SchemaPolicyOutput) Role

The ROLE who is receiving the policy. If this value is empty or not specified it implies the policy is referring to the [`PUBLIC` role](https://www.postgresql.org/docs/current/static/sql-grant.html).

func (SchemaPolicyOutput) ToSchemaPolicyOutput

func (o SchemaPolicyOutput) ToSchemaPolicyOutput() SchemaPolicyOutput

func (SchemaPolicyOutput) ToSchemaPolicyOutputWithContext

func (o SchemaPolicyOutput) ToSchemaPolicyOutputWithContext(ctx context.Context) SchemaPolicyOutput

func (SchemaPolicyOutput) Usage

Should the specified ROLE have USAGE privileges to the specified SCHEMA.

func (SchemaPolicyOutput) UsageWithGrant

func (o SchemaPolicyOutput) UsageWithGrant() pulumi.BoolPtrOutput

Should the specified ROLE have USAGE privileges to the specified SCHEMA and the ability to GRANT the USAGE privilege to other ROLEs.

> **NOTE on `policy`:** The permissions of a role specified in multiple policy blocks is cumulative. For example, if the same role is specified in two different `policy` each with different permissions (e.g. `create` and `usageWithGrant`, respectively), then the specified role with have both `create` and `usageWithGrant` privileges.

type SchemaState

type SchemaState struct {
	// The DATABASE in which where this schema will be created. (Default: The database used by your `provider` configuration)
	Database pulumi.StringPtrInput
	// When true, will also drop all the objects that are contained in the schema. (Default: false)
	DropCascade pulumi.BoolPtrInput
	// When true, use the existing schema if it exists. (Default: true)
	IfNotExists pulumi.BoolPtrInput
	// The name of the schema. Must be unique in the PostgreSQL
	// database instance where it is configured.
	Name pulumi.StringPtrInput
	// The ROLE who owns the schema.
	Owner pulumi.StringPtrInput
	// Can be specified multiple times for each policy.  Each
	// policy block supports fields documented below.
	//
	// Deprecated: Use postgresql_grant resource instead (with object_type="schema")
	Policies SchemaPolicyArrayInput
}

func (SchemaState) ElementType

func (SchemaState) ElementType() reflect.Type

type Server added in v3.7.0

type Server struct {
	pulumi.CustomResourceState

	// When true, will drop objects that depend on the server (such as user mappings), and in turn all objects that depend on those objects . (Default: false)
	DropCascade pulumi.BoolPtrOutput `pulumi:"dropCascade"`
	// The name of the foreign-data wrapper that manages the server.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the foreign server is created.
	FdwName pulumi.StringOutput `pulumi:"fdwName"`
	// This clause specifies the options for the server. The options typically define the connection details of the server, but the actual names and values are dependent on the server's foreign-data wrapper.
	Options pulumi.StringMapOutput `pulumi:"options"`
	// The name of the foreign server to be created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// By default, the user who defines the server becomes its owner. Set this value to configure the new owner of the foreign server.
	ServerOwner pulumi.StringOutput `pulumi:"serverOwner"`
	// Optional server type, potentially useful to foreign-data wrappers.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the foreign server is created.
	ServerType pulumi.StringPtrOutput `pulumi:"serverType"`
	// Optional server version, potentially useful to foreign-data wrappers.
	ServerVersion pulumi.StringPtrOutput `pulumi:"serverVersion"`
}

The “Server“ resource creates and manages a foreign server on a PostgreSQL server.

## Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		extPostgresFdw, err := postgresql.NewExtension(ctx, "extPostgresFdw", nil)
		if err != nil {
			return err
		}
		_, err = postgresql.NewServer(ctx, "myserverPostgres", &postgresql.ServerArgs{
			ServerName: pulumi.String("myserver_postgres"),
			FdwName:    pulumi.String("postgres_fdw"),
			Options: pulumi.StringMap{
				"host":   pulumi.String("foo"),
				"dbname": pulumi.String("foodb"),
				"port":   pulumi.String("5432"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			extPostgresFdw,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		extFileFdw, err := postgresql.NewExtension(ctx, "extFileFdw", nil)
		if err != nil {
			return err
		}
		_, err = postgresql.NewServer(ctx, "myserverFile", &postgresql.ServerArgs{
			ServerName: pulumi.String("myserver_file"),
			FdwName:    pulumi.String("file_fdw"),
		}, pulumi.DependsOn([]pulumi.Resource{
			extFileFdw,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetServer added in v3.7.0

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

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

func (*Server) ElementType() reflect.Type

func (*Server) ToServerOutput added in v3.7.0

func (i *Server) ToServerOutput() ServerOutput

func (*Server) ToServerOutputWithContext added in v3.7.0

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

type ServerArgs added in v3.7.0

type ServerArgs struct {
	// When true, will drop objects that depend on the server (such as user mappings), and in turn all objects that depend on those objects . (Default: false)
	DropCascade pulumi.BoolPtrInput
	// The name of the foreign-data wrapper that manages the server.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the foreign server is created.
	FdwName pulumi.StringInput
	// This clause specifies the options for the server. The options typically define the connection details of the server, but the actual names and values are dependent on the server's foreign-data wrapper.
	Options pulumi.StringMapInput
	// The name of the foreign server to be created.
	ServerName pulumi.StringInput
	// By default, the user who defines the server becomes its owner. Set this value to configure the new owner of the foreign server.
	ServerOwner pulumi.StringPtrInput
	// Optional server type, potentially useful to foreign-data wrappers.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the foreign server is created.
	ServerType pulumi.StringPtrInput
	// Optional server version, potentially useful to foreign-data wrappers.
	ServerVersion pulumi.StringPtrInput
}

The set of arguments for constructing a Server resource.

func (ServerArgs) ElementType added in v3.7.0

func (ServerArgs) ElementType() reflect.Type

type ServerArray added in v3.7.0

type ServerArray []ServerInput

func (ServerArray) ElementType added in v3.7.0

func (ServerArray) ElementType() reflect.Type

func (ServerArray) ToServerArrayOutput added in v3.7.0

func (i ServerArray) ToServerArrayOutput() ServerArrayOutput

func (ServerArray) ToServerArrayOutputWithContext added in v3.7.0

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

type ServerArrayInput added in v3.7.0

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

type ServerArrayOutput struct{ *pulumi.OutputState }

func (ServerArrayOutput) ElementType added in v3.7.0

func (ServerArrayOutput) ElementType() reflect.Type

func (ServerArrayOutput) Index added in v3.7.0

func (ServerArrayOutput) ToServerArrayOutput added in v3.7.0

func (o ServerArrayOutput) ToServerArrayOutput() ServerArrayOutput

func (ServerArrayOutput) ToServerArrayOutputWithContext added in v3.7.0

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

type ServerInput added in v3.7.0

type ServerInput interface {
	pulumi.Input

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

type ServerMap added in v3.7.0

type ServerMap map[string]ServerInput

func (ServerMap) ElementType added in v3.7.0

func (ServerMap) ElementType() reflect.Type

func (ServerMap) ToServerMapOutput added in v3.7.0

func (i ServerMap) ToServerMapOutput() ServerMapOutput

func (ServerMap) ToServerMapOutputWithContext added in v3.7.0

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

type ServerMapInput added in v3.7.0

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

type ServerMapOutput struct{ *pulumi.OutputState }

func (ServerMapOutput) ElementType added in v3.7.0

func (ServerMapOutput) ElementType() reflect.Type

func (ServerMapOutput) MapIndex added in v3.7.0

func (ServerMapOutput) ToServerMapOutput added in v3.7.0

func (o ServerMapOutput) ToServerMapOutput() ServerMapOutput

func (ServerMapOutput) ToServerMapOutputWithContext added in v3.7.0

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

type ServerOutput added in v3.7.0

type ServerOutput struct{ *pulumi.OutputState }

func (ServerOutput) DropCascade added in v3.7.0

func (o ServerOutput) DropCascade() pulumi.BoolPtrOutput

When true, will drop objects that depend on the server (such as user mappings), and in turn all objects that depend on those objects . (Default: false)

func (ServerOutput) ElementType added in v3.7.0

func (ServerOutput) ElementType() reflect.Type

func (ServerOutput) FdwName added in v3.7.0

func (o ServerOutput) FdwName() pulumi.StringOutput

The name of the foreign-data wrapper that manages the server. Changing this value will force the creation of a new resource as this value can only be set when the foreign server is created.

func (ServerOutput) Options added in v3.7.0

func (o ServerOutput) Options() pulumi.StringMapOutput

This clause specifies the options for the server. The options typically define the connection details of the server, but the actual names and values are dependent on the server's foreign-data wrapper.

func (ServerOutput) ServerName added in v3.7.0

func (o ServerOutput) ServerName() pulumi.StringOutput

The name of the foreign server to be created.

func (ServerOutput) ServerOwner added in v3.7.0

func (o ServerOutput) ServerOwner() pulumi.StringOutput

By default, the user who defines the server becomes its owner. Set this value to configure the new owner of the foreign server.

func (ServerOutput) ServerType added in v3.7.0

func (o ServerOutput) ServerType() pulumi.StringPtrOutput

Optional server type, potentially useful to foreign-data wrappers. Changing this value will force the creation of a new resource as this value can only be set when the foreign server is created.

func (ServerOutput) ServerVersion added in v3.7.0

func (o ServerOutput) ServerVersion() pulumi.StringPtrOutput

Optional server version, potentially useful to foreign-data wrappers.

func (ServerOutput) ToServerOutput added in v3.7.0

func (o ServerOutput) ToServerOutput() ServerOutput

func (ServerOutput) ToServerOutputWithContext added in v3.7.0

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

type ServerState added in v3.7.0

type ServerState struct {
	// When true, will drop objects that depend on the server (such as user mappings), and in turn all objects that depend on those objects . (Default: false)
	DropCascade pulumi.BoolPtrInput
	// The name of the foreign-data wrapper that manages the server.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the foreign server is created.
	FdwName pulumi.StringPtrInput
	// This clause specifies the options for the server. The options typically define the connection details of the server, but the actual names and values are dependent on the server's foreign-data wrapper.
	Options pulumi.StringMapInput
	// The name of the foreign server to be created.
	ServerName pulumi.StringPtrInput
	// By default, the user who defines the server becomes its owner. Set this value to configure the new owner of the foreign server.
	ServerOwner pulumi.StringPtrInput
	// Optional server type, potentially useful to foreign-data wrappers.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the foreign server is created.
	ServerType pulumi.StringPtrInput
	// Optional server version, potentially useful to foreign-data wrappers.
	ServerVersion pulumi.StringPtrInput
}

func (ServerState) ElementType added in v3.7.0

func (ServerState) ElementType() reflect.Type

type Subscription added in v3.7.0

type Subscription struct {
	pulumi.CustomResourceState

	// The connection string to the publisher. It should follow the [keyword/value format](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING)
	Conninfo pulumi.StringOutput `pulumi:"conninfo"`
	// Specifies whether the command should create the replication slot on the publisher. Default behavior is true
	CreateSlot pulumi.BoolPtrOutput `pulumi:"createSlot"`
	// Which database to create the subscription on. Defaults to provider database.
	Database pulumi.StringOutput `pulumi:"database"`
	// The name of the publication.
	Name pulumi.StringOutput `pulumi:"name"`
	// Names of the publications on the publisher to subscribe to
	Publications pulumi.StringArrayOutput `pulumi:"publications"`
	// Name of the replication slot to use. The default behavior is to use the name of the subscription for the slot name
	SlotName pulumi.StringPtrOutput `pulumi:"slotName"`
}

The `Subscription` resource creates and manages a publication on a PostgreSQL server.

## Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := postgresql.NewSubscription(ctx, "subscription", &postgresql.SubscriptionArgs{
			Conninfo: pulumi.String("host=localhost port=5432 dbname=mydb user=postgres password=postgres"),
			Publications: pulumi.StringArray{
				pulumi.String("publication"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Postgres documentation

- https://www.postgresql.org/docs/current/sql-createsubscription.html

func GetSubscription added in v3.7.0

func GetSubscription(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SubscriptionState, opts ...pulumi.ResourceOption) (*Subscription, error)

GetSubscription gets an existing Subscription 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 NewSubscription added in v3.7.0

func NewSubscription(ctx *pulumi.Context,
	name string, args *SubscriptionArgs, opts ...pulumi.ResourceOption) (*Subscription, error)

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

func (*Subscription) ElementType added in v3.7.0

func (*Subscription) ElementType() reflect.Type

func (*Subscription) ToSubscriptionOutput added in v3.7.0

func (i *Subscription) ToSubscriptionOutput() SubscriptionOutput

func (*Subscription) ToSubscriptionOutputWithContext added in v3.7.0

func (i *Subscription) ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput

type SubscriptionArgs added in v3.7.0

type SubscriptionArgs struct {
	// The connection string to the publisher. It should follow the [keyword/value format](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING)
	Conninfo pulumi.StringInput
	// Specifies whether the command should create the replication slot on the publisher. Default behavior is true
	CreateSlot pulumi.BoolPtrInput
	// Which database to create the subscription on. Defaults to provider database.
	Database pulumi.StringPtrInput
	// The name of the publication.
	Name pulumi.StringPtrInput
	// Names of the publications on the publisher to subscribe to
	Publications pulumi.StringArrayInput
	// Name of the replication slot to use. The default behavior is to use the name of the subscription for the slot name
	SlotName pulumi.StringPtrInput
}

The set of arguments for constructing a Subscription resource.

func (SubscriptionArgs) ElementType added in v3.7.0

func (SubscriptionArgs) ElementType() reflect.Type

type SubscriptionArray added in v3.7.0

type SubscriptionArray []SubscriptionInput

func (SubscriptionArray) ElementType added in v3.7.0

func (SubscriptionArray) ElementType() reflect.Type

func (SubscriptionArray) ToSubscriptionArrayOutput added in v3.7.0

func (i SubscriptionArray) ToSubscriptionArrayOutput() SubscriptionArrayOutput

func (SubscriptionArray) ToSubscriptionArrayOutputWithContext added in v3.7.0

func (i SubscriptionArray) ToSubscriptionArrayOutputWithContext(ctx context.Context) SubscriptionArrayOutput

type SubscriptionArrayInput added in v3.7.0

type SubscriptionArrayInput interface {
	pulumi.Input

	ToSubscriptionArrayOutput() SubscriptionArrayOutput
	ToSubscriptionArrayOutputWithContext(context.Context) SubscriptionArrayOutput
}

SubscriptionArrayInput is an input type that accepts SubscriptionArray and SubscriptionArrayOutput values. You can construct a concrete instance of `SubscriptionArrayInput` via:

SubscriptionArray{ SubscriptionArgs{...} }

type SubscriptionArrayOutput added in v3.7.0

type SubscriptionArrayOutput struct{ *pulumi.OutputState }

func (SubscriptionArrayOutput) ElementType added in v3.7.0

func (SubscriptionArrayOutput) ElementType() reflect.Type

func (SubscriptionArrayOutput) Index added in v3.7.0

func (SubscriptionArrayOutput) ToSubscriptionArrayOutput added in v3.7.0

func (o SubscriptionArrayOutput) ToSubscriptionArrayOutput() SubscriptionArrayOutput

func (SubscriptionArrayOutput) ToSubscriptionArrayOutputWithContext added in v3.7.0

func (o SubscriptionArrayOutput) ToSubscriptionArrayOutputWithContext(ctx context.Context) SubscriptionArrayOutput

type SubscriptionInput added in v3.7.0

type SubscriptionInput interface {
	pulumi.Input

	ToSubscriptionOutput() SubscriptionOutput
	ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput
}

type SubscriptionMap added in v3.7.0

type SubscriptionMap map[string]SubscriptionInput

func (SubscriptionMap) ElementType added in v3.7.0

func (SubscriptionMap) ElementType() reflect.Type

func (SubscriptionMap) ToSubscriptionMapOutput added in v3.7.0

func (i SubscriptionMap) ToSubscriptionMapOutput() SubscriptionMapOutput

func (SubscriptionMap) ToSubscriptionMapOutputWithContext added in v3.7.0

func (i SubscriptionMap) ToSubscriptionMapOutputWithContext(ctx context.Context) SubscriptionMapOutput

type SubscriptionMapInput added in v3.7.0

type SubscriptionMapInput interface {
	pulumi.Input

	ToSubscriptionMapOutput() SubscriptionMapOutput
	ToSubscriptionMapOutputWithContext(context.Context) SubscriptionMapOutput
}

SubscriptionMapInput is an input type that accepts SubscriptionMap and SubscriptionMapOutput values. You can construct a concrete instance of `SubscriptionMapInput` via:

SubscriptionMap{ "key": SubscriptionArgs{...} }

type SubscriptionMapOutput added in v3.7.0

type SubscriptionMapOutput struct{ *pulumi.OutputState }

func (SubscriptionMapOutput) ElementType added in v3.7.0

func (SubscriptionMapOutput) ElementType() reflect.Type

func (SubscriptionMapOutput) MapIndex added in v3.7.0

func (SubscriptionMapOutput) ToSubscriptionMapOutput added in v3.7.0

func (o SubscriptionMapOutput) ToSubscriptionMapOutput() SubscriptionMapOutput

func (SubscriptionMapOutput) ToSubscriptionMapOutputWithContext added in v3.7.0

func (o SubscriptionMapOutput) ToSubscriptionMapOutputWithContext(ctx context.Context) SubscriptionMapOutput

type SubscriptionOutput added in v3.7.0

type SubscriptionOutput struct{ *pulumi.OutputState }

func (SubscriptionOutput) Conninfo added in v3.7.0

func (o SubscriptionOutput) Conninfo() pulumi.StringOutput

The connection string to the publisher. It should follow the [keyword/value format](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING)

func (SubscriptionOutput) CreateSlot added in v3.7.0

func (o SubscriptionOutput) CreateSlot() pulumi.BoolPtrOutput

Specifies whether the command should create the replication slot on the publisher. Default behavior is true

func (SubscriptionOutput) Database added in v3.7.0

func (o SubscriptionOutput) Database() pulumi.StringOutput

Which database to create the subscription on. Defaults to provider database.

func (SubscriptionOutput) ElementType added in v3.7.0

func (SubscriptionOutput) ElementType() reflect.Type

func (SubscriptionOutput) Name added in v3.7.0

The name of the publication.

func (SubscriptionOutput) Publications added in v3.7.0

func (o SubscriptionOutput) Publications() pulumi.StringArrayOutput

Names of the publications on the publisher to subscribe to

func (SubscriptionOutput) SlotName added in v3.7.0

Name of the replication slot to use. The default behavior is to use the name of the subscription for the slot name

func (SubscriptionOutput) ToSubscriptionOutput added in v3.7.0

func (o SubscriptionOutput) ToSubscriptionOutput() SubscriptionOutput

func (SubscriptionOutput) ToSubscriptionOutputWithContext added in v3.7.0

func (o SubscriptionOutput) ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput

type SubscriptionState added in v3.7.0

type SubscriptionState struct {
	// The connection string to the publisher. It should follow the [keyword/value format](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING)
	Conninfo pulumi.StringPtrInput
	// Specifies whether the command should create the replication slot on the publisher. Default behavior is true
	CreateSlot pulumi.BoolPtrInput
	// Which database to create the subscription on. Defaults to provider database.
	Database pulumi.StringPtrInput
	// The name of the publication.
	Name pulumi.StringPtrInput
	// Names of the publications on the publisher to subscribe to
	Publications pulumi.StringArrayInput
	// Name of the replication slot to use. The default behavior is to use the name of the subscription for the slot name
	SlotName pulumi.StringPtrInput
}

func (SubscriptionState) ElementType added in v3.7.0

func (SubscriptionState) ElementType() reflect.Type

type UserMapping added in v3.7.0

type UserMapping struct {
	pulumi.CustomResourceState

	// This clause specifies the options of the user mapping. The options typically define the actual user name and password of the mapping. Option names must be unique. The allowed option names and values are specific to the server's foreign-data wrapper.
	Options pulumi.StringMapOutput `pulumi:"options"`
	// The name of an existing server for which the user mapping is to be created.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the user mapping is created.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// The name of an existing user that is mapped to foreign server. CURRENT_ROLE, CURRENT_USER, and USER match the name of the current user. When PUBLIC is specified, a so-called public mapping is created that is used when no user-specific mapping is applicable.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the user mapping is created.
	UserName pulumi.StringOutput `pulumi:"userName"`
}

The “UserMapping“ resource creates and manages a user mapping on a PostgreSQL server.

## Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		extPostgresFdw, err := postgresql.NewExtension(ctx, "extPostgresFdw", nil)
		if err != nil {
			return err
		}
		myserverPostgres, err := postgresql.NewServer(ctx, "myserverPostgres", &postgresql.ServerArgs{
			ServerName: pulumi.String("myserver_postgres"),
			FdwName:    pulumi.String("postgres_fdw"),
			Options: pulumi.StringMap{
				"host":   pulumi.String("foo"),
				"dbname": pulumi.String("foodb"),
				"port":   pulumi.String("5432"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			extPostgresFdw,
		}))
		if err != nil {
			return err
		}
		remoteRole, err := postgresql.NewRole(ctx, "remoteRole", nil)
		if err != nil {
			return err
		}
		_, err = postgresql.NewUserMapping(ctx, "remoteUserMapping", &postgresql.UserMappingArgs{
			ServerName: myserverPostgres.ServerName,
			UserName:   remoteRole.Name,
			Options: pulumi.StringMap{
				"user":     pulumi.String("admin"),
				"password": pulumi.String("pass"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetUserMapping added in v3.7.0

func GetUserMapping(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserMappingState, opts ...pulumi.ResourceOption) (*UserMapping, error)

GetUserMapping gets an existing UserMapping 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 NewUserMapping added in v3.7.0

func NewUserMapping(ctx *pulumi.Context,
	name string, args *UserMappingArgs, opts ...pulumi.ResourceOption) (*UserMapping, error)

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

func (*UserMapping) ElementType added in v3.7.0

func (*UserMapping) ElementType() reflect.Type

func (*UserMapping) ToUserMappingOutput added in v3.7.0

func (i *UserMapping) ToUserMappingOutput() UserMappingOutput

func (*UserMapping) ToUserMappingOutputWithContext added in v3.7.0

func (i *UserMapping) ToUserMappingOutputWithContext(ctx context.Context) UserMappingOutput

type UserMappingArgs added in v3.7.0

type UserMappingArgs struct {
	// This clause specifies the options of the user mapping. The options typically define the actual user name and password of the mapping. Option names must be unique. The allowed option names and values are specific to the server's foreign-data wrapper.
	Options pulumi.StringMapInput
	// The name of an existing server for which the user mapping is to be created.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the user mapping is created.
	ServerName pulumi.StringInput
	// The name of an existing user that is mapped to foreign server. CURRENT_ROLE, CURRENT_USER, and USER match the name of the current user. When PUBLIC is specified, a so-called public mapping is created that is used when no user-specific mapping is applicable.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the user mapping is created.
	UserName pulumi.StringInput
}

The set of arguments for constructing a UserMapping resource.

func (UserMappingArgs) ElementType added in v3.7.0

func (UserMappingArgs) ElementType() reflect.Type

type UserMappingArray added in v3.7.0

type UserMappingArray []UserMappingInput

func (UserMappingArray) ElementType added in v3.7.0

func (UserMappingArray) ElementType() reflect.Type

func (UserMappingArray) ToUserMappingArrayOutput added in v3.7.0

func (i UserMappingArray) ToUserMappingArrayOutput() UserMappingArrayOutput

func (UserMappingArray) ToUserMappingArrayOutputWithContext added in v3.7.0

func (i UserMappingArray) ToUserMappingArrayOutputWithContext(ctx context.Context) UserMappingArrayOutput

type UserMappingArrayInput added in v3.7.0

type UserMappingArrayInput interface {
	pulumi.Input

	ToUserMappingArrayOutput() UserMappingArrayOutput
	ToUserMappingArrayOutputWithContext(context.Context) UserMappingArrayOutput
}

UserMappingArrayInput is an input type that accepts UserMappingArray and UserMappingArrayOutput values. You can construct a concrete instance of `UserMappingArrayInput` via:

UserMappingArray{ UserMappingArgs{...} }

type UserMappingArrayOutput added in v3.7.0

type UserMappingArrayOutput struct{ *pulumi.OutputState }

func (UserMappingArrayOutput) ElementType added in v3.7.0

func (UserMappingArrayOutput) ElementType() reflect.Type

func (UserMappingArrayOutput) Index added in v3.7.0

func (UserMappingArrayOutput) ToUserMappingArrayOutput added in v3.7.0

func (o UserMappingArrayOutput) ToUserMappingArrayOutput() UserMappingArrayOutput

func (UserMappingArrayOutput) ToUserMappingArrayOutputWithContext added in v3.7.0

func (o UserMappingArrayOutput) ToUserMappingArrayOutputWithContext(ctx context.Context) UserMappingArrayOutput

type UserMappingInput added in v3.7.0

type UserMappingInput interface {
	pulumi.Input

	ToUserMappingOutput() UserMappingOutput
	ToUserMappingOutputWithContext(ctx context.Context) UserMappingOutput
}

type UserMappingMap added in v3.7.0

type UserMappingMap map[string]UserMappingInput

func (UserMappingMap) ElementType added in v3.7.0

func (UserMappingMap) ElementType() reflect.Type

func (UserMappingMap) ToUserMappingMapOutput added in v3.7.0

func (i UserMappingMap) ToUserMappingMapOutput() UserMappingMapOutput

func (UserMappingMap) ToUserMappingMapOutputWithContext added in v3.7.0

func (i UserMappingMap) ToUserMappingMapOutputWithContext(ctx context.Context) UserMappingMapOutput

type UserMappingMapInput added in v3.7.0

type UserMappingMapInput interface {
	pulumi.Input

	ToUserMappingMapOutput() UserMappingMapOutput
	ToUserMappingMapOutputWithContext(context.Context) UserMappingMapOutput
}

UserMappingMapInput is an input type that accepts UserMappingMap and UserMappingMapOutput values. You can construct a concrete instance of `UserMappingMapInput` via:

UserMappingMap{ "key": UserMappingArgs{...} }

type UserMappingMapOutput added in v3.7.0

type UserMappingMapOutput struct{ *pulumi.OutputState }

func (UserMappingMapOutput) ElementType added in v3.7.0

func (UserMappingMapOutput) ElementType() reflect.Type

func (UserMappingMapOutput) MapIndex added in v3.7.0

func (UserMappingMapOutput) ToUserMappingMapOutput added in v3.7.0

func (o UserMappingMapOutput) ToUserMappingMapOutput() UserMappingMapOutput

func (UserMappingMapOutput) ToUserMappingMapOutputWithContext added in v3.7.0

func (o UserMappingMapOutput) ToUserMappingMapOutputWithContext(ctx context.Context) UserMappingMapOutput

type UserMappingOutput added in v3.7.0

type UserMappingOutput struct{ *pulumi.OutputState }

func (UserMappingOutput) ElementType added in v3.7.0

func (UserMappingOutput) ElementType() reflect.Type

func (UserMappingOutput) Options added in v3.7.0

This clause specifies the options of the user mapping. The options typically define the actual user name and password of the mapping. Option names must be unique. The allowed option names and values are specific to the server's foreign-data wrapper.

func (UserMappingOutput) ServerName added in v3.7.0

func (o UserMappingOutput) ServerName() pulumi.StringOutput

The name of an existing server for which the user mapping is to be created. Changing this value will force the creation of a new resource as this value can only be set when the user mapping is created.

func (UserMappingOutput) ToUserMappingOutput added in v3.7.0

func (o UserMappingOutput) ToUserMappingOutput() UserMappingOutput

func (UserMappingOutput) ToUserMappingOutputWithContext added in v3.7.0

func (o UserMappingOutput) ToUserMappingOutputWithContext(ctx context.Context) UserMappingOutput

func (UserMappingOutput) UserName added in v3.7.0

func (o UserMappingOutput) UserName() pulumi.StringOutput

The name of an existing user that is mapped to foreign server. CURRENT_ROLE, CURRENT_USER, and USER match the name of the current user. When PUBLIC is specified, a so-called public mapping is created that is used when no user-specific mapping is applicable. Changing this value will force the creation of a new resource as this value can only be set when the user mapping is created.

type UserMappingState added in v3.7.0

type UserMappingState struct {
	// This clause specifies the options of the user mapping. The options typically define the actual user name and password of the mapping. Option names must be unique. The allowed option names and values are specific to the server's foreign-data wrapper.
	Options pulumi.StringMapInput
	// The name of an existing server for which the user mapping is to be created.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the user mapping is created.
	ServerName pulumi.StringPtrInput
	// The name of an existing user that is mapped to foreign server. CURRENT_ROLE, CURRENT_USER, and USER match the name of the current user. When PUBLIC is specified, a so-called public mapping is created that is used when no user-specific mapping is applicable.
	// Changing this value
	// will force the creation of a new resource as this value can only be set
	// when the user mapping is created.
	UserName pulumi.StringPtrInput
}

func (UserMappingState) ElementType added in v3.7.0

func (UserMappingState) ElementType() reflect.Type

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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