UserArgs

data class UserArgs(val cluster: Output<String>? = null, val databaseRoles: Output<List<String>>? = null, val password: Output<String>? = null, val userId: Output<String>? = null, val userType: Output<String>? = null) : ConvertibleToJava<UserArgs>

A database user in an AlloyDB cluster. To get more information about User, see:

Example Usage

Alloydb User Builtin

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.alloydb.Cluster;
import com.pulumi.gcp.alloydb.ClusterArgs;
import com.pulumi.gcp.alloydb.inputs.ClusterInitialUserArgs;
import com.pulumi.gcp.compute.GlobalAddress;
import com.pulumi.gcp.compute.GlobalAddressArgs;
import com.pulumi.gcp.servicenetworking.Connection;
import com.pulumi.gcp.servicenetworking.ConnectionArgs;
import com.pulumi.gcp.alloydb.Instance;
import com.pulumi.gcp.alloydb.InstanceArgs;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.gcp.alloydb.User;
import com.pulumi.gcp.alloydb.UserArgs;
import com.pulumi.resources.CustomResourceOptions;
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 defaultNetwork = new Network("defaultNetwork");
var defaultCluster = new Cluster("defaultCluster", ClusterArgs.builder()
.clusterId("alloydb-cluster")
.location("us-central1")
.network(defaultNetwork.id())
.initialUser(ClusterInitialUserArgs.builder()
.password("cluster_secret")
.build())
.build());
var privateIpAlloc = new GlobalAddress("privateIpAlloc", GlobalAddressArgs.builder()
.addressType("INTERNAL")
.purpose("VPC_PEERING")
.prefixLength(16)
.network(defaultNetwork.id())
.build());
var vpcConnection = new Connection("vpcConnection", ConnectionArgs.builder()
.network(defaultNetwork.id())
.service("servicenetworking.googleapis.com")
.reservedPeeringRanges(privateIpAlloc.name())
.build());
var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
.cluster(defaultCluster.name())
.instanceId("alloydb-instance")
.instanceType("PRIMARY")
.build(), CustomResourceOptions.builder()
.dependsOn(vpcConnection)
.build());
final var project = OrganizationsFunctions.getProject();
var user1 = new User("user1", UserArgs.builder()
.cluster(defaultCluster.name())
.userId("user1")
.userType("ALLOYDB_BUILT_IN")
.password("user_secret")
.databaseRoles("alloydbsuperuser")
.build(), CustomResourceOptions.builder()
.dependsOn(defaultInstance)
.build());
}
}

Alloydb User Iam

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.alloydb.Cluster;
import com.pulumi.gcp.alloydb.ClusterArgs;
import com.pulumi.gcp.alloydb.inputs.ClusterInitialUserArgs;
import com.pulumi.gcp.compute.GlobalAddress;
import com.pulumi.gcp.compute.GlobalAddressArgs;
import com.pulumi.gcp.servicenetworking.Connection;
import com.pulumi.gcp.servicenetworking.ConnectionArgs;
import com.pulumi.gcp.alloydb.Instance;
import com.pulumi.gcp.alloydb.InstanceArgs;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.gcp.alloydb.User;
import com.pulumi.gcp.alloydb.UserArgs;
import com.pulumi.resources.CustomResourceOptions;
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 defaultNetwork = new Network("defaultNetwork");
var defaultCluster = new Cluster("defaultCluster", ClusterArgs.builder()
.clusterId("alloydb-cluster")
.location("us-central1")
.network(defaultNetwork.id())
.initialUser(ClusterInitialUserArgs.builder()
.password("cluster_secret")
.build())
.build());
var privateIpAlloc = new GlobalAddress("privateIpAlloc", GlobalAddressArgs.builder()
.addressType("INTERNAL")
.purpose("VPC_PEERING")
.prefixLength(16)
.network(defaultNetwork.id())
.build());
var vpcConnection = new Connection("vpcConnection", ConnectionArgs.builder()
.network(defaultNetwork.id())
.service("servicenetworking.googleapis.com")
.reservedPeeringRanges(privateIpAlloc.name())
.build());
var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
.cluster(defaultCluster.name())
.instanceId("alloydb-instance")
.instanceType("PRIMARY")
.build(), CustomResourceOptions.builder()
.dependsOn(vpcConnection)
.build());
final var project = OrganizationsFunctions.getProject();
var user2 = new User("user2", UserArgs.builder()
.cluster(defaultCluster.name())
.userId("user2@foo.com")
.userType("ALLOYDB_IAM_USER")
.databaseRoles("alloydbiamuser")
.build(), CustomResourceOptions.builder()
.dependsOn(defaultInstance)
.build());
}
}

Import

User can be imported using any of these accepted formats* projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/users/{{user_id}} * {{project}}/{{location}}/{{cluster}}/{{user_id}} * {{location}}/{{cluster}}/{{user_id}} In Terraform v1.5.0 and later, use an import block to import User using one of the formats above. For exampletf import { id = "projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/users/{{user_id}}" to = google_alloydb_user.default }

$ pulumi import gcp:alloydb/user:User When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), User can be imported using one of the formats above. For example
$ pulumi import gcp:alloydb/user:User default projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/users/{{user_id}}
$ pulumi import gcp:alloydb/user:User default {{project}}/{{location}}/{{cluster}}/{{user_id}}
$ pulumi import gcp:alloydb/user:User default {{location}}/{{cluster}}/{{user_id}}

Constructors

Link copied to clipboard
fun UserArgs(cluster: Output<String>? = null, databaseRoles: Output<List<String>>? = null, password: Output<String>? = null, userId: Output<String>? = null, userType: Output<String>? = null)

Functions

Link copied to clipboard
open override fun toJava(): UserArgs

Properties

Link copied to clipboard
val cluster: Output<String>? = null

Identifies the alloydb cluster. Must be in the format 'projects/{project}/locations/{location}/clusters/{cluster_id}'

Link copied to clipboard
val databaseRoles: Output<List<String>>? = null

List of database roles this database user has.

Link copied to clipboard
val password: Output<String>? = null

Password for this database user.

Link copied to clipboard
val userId: Output<String>? = null

The database role name of the user.

Link copied to clipboard
val userType: Output<String>? = null

The type of this user. Possible values are: ALLOYDB_BUILT_IN, ALLOYDB_IAM_USER.