Has anyone setup alloyDB using Pulumi? I’ve been t...
# google-cloud
e
Has anyone setup alloyDB using Pulumi? I’ve been trying to with Pulumi using goland:
Copy code
cluster, err := alloydb.NewCluster(ctx, "dylan-db", &alloydb.ClusterArgs{
		ClusterId:   pulumi.String("dylan-db"),
		Location:    location,
		Project:     pulumi.String(gcpProject),
		DisplayName: pulumi.String("dylan-db"),
		Network:     pulumi.String("projects/" + gcpProject + "/global/networks/default"),
		AutomatedBackupPolicy: &alloydb.ClusterAutomatedBackupPolicyArgs{
			Enabled: pulumi.Bool(true),
			WeeklySchedule: alloydb.ClusterAutomatedBackupPolicyWeeklyScheduleArgs{
				DaysOfWeeks: pulumi.StringArray{
					pulumi.String("MONDAY"),
					pulumi.String("TUESDAY"),
					pulumi.String("WEDNESDAY"),
					pulumi.String("THURSDAY"),
					pulumi.String("FRIDAY"),
					pulumi.String("SATURDAY"),
					pulumi.String("SUNDAY"),
				},
				StartTimes: alloydb.ClusterAutomatedBackupPolicyWeeklyScheduleStartTimeArray{alloydb.ClusterAutomatedBackupPolicyWeeklyScheduleStartTimeArgs{
					Hours:   <http://pulumi.Int|pulumi.Int>(4),
					Minutes: <http://pulumi.Int|pulumi.Int>(0),
					Seconds: <http://pulumi.Int|pulumi.Int>(0),
					Nanos:   <http://pulumi.Int|pulumi.Int>(0),
				}},
			},
		},

		InitialUser: &alloydb.ClusterInitialUserArgs{
			User:     pulumi.String(configuration.Require("alloyDatabaseUsername")),
			Password: pulumi.String(dbPassword),
		},
	})
	if err != nil {
		return err
	}

	// Create an AlloyDB instance
	instance, err := alloydb.NewInstance(ctx, "dylan-db-i1", &alloydb.InstanceArgs{
		Cluster:      cluster.Name,
		InstanceId:   pulumi.String("dylan-db-i1"),
		InstanceType: pulumi.String("PRIMARY"),
		MachineConfig: &alloydb.InstanceMachineConfigArgs{
			CpuCount: <http://pulumi.Int|pulumi.Int>(4), //TODO: make configurable
		},
		AvailabilityType: pulumi.String("REGIONAL"),
	})
	if err != nil {
		return err
	}
But I get an error:
Copy code
Diagnostics:
  gcp:alloydb:Instance (dylan-db-i1):
    error: 1 error occurred:
    	* Error waiting to create Instance: Error waiting for Creating Instance: Error code 9, message: Invalid resource state for "projects/******/global/networks/default": service networking config validation failed NETWORK_NOT_PEERED - no peering found on network, see <https://cloud.google.com/alloydb/docs/configure-connectivity> for details
I tried adding VPC peering like so, but it did not help:
Copy code
// Create VPC network
	network, err := compute.NewNetwork(ctx, "default-vpc", &compute.NetworkArgs{
		AutoCreateSubnetworks: pulumi.Bool(false),
	})
	if err != nil {
		return err
	}

	// Create subnetwork
	_, err = compute.NewSubnetwork(ctx, "default-subnet", &compute.SubnetworkArgs{
		Network:     network.ID(),
		IpCidrRange: pulumi.String("10.0.0.0/24"),
		Region:      location,
	})
	if err != nil {
		return err
	}

	// Create VPC peering
	_, err = compute.NewNetworkPeering(ctx, "my-vpc-peering", &compute.NetworkPeeringArgs{
		Network:     network.ID(),
		PeerNetwork: pulumi.String("projects/" + gcpProject + "/global/networks/default"),
	})
	if err != nil {
		return err
	}