sparse-intern-71089
01/13/2023, 12:37 AMbillowy-army-68599
brash-hairdresser-60389
01/13/2023, 11:20 PMimport * as gcp from '@pulumi/gcp';
import * as pulumi from '@pulumi/pulumi';
import { ManagedDatabaseInfo } from '../schema';
export class AppDatabaseManaged extends pulumi.ComponentResource {
public readonly uri: pulumi.Output<string>;
constructor(args: ManagedDatabaseInfo, opts?: pulumi.ResourceOptions) {
super('sys:app:Database-managed', args.name, args, opts);
const user = new gcp.sql.User(
`${args.name}-user`,
{
instance: 'app-dev',
name: args.user.name,
password: args.user.password,
project: args.project,
},
{
parent: this,
customTimeouts: { create: '45s', update: '45s', delete: '45s' },
},
);
const db = new gcp.sql.Database(
`${args.name}-pgdatabase`,
{
instance: 'app-dev',
name: args.name,
project: args.project,
},
{
parent: this,
customTimeouts: { create: '45s', update: '45s', delete: '45s' },
},
);
this.uri = pulumi.output(
pulumi.interpolate`postgresql://${user.name}:${user.password}@${args.publicIpAddress}:5432/${db.name}`,
);
}
}
billowy-army-68599
dependsOn
so that the user gets created after the database:
https://www.pulumi.com/docs/intro/concepts/resources/options/dependson/brash-hairdresser-60389
01/13/2023, 11:33 PMbillowy-army-68599
brash-hairdresser-60389
01/13/2023, 11:41 PMbillowy-army-68599
brash-hairdresser-60389
01/13/2023, 11:47 PM