1. Packages
  2. Aiven Provider
  3. API Docs
  4. PgUser
Aiven v6.36.0 published on Thursday, Mar 13, 2025 by Pulumi

aiven.PgUser

Explore with Pulumi AI

Creates and manages an Aiven for PostgreSQL® service user.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aiven from "@pulumi/aiven";

const exampleUser = new aiven.PgUser("example_user", {
    serviceName: examplePostgres.serviceName,
    project: exampleProject.project,
    username: "example-service-user",
    password: serviceUserPassword,
});
// Each service has a default admin user with the username avnadmin.
const adminUser = new aiven.PgUser("admin_user", {
    serviceName: examplePostgres.serviceName,
    project: exampleProject.project,
    username: "avnadmin",
    password: serviceUserPassword,
    pgAllowReplication: true,
});
Copy
import pulumi
import pulumi_aiven as aiven

example_user = aiven.PgUser("example_user",
    service_name=example_postgres["serviceName"],
    project=example_project["project"],
    username="example-service-user",
    password=service_user_password)
# Each service has a default admin user with the username avnadmin.
admin_user = aiven.PgUser("admin_user",
    service_name=example_postgres["serviceName"],
    project=example_project["project"],
    username="avnadmin",
    password=service_user_password,
    pg_allow_replication=True)
Copy
package main

import (
	"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := aiven.NewPgUser(ctx, "example_user", &aiven.PgUserArgs{
			ServiceName: pulumi.Any(examplePostgres.ServiceName),
			Project:     pulumi.Any(exampleProject.Project),
			Username:    pulumi.String("example-service-user"),
			Password:    pulumi.Any(serviceUserPassword),
		})
		if err != nil {
			return err
		}
		// Each service has a default admin user with the username avnadmin.
		_, err = aiven.NewPgUser(ctx, "admin_user", &aiven.PgUserArgs{
			ServiceName:        pulumi.Any(examplePostgres.ServiceName),
			Project:            pulumi.Any(exampleProject.Project),
			Username:           pulumi.String("avnadmin"),
			Password:           pulumi.Any(serviceUserPassword),
			PgAllowReplication: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aiven = Pulumi.Aiven;

return await Deployment.RunAsync(() => 
{
    var exampleUser = new Aiven.PgUser("example_user", new()
    {
        ServiceName = examplePostgres.ServiceName,
        Project = exampleProject.Project,
        Username = "example-service-user",
        Password = serviceUserPassword,
    });

    // Each service has a default admin user with the username avnadmin.
    var adminUser = new Aiven.PgUser("admin_user", new()
    {
        ServiceName = examplePostgres.ServiceName,
        Project = exampleProject.Project,
        Username = "avnadmin",
        Password = serviceUserPassword,
        PgAllowReplication = true,
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aiven.PgUser;
import com.pulumi.aiven.PgUserArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var exampleUser = new PgUser("exampleUser", PgUserArgs.builder()
            .serviceName(examplePostgres.serviceName())
            .project(exampleProject.project())
            .username("example-service-user")
            .password(serviceUserPassword)
            .build());

        // Each service has a default admin user with the username avnadmin.
        var adminUser = new PgUser("adminUser", PgUserArgs.builder()
            .serviceName(examplePostgres.serviceName())
            .project(exampleProject.project())
            .username("avnadmin")
            .password(serviceUserPassword)
            .pgAllowReplication(true)
            .build());

    }
}
Copy
resources:
  exampleUser:
    type: aiven:PgUser
    name: example_user
    properties:
      serviceName: ${examplePostgres.serviceName}
      project: ${exampleProject.project}
      username: example-service-user
      password: ${serviceUserPassword}
  # Each service has a default admin user with the username avnadmin.
  adminUser:
    type: aiven:PgUser
    name: admin_user
    properties:
      serviceName: ${examplePostgres.serviceName}
      project: ${exampleProject.project}
      username: avnadmin
      password: ${serviceUserPassword}
      pgAllowReplication: true
Copy

Create PgUser Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new PgUser(name: string, args: PgUserArgs, opts?: CustomResourceOptions);
@overload
def PgUser(resource_name: str,
           args: PgUserArgs,
           opts: Optional[ResourceOptions] = None)

@overload
def PgUser(resource_name: str,
           opts: Optional[ResourceOptions] = None,
           project: Optional[str] = None,
           service_name: Optional[str] = None,
           username: Optional[str] = None,
           password: Optional[str] = None,
           pg_allow_replication: Optional[bool] = None)
func NewPgUser(ctx *Context, name string, args PgUserArgs, opts ...ResourceOption) (*PgUser, error)
public PgUser(string name, PgUserArgs args, CustomResourceOptions? opts = null)
public PgUser(String name, PgUserArgs args)
public PgUser(String name, PgUserArgs args, CustomResourceOptions options)
type: aiven:PgUser
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. PgUserArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. PgUserArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. PgUserArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. PgUserArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. PgUserArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var pgUserResource = new Aiven.PgUser("pgUserResource", new()
{
    Project = "string",
    ServiceName = "string",
    Username = "string",
    Password = "string",
    PgAllowReplication = false,
});
Copy
example, err := aiven.NewPgUser(ctx, "pgUserResource", &aiven.PgUserArgs{
	Project:            pulumi.String("string"),
	ServiceName:        pulumi.String("string"),
	Username:           pulumi.String("string"),
	Password:           pulumi.String("string"),
	PgAllowReplication: pulumi.Bool(false),
})
Copy
var pgUserResource = new PgUser("pgUserResource", PgUserArgs.builder()
    .project("string")
    .serviceName("string")
    .username("string")
    .password("string")
    .pgAllowReplication(false)
    .build());
Copy
pg_user_resource = aiven.PgUser("pgUserResource",
    project="string",
    service_name="string",
    username="string",
    password="string",
    pg_allow_replication=False)
Copy
const pgUserResource = new aiven.PgUser("pgUserResource", {
    project: "string",
    serviceName: "string",
    username: "string",
    password: "string",
    pgAllowReplication: false,
});
Copy
type: aiven:PgUser
properties:
    password: string
    pgAllowReplication: false
    project: string
    serviceName: string
    username: string
Copy

PgUser Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The PgUser resource accepts the following input properties:

Project
This property is required.
Changes to this property will trigger replacement.
string
The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
ServiceName
This property is required.
Changes to this property will trigger replacement.
string
The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
Username
This property is required.
Changes to this property will trigger replacement.
string
The name of the service user for this service. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
Password string
The password of the service user.
PgAllowReplication bool
Allows replication. For the default avnadmin user this attribute is required and is always true.
Project
This property is required.
Changes to this property will trigger replacement.
string
The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
ServiceName
This property is required.
Changes to this property will trigger replacement.
string
The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
Username
This property is required.
Changes to this property will trigger replacement.
string
The name of the service user for this service. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
Password string
The password of the service user.
PgAllowReplication bool
Allows replication. For the default avnadmin user this attribute is required and is always true.
project
This property is required.
Changes to this property will trigger replacement.
String
The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
serviceName
This property is required.
Changes to this property will trigger replacement.
String
The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
username
This property is required.
Changes to this property will trigger replacement.
String
The name of the service user for this service. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
password String
The password of the service user.
pgAllowReplication Boolean
Allows replication. For the default avnadmin user this attribute is required and is always true.
project
This property is required.
Changes to this property will trigger replacement.
string
The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
serviceName
This property is required.
Changes to this property will trigger replacement.
string
The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
username
This property is required.
Changes to this property will trigger replacement.
string
The name of the service user for this service. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
password string
The password of the service user.
pgAllowReplication boolean
Allows replication. For the default avnadmin user this attribute is required and is always true.
project
This property is required.
Changes to this property will trigger replacement.
str
The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
service_name
This property is required.
Changes to this property will trigger replacement.
str
The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
username
This property is required.
Changes to this property will trigger replacement.
str
The name of the service user for this service. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
password str
The password of the service user.
pg_allow_replication bool
Allows replication. For the default avnadmin user this attribute is required and is always true.
project
This property is required.
Changes to this property will trigger replacement.
String
The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
serviceName
This property is required.
Changes to this property will trigger replacement.
String
The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
username
This property is required.
Changes to this property will trigger replacement.
String
The name of the service user for this service. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
password String
The password of the service user.
pgAllowReplication Boolean
Allows replication. For the default avnadmin user this attribute is required and is always true.

Outputs

All input properties are implicitly available as output properties. Additionally, the PgUser resource produces the following output properties:

AccessCert string
The access certificate for the servie user.
AccessKey string
The access certificate key for the service user.
Id string
The provider-assigned unique ID for this managed resource.
Type string
The service user account type, either primary or regular.
AccessCert string
The access certificate for the servie user.
AccessKey string
The access certificate key for the service user.
Id string
The provider-assigned unique ID for this managed resource.
Type string
The service user account type, either primary or regular.
accessCert String
The access certificate for the servie user.
accessKey String
The access certificate key for the service user.
id String
The provider-assigned unique ID for this managed resource.
type String
The service user account type, either primary or regular.
accessCert string
The access certificate for the servie user.
accessKey string
The access certificate key for the service user.
id string
The provider-assigned unique ID for this managed resource.
type string
The service user account type, either primary or regular.
access_cert str
The access certificate for the servie user.
access_key str
The access certificate key for the service user.
id str
The provider-assigned unique ID for this managed resource.
type str
The service user account type, either primary or regular.
accessCert String
The access certificate for the servie user.
accessKey String
The access certificate key for the service user.
id String
The provider-assigned unique ID for this managed resource.
type String
The service user account type, either primary or regular.

Look up Existing PgUser Resource

Get an existing PgUser resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: PgUserState, opts?: CustomResourceOptions): PgUser
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        access_cert: Optional[str] = None,
        access_key: Optional[str] = None,
        password: Optional[str] = None,
        pg_allow_replication: Optional[bool] = None,
        project: Optional[str] = None,
        service_name: Optional[str] = None,
        type: Optional[str] = None,
        username: Optional[str] = None) -> PgUser
func GetPgUser(ctx *Context, name string, id IDInput, state *PgUserState, opts ...ResourceOption) (*PgUser, error)
public static PgUser Get(string name, Input<string> id, PgUserState? state, CustomResourceOptions? opts = null)
public static PgUser get(String name, Output<String> id, PgUserState state, CustomResourceOptions options)
resources:  _:    type: aiven:PgUser    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AccessCert string
The access certificate for the servie user.
AccessKey string
The access certificate key for the service user.
Password string
The password of the service user.
PgAllowReplication bool
Allows replication. For the default avnadmin user this attribute is required and is always true.
Project Changes to this property will trigger replacement. string
The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
ServiceName Changes to this property will trigger replacement. string
The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
Type string
The service user account type, either primary or regular.
Username Changes to this property will trigger replacement. string
The name of the service user for this service. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
AccessCert string
The access certificate for the servie user.
AccessKey string
The access certificate key for the service user.
Password string
The password of the service user.
PgAllowReplication bool
Allows replication. For the default avnadmin user this attribute is required and is always true.
Project Changes to this property will trigger replacement. string
The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
ServiceName Changes to this property will trigger replacement. string
The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
Type string
The service user account type, either primary or regular.
Username Changes to this property will trigger replacement. string
The name of the service user for this service. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
accessCert String
The access certificate for the servie user.
accessKey String
The access certificate key for the service user.
password String
The password of the service user.
pgAllowReplication Boolean
Allows replication. For the default avnadmin user this attribute is required and is always true.
project Changes to this property will trigger replacement. String
The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
serviceName Changes to this property will trigger replacement. String
The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
type String
The service user account type, either primary or regular.
username Changes to this property will trigger replacement. String
The name of the service user for this service. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
accessCert string
The access certificate for the servie user.
accessKey string
The access certificate key for the service user.
password string
The password of the service user.
pgAllowReplication boolean
Allows replication. For the default avnadmin user this attribute is required and is always true.
project Changes to this property will trigger replacement. string
The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
serviceName Changes to this property will trigger replacement. string
The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
type string
The service user account type, either primary or regular.
username Changes to this property will trigger replacement. string
The name of the service user for this service. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
access_cert str
The access certificate for the servie user.
access_key str
The access certificate key for the service user.
password str
The password of the service user.
pg_allow_replication bool
Allows replication. For the default avnadmin user this attribute is required and is always true.
project Changes to this property will trigger replacement. str
The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
service_name Changes to this property will trigger replacement. str
The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
type str
The service user account type, either primary or regular.
username Changes to this property will trigger replacement. str
The name of the service user for this service. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
accessCert String
The access certificate for the servie user.
accessKey String
The access certificate key for the service user.
password String
The password of the service user.
pgAllowReplication Boolean
Allows replication. For the default avnadmin user this attribute is required and is always true.
project Changes to this property will trigger replacement. String
The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
serviceName Changes to this property will trigger replacement. String
The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
type String
The service user account type, either primary or regular.
username Changes to this property will trigger replacement. String
The name of the service user for this service. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.

Import

$ pulumi import aiven:index/pgUser:PgUser example_user PROJECT/SERVICE_NAME/USERNAME
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
Aiven pulumi/pulumi-aiven
License
Apache-2.0
Notes
This Pulumi package is based on the aiven Terraform Provider.