1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. databasemigrationservice
  5. ConnectionProfile
Google Cloud v8.25.0 published on Thursday, Apr 3, 2025 by Pulumi

gcp.databasemigrationservice.ConnectionProfile

Explore with Pulumi AI

A connection profile definition.

To get more information about ConnectionProfile, see:

Example Usage

Database Migration Service Connection Profile Cloudsql

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

const project = gcp.organizations.getProject({});
const cloudsqldb = new gcp.sql.DatabaseInstance("cloudsqldb", {
    name: "my-database",
    databaseVersion: "MYSQL_5_7",
    settings: {
        tier: "db-n1-standard-1",
        deletionProtectionEnabled: false,
    },
    deletionProtection: false,
});
const sqlClientCert = new gcp.sql.SslCert("sql_client_cert", {
    commonName: "my-cert",
    instance: cloudsqldb.name,
}, {
    dependsOn: [cloudsqldb],
});
const sqldbUser = new gcp.sql.User("sqldb_user", {
    name: "my-username",
    instance: cloudsqldb.name,
    password: "my-password",
}, {
    dependsOn: [sqlClientCert],
});
const cloudsqlprofile = new gcp.databasemigrationservice.ConnectionProfile("cloudsqlprofile", {
    location: "us-central1",
    connectionProfileId: "my-fromprofileid",
    displayName: "my-fromprofileid_display",
    labels: {
        foo: "bar",
    },
    mysql: {
        host: cloudsqldb.ipAddresses.apply(ipAddresses => ipAddresses[0].ipAddress),
        port: 3306,
        username: sqldbUser.name,
        password: sqldbUser.password,
        ssl: {
            clientKey: sqlClientCert.privateKey,
            clientCertificate: sqlClientCert.cert,
            caCertificate: sqlClientCert.serverCaCert,
        },
        cloudSqlId: "my-database",
    },
}, {
    dependsOn: [sqldbUser],
});
const cloudsqlprofileDestination = new gcp.databasemigrationservice.ConnectionProfile("cloudsqlprofile_destination", {
    location: "us-central1",
    connectionProfileId: "my-toprofileid",
    displayName: "my-toprofileid_displayname",
    labels: {
        foo: "bar",
    },
    cloudsql: {
        settings: {
            databaseVersion: "MYSQL_5_7",
            userLabels: {
                cloudfoo: "cloudbar",
            },
            tier: "db-n1-standard-1",
            edition: "ENTERPRISE",
            storageAutoResizeLimit: "0",
            activationPolicy: "ALWAYS",
            ipConfig: {
                enableIpv4: true,
                requireSsl: true,
            },
            autoStorageIncrease: true,
            dataDiskType: "PD_HDD",
            dataDiskSizeGb: "11",
            zone: "us-central1-b",
            sourceId: project.then(project => `projects/${project.projectId}/locations/us-central1/connectionProfiles/my-fromprofileid`),
            rootPassword: "testpasscloudsql",
        },
    },
}, {
    dependsOn: [cloudsqlprofile],
});
Copy
import pulumi
import pulumi_gcp as gcp

project = gcp.organizations.get_project()
cloudsqldb = gcp.sql.DatabaseInstance("cloudsqldb",
    name="my-database",
    database_version="MYSQL_5_7",
    settings={
        "tier": "db-n1-standard-1",
        "deletion_protection_enabled": False,
    },
    deletion_protection=False)
sql_client_cert = gcp.sql.SslCert("sql_client_cert",
    common_name="my-cert",
    instance=cloudsqldb.name,
    opts = pulumi.ResourceOptions(depends_on=[cloudsqldb]))
sqldb_user = gcp.sql.User("sqldb_user",
    name="my-username",
    instance=cloudsqldb.name,
    password="my-password",
    opts = pulumi.ResourceOptions(depends_on=[sql_client_cert]))
cloudsqlprofile = gcp.databasemigrationservice.ConnectionProfile("cloudsqlprofile",
    location="us-central1",
    connection_profile_id="my-fromprofileid",
    display_name="my-fromprofileid_display",
    labels={
        "foo": "bar",
    },
    mysql={
        "host": cloudsqldb.ip_addresses[0].ip_address,
        "port": 3306,
        "username": sqldb_user.name,
        "password": sqldb_user.password,
        "ssl": {
            "client_key": sql_client_cert.private_key,
            "client_certificate": sql_client_cert.cert,
            "ca_certificate": sql_client_cert.server_ca_cert,
        },
        "cloud_sql_id": "my-database",
    },
    opts = pulumi.ResourceOptions(depends_on=[sqldb_user]))
cloudsqlprofile_destination = gcp.databasemigrationservice.ConnectionProfile("cloudsqlprofile_destination",
    location="us-central1",
    connection_profile_id="my-toprofileid",
    display_name="my-toprofileid_displayname",
    labels={
        "foo": "bar",
    },
    cloudsql={
        "settings": {
            "database_version": "MYSQL_5_7",
            "user_labels": {
                "cloudfoo": "cloudbar",
            },
            "tier": "db-n1-standard-1",
            "edition": "ENTERPRISE",
            "storage_auto_resize_limit": "0",
            "activation_policy": "ALWAYS",
            "ip_config": {
                "enable_ipv4": True,
                "require_ssl": True,
            },
            "auto_storage_increase": True,
            "data_disk_type": "PD_HDD",
            "data_disk_size_gb": "11",
            "zone": "us-central1-b",
            "source_id": f"projects/{project.project_id}/locations/us-central1/connectionProfiles/my-fromprofileid",
            "root_password": "testpasscloudsql",
        },
    },
    opts = pulumi.ResourceOptions(depends_on=[cloudsqlprofile]))
Copy
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/databasemigrationservice"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/sql"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		cloudsqldb, err := sql.NewDatabaseInstance(ctx, "cloudsqldb", &sql.DatabaseInstanceArgs{
			Name:            pulumi.String("my-database"),
			DatabaseVersion: pulumi.String("MYSQL_5_7"),
			Settings: &sql.DatabaseInstanceSettingsArgs{
				Tier:                      pulumi.String("db-n1-standard-1"),
				DeletionProtectionEnabled: pulumi.Bool(false),
			},
			DeletionProtection: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		sqlClientCert, err := sql.NewSslCert(ctx, "sql_client_cert", &sql.SslCertArgs{
			CommonName: pulumi.String("my-cert"),
			Instance:   cloudsqldb.Name,
		}, pulumi.DependsOn([]pulumi.Resource{
			cloudsqldb,
		}))
		if err != nil {
			return err
		}
		sqldbUser, err := sql.NewUser(ctx, "sqldb_user", &sql.UserArgs{
			Name:     pulumi.String("my-username"),
			Instance: cloudsqldb.Name,
			Password: pulumi.String("my-password"),
		}, pulumi.DependsOn([]pulumi.Resource{
			sqlClientCert,
		}))
		if err != nil {
			return err
		}
		cloudsqlprofile, err := databasemigrationservice.NewConnectionProfile(ctx, "cloudsqlprofile", &databasemigrationservice.ConnectionProfileArgs{
			Location:            pulumi.String("us-central1"),
			ConnectionProfileId: pulumi.String("my-fromprofileid"),
			DisplayName:         pulumi.String("my-fromprofileid_display"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Mysql: &databasemigrationservice.ConnectionProfileMysqlArgs{
				Host: cloudsqldb.IpAddresses.ApplyT(func(ipAddresses []sql.DatabaseInstanceIpAddress) (*string, error) {
					return &ipAddresses[0].IpAddress, nil
				}).(pulumi.StringPtrOutput),
				Port:     pulumi.Int(3306),
				Username: sqldbUser.Name,
				Password: sqldbUser.Password,
				Ssl: &databasemigrationservice.ConnectionProfileMysqlSslArgs{
					ClientKey:         sqlClientCert.PrivateKey,
					ClientCertificate: sqlClientCert.Cert,
					CaCertificate:     sqlClientCert.ServerCaCert,
				},
				CloudSqlId: pulumi.String("my-database"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			sqldbUser,
		}))
		if err != nil {
			return err
		}
		_, err = databasemigrationservice.NewConnectionProfile(ctx, "cloudsqlprofile_destination", &databasemigrationservice.ConnectionProfileArgs{
			Location:            pulumi.String("us-central1"),
			ConnectionProfileId: pulumi.String("my-toprofileid"),
			DisplayName:         pulumi.String("my-toprofileid_displayname"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Cloudsql: &databasemigrationservice.ConnectionProfileCloudsqlArgs{
				Settings: &databasemigrationservice.ConnectionProfileCloudsqlSettingsArgs{
					DatabaseVersion: pulumi.String("MYSQL_5_7"),
					UserLabels: pulumi.StringMap{
						"cloudfoo": pulumi.String("cloudbar"),
					},
					Tier:                   pulumi.String("db-n1-standard-1"),
					Edition:                pulumi.String("ENTERPRISE"),
					StorageAutoResizeLimit: pulumi.String("0"),
					ActivationPolicy:       pulumi.String("ALWAYS"),
					IpConfig: &databasemigrationservice.ConnectionProfileCloudsqlSettingsIpConfigArgs{
						EnableIpv4: pulumi.Bool(true),
						RequireSsl: pulumi.Bool(true),
					},
					AutoStorageIncrease: pulumi.Bool(true),
					DataDiskType:        pulumi.String("PD_HDD"),
					DataDiskSizeGb:      pulumi.String("11"),
					Zone:                pulumi.String("us-central1-b"),
					SourceId:            pulumi.Sprintf("projects/%v/locations/us-central1/connectionProfiles/my-fromprofileid", project.ProjectId),
					RootPassword:        pulumi.String("testpasscloudsql"),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			cloudsqlprofile,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var project = Gcp.Organizations.GetProject.Invoke();

    var cloudsqldb = new Gcp.Sql.DatabaseInstance("cloudsqldb", new()
    {
        Name = "my-database",
        DatabaseVersion = "MYSQL_5_7",
        Settings = new Gcp.Sql.Inputs.DatabaseInstanceSettingsArgs
        {
            Tier = "db-n1-standard-1",
            DeletionProtectionEnabled = false,
        },
        DeletionProtection = false,
    });

    var sqlClientCert = new Gcp.Sql.SslCert("sql_client_cert", new()
    {
        CommonName = "my-cert",
        Instance = cloudsqldb.Name,
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            cloudsqldb,
        },
    });

    var sqldbUser = new Gcp.Sql.User("sqldb_user", new()
    {
        Name = "my-username",
        Instance = cloudsqldb.Name,
        Password = "my-password",
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            sqlClientCert,
        },
    });

    var cloudsqlprofile = new Gcp.DatabaseMigrationService.ConnectionProfile("cloudsqlprofile", new()
    {
        Location = "us-central1",
        ConnectionProfileId = "my-fromprofileid",
        DisplayName = "my-fromprofileid_display",
        Labels = 
        {
            { "foo", "bar" },
        },
        Mysql = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileMysqlArgs
        {
            Host = cloudsqldb.IpAddresses.Apply(ipAddresses => ipAddresses[0].IpAddress),
            Port = 3306,
            Username = sqldbUser.Name,
            Password = sqldbUser.Password,
            Ssl = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileMysqlSslArgs
            {
                ClientKey = sqlClientCert.PrivateKey,
                ClientCertificate = sqlClientCert.Cert,
                CaCertificate = sqlClientCert.ServerCaCert,
            },
            CloudSqlId = "my-database",
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            sqldbUser,
        },
    });

    var cloudsqlprofileDestination = new Gcp.DatabaseMigrationService.ConnectionProfile("cloudsqlprofile_destination", new()
    {
        Location = "us-central1",
        ConnectionProfileId = "my-toprofileid",
        DisplayName = "my-toprofileid_displayname",
        Labels = 
        {
            { "foo", "bar" },
        },
        Cloudsql = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileCloudsqlArgs
        {
            Settings = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileCloudsqlSettingsArgs
            {
                DatabaseVersion = "MYSQL_5_7",
                UserLabels = 
                {
                    { "cloudfoo", "cloudbar" },
                },
                Tier = "db-n1-standard-1",
                Edition = "ENTERPRISE",
                StorageAutoResizeLimit = "0",
                ActivationPolicy = "ALWAYS",
                IpConfig = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileCloudsqlSettingsIpConfigArgs
                {
                    EnableIpv4 = true,
                    RequireSsl = true,
                },
                AutoStorageIncrease = true,
                DataDiskType = "PD_HDD",
                DataDiskSizeGb = "11",
                Zone = "us-central1-b",
                SourceId = $"projects/{project.Apply(getProjectResult => getProjectResult.ProjectId)}/locations/us-central1/connectionProfiles/my-fromprofileid",
                RootPassword = "testpasscloudsql",
            },
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            cloudsqlprofile,
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.gcp.sql.DatabaseInstance;
import com.pulumi.gcp.sql.DatabaseInstanceArgs;
import com.pulumi.gcp.sql.inputs.DatabaseInstanceSettingsArgs;
import com.pulumi.gcp.sql.SslCert;
import com.pulumi.gcp.sql.SslCertArgs;
import com.pulumi.gcp.sql.User;
import com.pulumi.gcp.sql.UserArgs;
import com.pulumi.gcp.databasemigrationservice.ConnectionProfile;
import com.pulumi.gcp.databasemigrationservice.ConnectionProfileArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfileMysqlArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfileMysqlSslArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfileCloudsqlArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfileCloudsqlSettingsArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfileCloudsqlSettingsIpConfigArgs;
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) {
        final var project = OrganizationsFunctions.getProject();

        var cloudsqldb = new DatabaseInstance("cloudsqldb", DatabaseInstanceArgs.builder()
            .name("my-database")
            .databaseVersion("MYSQL_5_7")
            .settings(DatabaseInstanceSettingsArgs.builder()
                .tier("db-n1-standard-1")
                .deletionProtectionEnabled(false)
                .build())
            .deletionProtection(false)
            .build());

        var sqlClientCert = new SslCert("sqlClientCert", SslCertArgs.builder()
            .commonName("my-cert")
            .instance(cloudsqldb.name())
            .build(), CustomResourceOptions.builder()
                .dependsOn(cloudsqldb)
                .build());

        var sqldbUser = new User("sqldbUser", UserArgs.builder()
            .name("my-username")
            .instance(cloudsqldb.name())
            .password("my-password")
            .build(), CustomResourceOptions.builder()
                .dependsOn(sqlClientCert)
                .build());

        var cloudsqlprofile = new ConnectionProfile("cloudsqlprofile", ConnectionProfileArgs.builder()
            .location("us-central1")
            .connectionProfileId("my-fromprofileid")
            .displayName("my-fromprofileid_display")
            .labels(Map.of("foo", "bar"))
            .mysql(ConnectionProfileMysqlArgs.builder()
                .host(cloudsqldb.ipAddresses().applyValue(ipAddresses -> ipAddresses[0].ipAddress()))
                .port(3306)
                .username(sqldbUser.name())
                .password(sqldbUser.password())
                .ssl(ConnectionProfileMysqlSslArgs.builder()
                    .clientKey(sqlClientCert.privateKey())
                    .clientCertificate(sqlClientCert.cert())
                    .caCertificate(sqlClientCert.serverCaCert())
                    .build())
                .cloudSqlId("my-database")
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(sqldbUser)
                .build());

        var cloudsqlprofileDestination = new ConnectionProfile("cloudsqlprofileDestination", ConnectionProfileArgs.builder()
            .location("us-central1")
            .connectionProfileId("my-toprofileid")
            .displayName("my-toprofileid_displayname")
            .labels(Map.of("foo", "bar"))
            .cloudsql(ConnectionProfileCloudsqlArgs.builder()
                .settings(ConnectionProfileCloudsqlSettingsArgs.builder()
                    .databaseVersion("MYSQL_5_7")
                    .userLabels(Map.of("cloudfoo", "cloudbar"))
                    .tier("db-n1-standard-1")
                    .edition("ENTERPRISE")
                    .storageAutoResizeLimit("0")
                    .activationPolicy("ALWAYS")
                    .ipConfig(ConnectionProfileCloudsqlSettingsIpConfigArgs.builder()
                        .enableIpv4(true)
                        .requireSsl(true)
                        .build())
                    .autoStorageIncrease(true)
                    .dataDiskType("PD_HDD")
                    .dataDiskSizeGb("11")
                    .zone("us-central1-b")
                    .sourceId(String.format("projects/%s/locations/us-central1/connectionProfiles/my-fromprofileid", project.applyValue(getProjectResult -> getProjectResult.projectId())))
                    .rootPassword("testpasscloudsql")
                    .build())
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(cloudsqlprofile)
                .build());

    }
}
Copy
resources:
  cloudsqldb:
    type: gcp:sql:DatabaseInstance
    properties:
      name: my-database
      databaseVersion: MYSQL_5_7
      settings:
        tier: db-n1-standard-1
        deletionProtectionEnabled: false
      deletionProtection: false
  sqlClientCert:
    type: gcp:sql:SslCert
    name: sql_client_cert
    properties:
      commonName: my-cert
      instance: ${cloudsqldb.name}
    options:
      dependsOn:
        - ${cloudsqldb}
  sqldbUser:
    type: gcp:sql:User
    name: sqldb_user
    properties:
      name: my-username
      instance: ${cloudsqldb.name}
      password: my-password
    options:
      dependsOn:
        - ${sqlClientCert}
  cloudsqlprofile:
    type: gcp:databasemigrationservice:ConnectionProfile
    properties:
      location: us-central1
      connectionProfileId: my-fromprofileid
      displayName: my-fromprofileid_display
      labels:
        foo: bar
      mysql:
        host: ${cloudsqldb.ipAddresses[0].ipAddress}
        port: 3306
        username: ${sqldbUser.name}
        password: ${sqldbUser.password}
        ssl:
          clientKey: ${sqlClientCert.privateKey}
          clientCertificate: ${sqlClientCert.cert}
          caCertificate: ${sqlClientCert.serverCaCert}
        cloudSqlId: my-database
    options:
      dependsOn:
        - ${sqldbUser}
  cloudsqlprofileDestination:
    type: gcp:databasemigrationservice:ConnectionProfile
    name: cloudsqlprofile_destination
    properties:
      location: us-central1
      connectionProfileId: my-toprofileid
      displayName: my-toprofileid_displayname
      labels:
        foo: bar
      cloudsql:
        settings:
          databaseVersion: MYSQL_5_7
          userLabels:
            cloudfoo: cloudbar
          tier: db-n1-standard-1
          edition: ENTERPRISE
          storageAutoResizeLimit: '0'
          activationPolicy: ALWAYS
          ipConfig:
            enableIpv4: true
            requireSsl: true
          autoStorageIncrease: true
          dataDiskType: PD_HDD
          dataDiskSizeGb: '11'
          zone: us-central1-b
          sourceId: projects/${project.projectId}/locations/us-central1/connectionProfiles/my-fromprofileid
          rootPassword: testpasscloudsql
    options:
      dependsOn:
        - ${cloudsqlprofile}
variables:
  project:
    fn::invoke:
      function: gcp:organizations:getProject
      arguments: {}
Copy

Database Migration Service Connection Profile Postgres

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

const postgresqldb = new gcp.sql.DatabaseInstance("postgresqldb", {
    name: "my-database",
    databaseVersion: "POSTGRES_12",
    settings: {
        tier: "db-custom-2-13312",
    },
    deletionProtection: false,
});
const sqlClientCert = new gcp.sql.SslCert("sql_client_cert", {
    commonName: "my-cert",
    instance: postgresqldb.name,
}, {
    dependsOn: [postgresqldb],
});
const sqldbUser = new gcp.sql.User("sqldb_user", {
    name: "my-username",
    instance: postgresqldb.name,
    password: "my-password",
}, {
    dependsOn: [sqlClientCert],
});
const postgresprofile = new gcp.databasemigrationservice.ConnectionProfile("postgresprofile", {
    location: "us-central1",
    connectionProfileId: "my-profileid",
    displayName: "my-profileid_display",
    labels: {
        foo: "bar",
    },
    postgresql: {
        host: postgresqldb.ipAddresses.apply(ipAddresses => ipAddresses[0].ipAddress),
        port: 5432,
        username: sqldbUser.name,
        password: sqldbUser.password,
        ssl: {
            clientKey: sqlClientCert.privateKey,
            clientCertificate: sqlClientCert.cert,
            caCertificate: sqlClientCert.serverCaCert,
        },
        cloudSqlId: "my-database",
    },
}, {
    dependsOn: [sqldbUser],
});
Copy
import pulumi
import pulumi_gcp as gcp

postgresqldb = gcp.sql.DatabaseInstance("postgresqldb",
    name="my-database",
    database_version="POSTGRES_12",
    settings={
        "tier": "db-custom-2-13312",
    },
    deletion_protection=False)
sql_client_cert = gcp.sql.SslCert("sql_client_cert",
    common_name="my-cert",
    instance=postgresqldb.name,
    opts = pulumi.ResourceOptions(depends_on=[postgresqldb]))
sqldb_user = gcp.sql.User("sqldb_user",
    name="my-username",
    instance=postgresqldb.name,
    password="my-password",
    opts = pulumi.ResourceOptions(depends_on=[sql_client_cert]))
postgresprofile = gcp.databasemigrationservice.ConnectionProfile("postgresprofile",
    location="us-central1",
    connection_profile_id="my-profileid",
    display_name="my-profileid_display",
    labels={
        "foo": "bar",
    },
    postgresql={
        "host": postgresqldb.ip_addresses[0].ip_address,
        "port": 5432,
        "username": sqldb_user.name,
        "password": sqldb_user.password,
        "ssl": {
            "client_key": sql_client_cert.private_key,
            "client_certificate": sql_client_cert.cert,
            "ca_certificate": sql_client_cert.server_ca_cert,
        },
        "cloud_sql_id": "my-database",
    },
    opts = pulumi.ResourceOptions(depends_on=[sqldb_user]))
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/databasemigrationservice"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/sql"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		postgresqldb, err := sql.NewDatabaseInstance(ctx, "postgresqldb", &sql.DatabaseInstanceArgs{
			Name:            pulumi.String("my-database"),
			DatabaseVersion: pulumi.String("POSTGRES_12"),
			Settings: &sql.DatabaseInstanceSettingsArgs{
				Tier: pulumi.String("db-custom-2-13312"),
			},
			DeletionProtection: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		sqlClientCert, err := sql.NewSslCert(ctx, "sql_client_cert", &sql.SslCertArgs{
			CommonName: pulumi.String("my-cert"),
			Instance:   postgresqldb.Name,
		}, pulumi.DependsOn([]pulumi.Resource{
			postgresqldb,
		}))
		if err != nil {
			return err
		}
		sqldbUser, err := sql.NewUser(ctx, "sqldb_user", &sql.UserArgs{
			Name:     pulumi.String("my-username"),
			Instance: postgresqldb.Name,
			Password: pulumi.String("my-password"),
		}, pulumi.DependsOn([]pulumi.Resource{
			sqlClientCert,
		}))
		if err != nil {
			return err
		}
		_, err = databasemigrationservice.NewConnectionProfile(ctx, "postgresprofile", &databasemigrationservice.ConnectionProfileArgs{
			Location:            pulumi.String("us-central1"),
			ConnectionProfileId: pulumi.String("my-profileid"),
			DisplayName:         pulumi.String("my-profileid_display"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Postgresql: &databasemigrationservice.ConnectionProfilePostgresqlArgs{
				Host: postgresqldb.IpAddresses.ApplyT(func(ipAddresses []sql.DatabaseInstanceIpAddress) (*string, error) {
					return &ipAddresses[0].IpAddress, nil
				}).(pulumi.StringPtrOutput),
				Port:     pulumi.Int(5432),
				Username: sqldbUser.Name,
				Password: sqldbUser.Password,
				Ssl: &databasemigrationservice.ConnectionProfilePostgresqlSslArgs{
					ClientKey:         sqlClientCert.PrivateKey,
					ClientCertificate: sqlClientCert.Cert,
					CaCertificate:     sqlClientCert.ServerCaCert,
				},
				CloudSqlId: pulumi.String("my-database"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			sqldbUser,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var postgresqldb = new Gcp.Sql.DatabaseInstance("postgresqldb", new()
    {
        Name = "my-database",
        DatabaseVersion = "POSTGRES_12",
        Settings = new Gcp.Sql.Inputs.DatabaseInstanceSettingsArgs
        {
            Tier = "db-custom-2-13312",
        },
        DeletionProtection = false,
    });

    var sqlClientCert = new Gcp.Sql.SslCert("sql_client_cert", new()
    {
        CommonName = "my-cert",
        Instance = postgresqldb.Name,
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            postgresqldb,
        },
    });

    var sqldbUser = new Gcp.Sql.User("sqldb_user", new()
    {
        Name = "my-username",
        Instance = postgresqldb.Name,
        Password = "my-password",
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            sqlClientCert,
        },
    });

    var postgresprofile = new Gcp.DatabaseMigrationService.ConnectionProfile("postgresprofile", new()
    {
        Location = "us-central1",
        ConnectionProfileId = "my-profileid",
        DisplayName = "my-profileid_display",
        Labels = 
        {
            { "foo", "bar" },
        },
        Postgresql = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfilePostgresqlArgs
        {
            Host = postgresqldb.IpAddresses.Apply(ipAddresses => ipAddresses[0].IpAddress),
            Port = 5432,
            Username = sqldbUser.Name,
            Password = sqldbUser.Password,
            Ssl = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfilePostgresqlSslArgs
            {
                ClientKey = sqlClientCert.PrivateKey,
                ClientCertificate = sqlClientCert.Cert,
                CaCertificate = sqlClientCert.ServerCaCert,
            },
            CloudSqlId = "my-database",
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            sqldbUser,
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.sql.DatabaseInstance;
import com.pulumi.gcp.sql.DatabaseInstanceArgs;
import com.pulumi.gcp.sql.inputs.DatabaseInstanceSettingsArgs;
import com.pulumi.gcp.sql.SslCert;
import com.pulumi.gcp.sql.SslCertArgs;
import com.pulumi.gcp.sql.User;
import com.pulumi.gcp.sql.UserArgs;
import com.pulumi.gcp.databasemigrationservice.ConnectionProfile;
import com.pulumi.gcp.databasemigrationservice.ConnectionProfileArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfilePostgresqlArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfilePostgresqlSslArgs;
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 postgresqldb = new DatabaseInstance("postgresqldb", DatabaseInstanceArgs.builder()
            .name("my-database")
            .databaseVersion("POSTGRES_12")
            .settings(DatabaseInstanceSettingsArgs.builder()
                .tier("db-custom-2-13312")
                .build())
            .deletionProtection(false)
            .build());

        var sqlClientCert = new SslCert("sqlClientCert", SslCertArgs.builder()
            .commonName("my-cert")
            .instance(postgresqldb.name())
            .build(), CustomResourceOptions.builder()
                .dependsOn(postgresqldb)
                .build());

        var sqldbUser = new User("sqldbUser", UserArgs.builder()
            .name("my-username")
            .instance(postgresqldb.name())
            .password("my-password")
            .build(), CustomResourceOptions.builder()
                .dependsOn(sqlClientCert)
                .build());

        var postgresprofile = new ConnectionProfile("postgresprofile", ConnectionProfileArgs.builder()
            .location("us-central1")
            .connectionProfileId("my-profileid")
            .displayName("my-profileid_display")
            .labels(Map.of("foo", "bar"))
            .postgresql(ConnectionProfilePostgresqlArgs.builder()
                .host(postgresqldb.ipAddresses().applyValue(ipAddresses -> ipAddresses[0].ipAddress()))
                .port(5432)
                .username(sqldbUser.name())
                .password(sqldbUser.password())
                .ssl(ConnectionProfilePostgresqlSslArgs.builder()
                    .clientKey(sqlClientCert.privateKey())
                    .clientCertificate(sqlClientCert.cert())
                    .caCertificate(sqlClientCert.serverCaCert())
                    .build())
                .cloudSqlId("my-database")
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(sqldbUser)
                .build());

    }
}
Copy
resources:
  postgresqldb:
    type: gcp:sql:DatabaseInstance
    properties:
      name: my-database
      databaseVersion: POSTGRES_12
      settings:
        tier: db-custom-2-13312
      deletionProtection: false
  sqlClientCert:
    type: gcp:sql:SslCert
    name: sql_client_cert
    properties:
      commonName: my-cert
      instance: ${postgresqldb.name}
    options:
      dependsOn:
        - ${postgresqldb}
  sqldbUser:
    type: gcp:sql:User
    name: sqldb_user
    properties:
      name: my-username
      instance: ${postgresqldb.name}
      password: my-password
    options:
      dependsOn:
        - ${sqlClientCert}
  postgresprofile:
    type: gcp:databasemigrationservice:ConnectionProfile
    properties:
      location: us-central1
      connectionProfileId: my-profileid
      displayName: my-profileid_display
      labels:
        foo: bar
      postgresql:
        host: ${postgresqldb.ipAddresses[0].ipAddress}
        port: 5432
        username: ${sqldbUser.name}
        password: ${sqldbUser.password}
        ssl:
          clientKey: ${sqlClientCert.privateKey}
          clientCertificate: ${sqlClientCert.cert}
          caCertificate: ${sqlClientCert.serverCaCert}
        cloudSqlId: my-database
    options:
      dependsOn:
        - ${sqldbUser}
Copy

Database Migration Service Connection Profile Oracle

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

const oracleprofile = new gcp.databasemigrationservice.ConnectionProfile("oracleprofile", {
    location: "us-central1",
    connectionProfileId: "my-profileid",
    displayName: "my-profileid_display",
    labels: {
        foo: "bar",
    },
    oracle: {
        host: "host",
        port: 1521,
        username: "username",
        password: "password",
        databaseService: "dbprovider",
        staticServiceIpConnectivity: {},
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

oracleprofile = gcp.databasemigrationservice.ConnectionProfile("oracleprofile",
    location="us-central1",
    connection_profile_id="my-profileid",
    display_name="my-profileid_display",
    labels={
        "foo": "bar",
    },
    oracle={
        "host": "host",
        "port": 1521,
        "username": "username",
        "password": "password",
        "database_service": "dbprovider",
        "static_service_ip_connectivity": {},
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/databasemigrationservice"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := databasemigrationservice.NewConnectionProfile(ctx, "oracleprofile", &databasemigrationservice.ConnectionProfileArgs{
			Location:            pulumi.String("us-central1"),
			ConnectionProfileId: pulumi.String("my-profileid"),
			DisplayName:         pulumi.String("my-profileid_display"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Oracle: &databasemigrationservice.ConnectionProfileOracleArgs{
				Host:                        pulumi.String("host"),
				Port:                        pulumi.Int(1521),
				Username:                    pulumi.String("username"),
				Password:                    pulumi.String("password"),
				DatabaseService:             pulumi.String("dbprovider"),
				StaticServiceIpConnectivity: &databasemigrationservice.ConnectionProfileOracleStaticServiceIpConnectivityArgs{},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var oracleprofile = new Gcp.DatabaseMigrationService.ConnectionProfile("oracleprofile", new()
    {
        Location = "us-central1",
        ConnectionProfileId = "my-profileid",
        DisplayName = "my-profileid_display",
        Labels = 
        {
            { "foo", "bar" },
        },
        Oracle = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileOracleArgs
        {
            Host = "host",
            Port = 1521,
            Username = "username",
            Password = "password",
            DatabaseService = "dbprovider",
            StaticServiceIpConnectivity = null,
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.databasemigrationservice.ConnectionProfile;
import com.pulumi.gcp.databasemigrationservice.ConnectionProfileArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfileOracleArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfileOracleStaticServiceIpConnectivityArgs;
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 oracleprofile = new ConnectionProfile("oracleprofile", ConnectionProfileArgs.builder()
            .location("us-central1")
            .connectionProfileId("my-profileid")
            .displayName("my-profileid_display")
            .labels(Map.of("foo", "bar"))
            .oracle(ConnectionProfileOracleArgs.builder()
                .host("host")
                .port(1521)
                .username("username")
                .password("password")
                .databaseService("dbprovider")
                .staticServiceIpConnectivity()
                .build())
            .build());

    }
}
Copy
resources:
  oracleprofile:
    type: gcp:databasemigrationservice:ConnectionProfile
    properties:
      location: us-central1
      connectionProfileId: my-profileid
      displayName: my-profileid_display
      labels:
        foo: bar
      oracle:
        host: host
        port: 1521
        username: username
        password: password
        databaseService: dbprovider
        staticServiceIpConnectivity: {}
Copy

Database Migration Service Connection Profile Alloydb

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

const project = gcp.organizations.getProject({});
const _default = new gcp.compute.Network("default", {name: "vpc-network"});
const privateIpAlloc = new gcp.compute.GlobalAddress("private_ip_alloc", {
    name: "private-ip-alloc",
    addressType: "INTERNAL",
    purpose: "VPC_PEERING",
    prefixLength: 16,
    network: _default.id,
});
const vpcConnection = new gcp.servicenetworking.Connection("vpc_connection", {
    network: _default.id,
    service: "servicenetworking.googleapis.com",
    reservedPeeringRanges: [privateIpAlloc.name],
});
const alloydbprofile = new gcp.databasemigrationservice.ConnectionProfile("alloydbprofile", {
    location: "us-central1",
    connectionProfileId: "my-profileid",
    displayName: "my-profileid_display",
    labels: {
        foo: "bar",
    },
    alloydb: {
        clusterId: "tf-test-dbmsalloycluster_85840",
        settings: {
            initialUser: {
                user: "alloyuser_60302",
                password: "alloypass_22811",
            },
            vpcNetwork: _default.id,
            labels: {
                alloyfoo: "alloybar",
            },
            primaryInstanceSettings: {
                id: "priminstid",
                machineConfig: {
                    cpuCount: 2,
                },
                databaseFlags: {},
                labels: {
                    alloysinstfoo: "allowinstbar",
                },
            },
        },
    },
}, {
    dependsOn: [vpcConnection],
});
Copy
import pulumi
import pulumi_gcp as gcp

project = gcp.organizations.get_project()
default = gcp.compute.Network("default", name="vpc-network")
private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
    name="private-ip-alloc",
    address_type="INTERNAL",
    purpose="VPC_PEERING",
    prefix_length=16,
    network=default.id)
vpc_connection = gcp.servicenetworking.Connection("vpc_connection",
    network=default.id,
    service="servicenetworking.googleapis.com",
    reserved_peering_ranges=[private_ip_alloc.name])
alloydbprofile = gcp.databasemigrationservice.ConnectionProfile("alloydbprofile",
    location="us-central1",
    connection_profile_id="my-profileid",
    display_name="my-profileid_display",
    labels={
        "foo": "bar",
    },
    alloydb={
        "cluster_id": "tf-test-dbmsalloycluster_85840",
        "settings": {
            "initial_user": {
                "user": "alloyuser_60302",
                "password": "alloypass_22811",
            },
            "vpc_network": default.id,
            "labels": {
                "alloyfoo": "alloybar",
            },
            "primary_instance_settings": {
                "id": "priminstid",
                "machine_config": {
                    "cpu_count": 2,
                },
                "database_flags": {},
                "labels": {
                    "alloysinstfoo": "allowinstbar",
                },
            },
        },
    },
    opts = pulumi.ResourceOptions(depends_on=[vpc_connection]))
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/databasemigrationservice"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/servicenetworking"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		_default, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
			Name: pulumi.String("vpc-network"),
		})
		if err != nil {
			return err
		}
		privateIpAlloc, err := compute.NewGlobalAddress(ctx, "private_ip_alloc", &compute.GlobalAddressArgs{
			Name:         pulumi.String("private-ip-alloc"),
			AddressType:  pulumi.String("INTERNAL"),
			Purpose:      pulumi.String("VPC_PEERING"),
			PrefixLength: pulumi.Int(16),
			Network:      _default.ID(),
		})
		if err != nil {
			return err
		}
		vpcConnection, err := servicenetworking.NewConnection(ctx, "vpc_connection", &servicenetworking.ConnectionArgs{
			Network: _default.ID(),
			Service: pulumi.String("servicenetworking.googleapis.com"),
			ReservedPeeringRanges: pulumi.StringArray{
				privateIpAlloc.Name,
			},
		})
		if err != nil {
			return err
		}
		_, err = databasemigrationservice.NewConnectionProfile(ctx, "alloydbprofile", &databasemigrationservice.ConnectionProfileArgs{
			Location:            pulumi.String("us-central1"),
			ConnectionProfileId: pulumi.String("my-profileid"),
			DisplayName:         pulumi.String("my-profileid_display"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Alloydb: &databasemigrationservice.ConnectionProfileAlloydbArgs{
				ClusterId: pulumi.String("tf-test-dbmsalloycluster_85840"),
				Settings: &databasemigrationservice.ConnectionProfileAlloydbSettingsArgs{
					InitialUser: &databasemigrationservice.ConnectionProfileAlloydbSettingsInitialUserArgs{
						User:     pulumi.String("alloyuser_60302"),
						Password: pulumi.String("alloypass_22811"),
					},
					VpcNetwork: _default.ID(),
					Labels: pulumi.StringMap{
						"alloyfoo": pulumi.String("alloybar"),
					},
					PrimaryInstanceSettings: &databasemigrationservice.ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsArgs{
						Id: pulumi.String("priminstid"),
						MachineConfig: &databasemigrationservice.ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfigArgs{
							CpuCount: pulumi.Int(2),
						},
						DatabaseFlags: pulumi.StringMap{},
						Labels: pulumi.StringMap{
							"alloysinstfoo": pulumi.String("allowinstbar"),
						},
					},
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			vpcConnection,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var project = Gcp.Organizations.GetProject.Invoke();

    var @default = new Gcp.Compute.Network("default", new()
    {
        Name = "vpc-network",
    });

    var privateIpAlloc = new Gcp.Compute.GlobalAddress("private_ip_alloc", new()
    {
        Name = "private-ip-alloc",
        AddressType = "INTERNAL",
        Purpose = "VPC_PEERING",
        PrefixLength = 16,
        Network = @default.Id,
    });

    var vpcConnection = new Gcp.ServiceNetworking.Connection("vpc_connection", new()
    {
        Network = @default.Id,
        Service = "servicenetworking.googleapis.com",
        ReservedPeeringRanges = new[]
        {
            privateIpAlloc.Name,
        },
    });

    var alloydbprofile = new Gcp.DatabaseMigrationService.ConnectionProfile("alloydbprofile", new()
    {
        Location = "us-central1",
        ConnectionProfileId = "my-profileid",
        DisplayName = "my-profileid_display",
        Labels = 
        {
            { "foo", "bar" },
        },
        Alloydb = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileAlloydbArgs
        {
            ClusterId = "tf-test-dbmsalloycluster_85840",
            Settings = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileAlloydbSettingsArgs
            {
                InitialUser = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileAlloydbSettingsInitialUserArgs
                {
                    User = "alloyuser_60302",
                    Password = "alloypass_22811",
                },
                VpcNetwork = @default.Id,
                Labels = 
                {
                    { "alloyfoo", "alloybar" },
                },
                PrimaryInstanceSettings = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsArgs
                {
                    Id = "priminstid",
                    MachineConfig = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfigArgs
                    {
                        CpuCount = 2,
                    },
                    DatabaseFlags = null,
                    Labels = 
                    {
                        { "alloysinstfoo", "allowinstbar" },
                    },
                },
            },
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            vpcConnection,
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
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.databasemigrationservice.ConnectionProfile;
import com.pulumi.gcp.databasemigrationservice.ConnectionProfileArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfileAlloydbArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfileAlloydbSettingsArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfileAlloydbSettingsInitialUserArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfigArgs;
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) {
        final var project = OrganizationsFunctions.getProject();

        var default_ = new Network("default", NetworkArgs.builder()
            .name("vpc-network")
            .build());

        var privateIpAlloc = new GlobalAddress("privateIpAlloc", GlobalAddressArgs.builder()
            .name("private-ip-alloc")
            .addressType("INTERNAL")
            .purpose("VPC_PEERING")
            .prefixLength(16)
            .network(default_.id())
            .build());

        var vpcConnection = new Connection("vpcConnection", ConnectionArgs.builder()
            .network(default_.id())
            .service("servicenetworking.googleapis.com")
            .reservedPeeringRanges(privateIpAlloc.name())
            .build());

        var alloydbprofile = new ConnectionProfile("alloydbprofile", ConnectionProfileArgs.builder()
            .location("us-central1")
            .connectionProfileId("my-profileid")
            .displayName("my-profileid_display")
            .labels(Map.of("foo", "bar"))
            .alloydb(ConnectionProfileAlloydbArgs.builder()
                .clusterId("tf-test-dbmsalloycluster_85840")
                .settings(ConnectionProfileAlloydbSettingsArgs.builder()
                    .initialUser(ConnectionProfileAlloydbSettingsInitialUserArgs.builder()
                        .user("alloyuser_60302")
                        .password("alloypass_22811")
                        .build())
                    .vpcNetwork(default_.id())
                    .labels(Map.of("alloyfoo", "alloybar"))
                    .primaryInstanceSettings(ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsArgs.builder()
                        .id("priminstid")
                        .machineConfig(ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfigArgs.builder()
                            .cpuCount(2)
                            .build())
                        .databaseFlags()
                        .labels(Map.of("alloysinstfoo", "allowinstbar"))
                        .build())
                    .build())
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(vpcConnection)
                .build());

    }
}
Copy
resources:
  default:
    type: gcp:compute:Network
    properties:
      name: vpc-network
  privateIpAlloc:
    type: gcp:compute:GlobalAddress
    name: private_ip_alloc
    properties:
      name: private-ip-alloc
      addressType: INTERNAL
      purpose: VPC_PEERING
      prefixLength: 16
      network: ${default.id}
  vpcConnection:
    type: gcp:servicenetworking:Connection
    name: vpc_connection
    properties:
      network: ${default.id}
      service: servicenetworking.googleapis.com
      reservedPeeringRanges:
        - ${privateIpAlloc.name}
  alloydbprofile:
    type: gcp:databasemigrationservice:ConnectionProfile
    properties:
      location: us-central1
      connectionProfileId: my-profileid
      displayName: my-profileid_display
      labels:
        foo: bar
      alloydb:
        clusterId: tf-test-dbmsalloycluster_85840
        settings:
          initialUser:
            user: alloyuser_60302
            password: alloypass_22811
          vpcNetwork: ${default.id}
          labels:
            alloyfoo: alloybar
          primaryInstanceSettings:
            id: priminstid
            machineConfig:
              cpuCount: 2
            databaseFlags: {}
            labels:
              alloysinstfoo: allowinstbar
    options:
      dependsOn:
        - ${vpcConnection}
variables:
  project:
    fn::invoke:
      function: gcp:organizations:getProject
      arguments: {}
Copy

Database Migration Service Connection Profile Existing Mysql

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

const project = gcp.organizations.getProject({});
const destinationCsql = new gcp.sql.DatabaseInstance("destination_csql", {
    name: "destination-csql",
    databaseVersion: "MYSQL_5_7",
    settings: {
        tier: "db-n1-standard-1",
        deletionProtectionEnabled: false,
    },
    deletionProtection: false,
});
const existing_mysql = new gcp.databasemigrationservice.ConnectionProfile("existing-mysql", {
    location: "us-central1",
    connectionProfileId: "destination-cp",
    displayName: "destination-cp_display",
    labels: {
        foo: "bar",
    },
    mysql: {
        cloudSqlId: "destination-csql",
    },
}, {
    dependsOn: [destinationCsql],
});
Copy
import pulumi
import pulumi_gcp as gcp

project = gcp.organizations.get_project()
destination_csql = gcp.sql.DatabaseInstance("destination_csql",
    name="destination-csql",
    database_version="MYSQL_5_7",
    settings={
        "tier": "db-n1-standard-1",
        "deletion_protection_enabled": False,
    },
    deletion_protection=False)
existing_mysql = gcp.databasemigrationservice.ConnectionProfile("existing-mysql",
    location="us-central1",
    connection_profile_id="destination-cp",
    display_name="destination-cp_display",
    labels={
        "foo": "bar",
    },
    mysql={
        "cloud_sql_id": "destination-csql",
    },
    opts = pulumi.ResourceOptions(depends_on=[destination_csql]))
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/databasemigrationservice"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/sql"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		destinationCsql, err := sql.NewDatabaseInstance(ctx, "destination_csql", &sql.DatabaseInstanceArgs{
			Name:            pulumi.String("destination-csql"),
			DatabaseVersion: pulumi.String("MYSQL_5_7"),
			Settings: &sql.DatabaseInstanceSettingsArgs{
				Tier:                      pulumi.String("db-n1-standard-1"),
				DeletionProtectionEnabled: pulumi.Bool(false),
			},
			DeletionProtection: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = databasemigrationservice.NewConnectionProfile(ctx, "existing-mysql", &databasemigrationservice.ConnectionProfileArgs{
			Location:            pulumi.String("us-central1"),
			ConnectionProfileId: pulumi.String("destination-cp"),
			DisplayName:         pulumi.String("destination-cp_display"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Mysql: &databasemigrationservice.ConnectionProfileMysqlArgs{
				CloudSqlId: pulumi.String("destination-csql"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			destinationCsql,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var project = Gcp.Organizations.GetProject.Invoke();

    var destinationCsql = new Gcp.Sql.DatabaseInstance("destination_csql", new()
    {
        Name = "destination-csql",
        DatabaseVersion = "MYSQL_5_7",
        Settings = new Gcp.Sql.Inputs.DatabaseInstanceSettingsArgs
        {
            Tier = "db-n1-standard-1",
            DeletionProtectionEnabled = false,
        },
        DeletionProtection = false,
    });

    var existing_mysql = new Gcp.DatabaseMigrationService.ConnectionProfile("existing-mysql", new()
    {
        Location = "us-central1",
        ConnectionProfileId = "destination-cp",
        DisplayName = "destination-cp_display",
        Labels = 
        {
            { "foo", "bar" },
        },
        Mysql = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileMysqlArgs
        {
            CloudSqlId = "destination-csql",
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            destinationCsql,
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.gcp.sql.DatabaseInstance;
import com.pulumi.gcp.sql.DatabaseInstanceArgs;
import com.pulumi.gcp.sql.inputs.DatabaseInstanceSettingsArgs;
import com.pulumi.gcp.databasemigrationservice.ConnectionProfile;
import com.pulumi.gcp.databasemigrationservice.ConnectionProfileArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfileMysqlArgs;
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) {
        final var project = OrganizationsFunctions.getProject();

        var destinationCsql = new DatabaseInstance("destinationCsql", DatabaseInstanceArgs.builder()
            .name("destination-csql")
            .databaseVersion("MYSQL_5_7")
            .settings(DatabaseInstanceSettingsArgs.builder()
                .tier("db-n1-standard-1")
                .deletionProtectionEnabled(false)
                .build())
            .deletionProtection(false)
            .build());

        var existing_mysql = new ConnectionProfile("existing-mysql", ConnectionProfileArgs.builder()
            .location("us-central1")
            .connectionProfileId("destination-cp")
            .displayName("destination-cp_display")
            .labels(Map.of("foo", "bar"))
            .mysql(ConnectionProfileMysqlArgs.builder()
                .cloudSqlId("destination-csql")
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(destinationCsql)
                .build());

    }
}
Copy
resources:
  destinationCsql:
    type: gcp:sql:DatabaseInstance
    name: destination_csql
    properties:
      name: destination-csql
      databaseVersion: MYSQL_5_7
      settings:
        tier: db-n1-standard-1
        deletionProtectionEnabled: false
      deletionProtection: false
  existing-mysql:
    type: gcp:databasemigrationservice:ConnectionProfile
    properties:
      location: us-central1
      connectionProfileId: destination-cp
      displayName: destination-cp_display
      labels:
        foo: bar
      mysql:
        cloudSqlId: destination-csql
    options:
      dependsOn:
        - ${destinationCsql}
variables:
  project:
    fn::invoke:
      function: gcp:organizations:getProject
      arguments: {}
Copy

Database Migration Service Connection Profile Existing Postgres

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

const project = gcp.organizations.getProject({});
const destinationCsql = new gcp.sql.DatabaseInstance("destination_csql", {
    name: "destination-csql",
    databaseVersion: "POSTGRES_15",
    settings: {
        tier: "db-custom-2-13312",
        deletionProtectionEnabled: false,
    },
    deletionProtection: false,
});
const existing_psql = new gcp.databasemigrationservice.ConnectionProfile("existing-psql", {
    location: "us-central1",
    connectionProfileId: "destination-cp",
    displayName: "destination-cp_display",
    labels: {
        foo: "bar",
    },
    postgresql: {
        cloudSqlId: "destination-csql",
    },
}, {
    dependsOn: [destinationCsql],
});
Copy
import pulumi
import pulumi_gcp as gcp

project = gcp.organizations.get_project()
destination_csql = gcp.sql.DatabaseInstance("destination_csql",
    name="destination-csql",
    database_version="POSTGRES_15",
    settings={
        "tier": "db-custom-2-13312",
        "deletion_protection_enabled": False,
    },
    deletion_protection=False)
existing_psql = gcp.databasemigrationservice.ConnectionProfile("existing-psql",
    location="us-central1",
    connection_profile_id="destination-cp",
    display_name="destination-cp_display",
    labels={
        "foo": "bar",
    },
    postgresql={
        "cloud_sql_id": "destination-csql",
    },
    opts = pulumi.ResourceOptions(depends_on=[destination_csql]))
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/databasemigrationservice"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/sql"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		destinationCsql, err := sql.NewDatabaseInstance(ctx, "destination_csql", &sql.DatabaseInstanceArgs{
			Name:            pulumi.String("destination-csql"),
			DatabaseVersion: pulumi.String("POSTGRES_15"),
			Settings: &sql.DatabaseInstanceSettingsArgs{
				Tier:                      pulumi.String("db-custom-2-13312"),
				DeletionProtectionEnabled: pulumi.Bool(false),
			},
			DeletionProtection: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = databasemigrationservice.NewConnectionProfile(ctx, "existing-psql", &databasemigrationservice.ConnectionProfileArgs{
			Location:            pulumi.String("us-central1"),
			ConnectionProfileId: pulumi.String("destination-cp"),
			DisplayName:         pulumi.String("destination-cp_display"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Postgresql: &databasemigrationservice.ConnectionProfilePostgresqlArgs{
				CloudSqlId: pulumi.String("destination-csql"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			destinationCsql,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var project = Gcp.Organizations.GetProject.Invoke();

    var destinationCsql = new Gcp.Sql.DatabaseInstance("destination_csql", new()
    {
        Name = "destination-csql",
        DatabaseVersion = "POSTGRES_15",
        Settings = new Gcp.Sql.Inputs.DatabaseInstanceSettingsArgs
        {
            Tier = "db-custom-2-13312",
            DeletionProtectionEnabled = false,
        },
        DeletionProtection = false,
    });

    var existing_psql = new Gcp.DatabaseMigrationService.ConnectionProfile("existing-psql", new()
    {
        Location = "us-central1",
        ConnectionProfileId = "destination-cp",
        DisplayName = "destination-cp_display",
        Labels = 
        {
            { "foo", "bar" },
        },
        Postgresql = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfilePostgresqlArgs
        {
            CloudSqlId = "destination-csql",
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            destinationCsql,
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.gcp.sql.DatabaseInstance;
import com.pulumi.gcp.sql.DatabaseInstanceArgs;
import com.pulumi.gcp.sql.inputs.DatabaseInstanceSettingsArgs;
import com.pulumi.gcp.databasemigrationservice.ConnectionProfile;
import com.pulumi.gcp.databasemigrationservice.ConnectionProfileArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfilePostgresqlArgs;
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) {
        final var project = OrganizationsFunctions.getProject();

        var destinationCsql = new DatabaseInstance("destinationCsql", DatabaseInstanceArgs.builder()
            .name("destination-csql")
            .databaseVersion("POSTGRES_15")
            .settings(DatabaseInstanceSettingsArgs.builder()
                .tier("db-custom-2-13312")
                .deletionProtectionEnabled(false)
                .build())
            .deletionProtection(false)
            .build());

        var existing_psql = new ConnectionProfile("existing-psql", ConnectionProfileArgs.builder()
            .location("us-central1")
            .connectionProfileId("destination-cp")
            .displayName("destination-cp_display")
            .labels(Map.of("foo", "bar"))
            .postgresql(ConnectionProfilePostgresqlArgs.builder()
                .cloudSqlId("destination-csql")
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(destinationCsql)
                .build());

    }
}
Copy
resources:
  destinationCsql:
    type: gcp:sql:DatabaseInstance
    name: destination_csql
    properties:
      name: destination-csql
      databaseVersion: POSTGRES_15
      settings:
        tier: db-custom-2-13312
        deletionProtectionEnabled: false
      deletionProtection: false
  existing-psql:
    type: gcp:databasemigrationservice:ConnectionProfile
    properties:
      location: us-central1
      connectionProfileId: destination-cp
      displayName: destination-cp_display
      labels:
        foo: bar
      postgresql:
        cloudSqlId: destination-csql
    options:
      dependsOn:
        - ${destinationCsql}
variables:
  project:
    fn::invoke:
      function: gcp:organizations:getProject
      arguments: {}
Copy

Database Migration Service Connection Profile Existing Alloydb

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

const project = gcp.organizations.getProject({});
const _default = new gcp.compute.Network("default", {name: "destination-alloydb"});
const destinationAlloydb = new gcp.alloydb.Cluster("destination_alloydb", {
    clusterId: "destination-alloydb",
    location: "us-central1",
    networkConfig: {
        network: _default.id,
    },
    databaseVersion: "POSTGRES_15",
    initialUser: {
        user: "destination-alloydb",
        password: "destination-alloydb",
    },
});
const privateIpAlloc = new gcp.compute.GlobalAddress("private_ip_alloc", {
    name: "destination-alloydb",
    addressType: "INTERNAL",
    purpose: "VPC_PEERING",
    prefixLength: 16,
    network: _default.id,
});
const vpcConnection = new gcp.servicenetworking.Connection("vpc_connection", {
    network: _default.id,
    service: "servicenetworking.googleapis.com",
    reservedPeeringRanges: [privateIpAlloc.name],
});
const destinationAlloydbPrimary = new gcp.alloydb.Instance("destination_alloydb_primary", {
    cluster: destinationAlloydb.name,
    instanceId: "destination-alloydb-primary",
    instanceType: "PRIMARY",
}, {
    dependsOn: [vpcConnection],
});
const existing_alloydb = new gcp.databasemigrationservice.ConnectionProfile("existing-alloydb", {
    location: "us-central1",
    connectionProfileId: "destination-cp",
    displayName: "destination-cp_display",
    labels: {
        foo: "bar",
    },
    postgresql: {
        alloydbClusterId: "destination-alloydb",
    },
}, {
    dependsOn: [
        destinationAlloydb,
        destinationAlloydbPrimary,
    ],
});
Copy
import pulumi
import pulumi_gcp as gcp

project = gcp.organizations.get_project()
default = gcp.compute.Network("default", name="destination-alloydb")
destination_alloydb = gcp.alloydb.Cluster("destination_alloydb",
    cluster_id="destination-alloydb",
    location="us-central1",
    network_config={
        "network": default.id,
    },
    database_version="POSTGRES_15",
    initial_user={
        "user": "destination-alloydb",
        "password": "destination-alloydb",
    })
private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
    name="destination-alloydb",
    address_type="INTERNAL",
    purpose="VPC_PEERING",
    prefix_length=16,
    network=default.id)
vpc_connection = gcp.servicenetworking.Connection("vpc_connection",
    network=default.id,
    service="servicenetworking.googleapis.com",
    reserved_peering_ranges=[private_ip_alloc.name])
destination_alloydb_primary = gcp.alloydb.Instance("destination_alloydb_primary",
    cluster=destination_alloydb.name,
    instance_id="destination-alloydb-primary",
    instance_type="PRIMARY",
    opts = pulumi.ResourceOptions(depends_on=[vpc_connection]))
existing_alloydb = gcp.databasemigrationservice.ConnectionProfile("existing-alloydb",
    location="us-central1",
    connection_profile_id="destination-cp",
    display_name="destination-cp_display",
    labels={
        "foo": "bar",
    },
    postgresql={
        "alloydb_cluster_id": "destination-alloydb",
    },
    opts = pulumi.ResourceOptions(depends_on=[
            destination_alloydb,
            destination_alloydb_primary,
        ]))
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/alloydb"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/databasemigrationservice"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/servicenetworking"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		_default, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
			Name: pulumi.String("destination-alloydb"),
		})
		if err != nil {
			return err
		}
		destinationAlloydb, err := alloydb.NewCluster(ctx, "destination_alloydb", &alloydb.ClusterArgs{
			ClusterId: pulumi.String("destination-alloydb"),
			Location:  pulumi.String("us-central1"),
			NetworkConfig: &alloydb.ClusterNetworkConfigArgs{
				Network: _default.ID(),
			},
			DatabaseVersion: pulumi.String("POSTGRES_15"),
			InitialUser: &alloydb.ClusterInitialUserArgs{
				User:     pulumi.String("destination-alloydb"),
				Password: pulumi.String("destination-alloydb"),
			},
		})
		if err != nil {
			return err
		}
		privateIpAlloc, err := compute.NewGlobalAddress(ctx, "private_ip_alloc", &compute.GlobalAddressArgs{
			Name:         pulumi.String("destination-alloydb"),
			AddressType:  pulumi.String("INTERNAL"),
			Purpose:      pulumi.String("VPC_PEERING"),
			PrefixLength: pulumi.Int(16),
			Network:      _default.ID(),
		})
		if err != nil {
			return err
		}
		vpcConnection, err := servicenetworking.NewConnection(ctx, "vpc_connection", &servicenetworking.ConnectionArgs{
			Network: _default.ID(),
			Service: pulumi.String("servicenetworking.googleapis.com"),
			ReservedPeeringRanges: pulumi.StringArray{
				privateIpAlloc.Name,
			},
		})
		if err != nil {
			return err
		}
		destinationAlloydbPrimary, err := alloydb.NewInstance(ctx, "destination_alloydb_primary", &alloydb.InstanceArgs{
			Cluster:      destinationAlloydb.Name,
			InstanceId:   pulumi.String("destination-alloydb-primary"),
			InstanceType: pulumi.String("PRIMARY"),
		}, pulumi.DependsOn([]pulumi.Resource{
			vpcConnection,
		}))
		if err != nil {
			return err
		}
		_, err = databasemigrationservice.NewConnectionProfile(ctx, "existing-alloydb", &databasemigrationservice.ConnectionProfileArgs{
			Location:            pulumi.String("us-central1"),
			ConnectionProfileId: pulumi.String("destination-cp"),
			DisplayName:         pulumi.String("destination-cp_display"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Postgresql: &databasemigrationservice.ConnectionProfilePostgresqlArgs{
				AlloydbClusterId: pulumi.String("destination-alloydb"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			destinationAlloydb,
			destinationAlloydbPrimary,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var project = Gcp.Organizations.GetProject.Invoke();

    var @default = new Gcp.Compute.Network("default", new()
    {
        Name = "destination-alloydb",
    });

    var destinationAlloydb = new Gcp.Alloydb.Cluster("destination_alloydb", new()
    {
        ClusterId = "destination-alloydb",
        Location = "us-central1",
        NetworkConfig = new Gcp.Alloydb.Inputs.ClusterNetworkConfigArgs
        {
            Network = @default.Id,
        },
        DatabaseVersion = "POSTGRES_15",
        InitialUser = new Gcp.Alloydb.Inputs.ClusterInitialUserArgs
        {
            User = "destination-alloydb",
            Password = "destination-alloydb",
        },
    });

    var privateIpAlloc = new Gcp.Compute.GlobalAddress("private_ip_alloc", new()
    {
        Name = "destination-alloydb",
        AddressType = "INTERNAL",
        Purpose = "VPC_PEERING",
        PrefixLength = 16,
        Network = @default.Id,
    });

    var vpcConnection = new Gcp.ServiceNetworking.Connection("vpc_connection", new()
    {
        Network = @default.Id,
        Service = "servicenetworking.googleapis.com",
        ReservedPeeringRanges = new[]
        {
            privateIpAlloc.Name,
        },
    });

    var destinationAlloydbPrimary = new Gcp.Alloydb.Instance("destination_alloydb_primary", new()
    {
        Cluster = destinationAlloydb.Name,
        InstanceId = "destination-alloydb-primary",
        InstanceType = "PRIMARY",
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            vpcConnection,
        },
    });

    var existing_alloydb = new Gcp.DatabaseMigrationService.ConnectionProfile("existing-alloydb", new()
    {
        Location = "us-central1",
        ConnectionProfileId = "destination-cp",
        DisplayName = "destination-cp_display",
        Labels = 
        {
            { "foo", "bar" },
        },
        Postgresql = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfilePostgresqlArgs
        {
            AlloydbClusterId = "destination-alloydb",
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            destinationAlloydb,
            destinationAlloydbPrimary,
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.alloydb.Cluster;
import com.pulumi.gcp.alloydb.ClusterArgs;
import com.pulumi.gcp.alloydb.inputs.ClusterNetworkConfigArgs;
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.databasemigrationservice.ConnectionProfile;
import com.pulumi.gcp.databasemigrationservice.ConnectionProfileArgs;
import com.pulumi.gcp.databasemigrationservice.inputs.ConnectionProfilePostgresqlArgs;
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) {
        final var project = OrganizationsFunctions.getProject();

        var default_ = new Network("default", NetworkArgs.builder()
            .name("destination-alloydb")
            .build());

        var destinationAlloydb = new Cluster("destinationAlloydb", ClusterArgs.builder()
            .clusterId("destination-alloydb")
            .location("us-central1")
            .networkConfig(ClusterNetworkConfigArgs.builder()
                .network(default_.id())
                .build())
            .databaseVersion("POSTGRES_15")
            .initialUser(ClusterInitialUserArgs.builder()
                .user("destination-alloydb")
                .password("destination-alloydb")
                .build())
            .build());

        var privateIpAlloc = new GlobalAddress("privateIpAlloc", GlobalAddressArgs.builder()
            .name("destination-alloydb")
            .addressType("INTERNAL")
            .purpose("VPC_PEERING")
            .prefixLength(16)
            .network(default_.id())
            .build());

        var vpcConnection = new Connection("vpcConnection", ConnectionArgs.builder()
            .network(default_.id())
            .service("servicenetworking.googleapis.com")
            .reservedPeeringRanges(privateIpAlloc.name())
            .build());

        var destinationAlloydbPrimary = new Instance("destinationAlloydbPrimary", InstanceArgs.builder()
            .cluster(destinationAlloydb.name())
            .instanceId("destination-alloydb-primary")
            .instanceType("PRIMARY")
            .build(), CustomResourceOptions.builder()
                .dependsOn(vpcConnection)
                .build());

        var existing_alloydb = new ConnectionProfile("existing-alloydb", ConnectionProfileArgs.builder()
            .location("us-central1")
            .connectionProfileId("destination-cp")
            .displayName("destination-cp_display")
            .labels(Map.of("foo", "bar"))
            .postgresql(ConnectionProfilePostgresqlArgs.builder()
                .alloydbClusterId("destination-alloydb")
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(                
                    destinationAlloydb,
                    destinationAlloydbPrimary)
                .build());

    }
}
Copy
resources:
  destinationAlloydb:
    type: gcp:alloydb:Cluster
    name: destination_alloydb
    properties:
      clusterId: destination-alloydb
      location: us-central1
      networkConfig:
        network: ${default.id}
      databaseVersion: POSTGRES_15
      initialUser:
        user: destination-alloydb
        password: destination-alloydb
  destinationAlloydbPrimary:
    type: gcp:alloydb:Instance
    name: destination_alloydb_primary
    properties:
      cluster: ${destinationAlloydb.name}
      instanceId: destination-alloydb-primary
      instanceType: PRIMARY
    options:
      dependsOn:
        - ${vpcConnection}
  privateIpAlloc:
    type: gcp:compute:GlobalAddress
    name: private_ip_alloc
    properties:
      name: destination-alloydb
      addressType: INTERNAL
      purpose: VPC_PEERING
      prefixLength: 16
      network: ${default.id}
  vpcConnection:
    type: gcp:servicenetworking:Connection
    name: vpc_connection
    properties:
      network: ${default.id}
      service: servicenetworking.googleapis.com
      reservedPeeringRanges:
        - ${privateIpAlloc.name}
  default:
    type: gcp:compute:Network
    properties:
      name: destination-alloydb
  existing-alloydb:
    type: gcp:databasemigrationservice:ConnectionProfile
    properties:
      location: us-central1
      connectionProfileId: destination-cp
      displayName: destination-cp_display
      labels:
        foo: bar
      postgresql:
        alloydbClusterId: destination-alloydb
    options:
      dependsOn:
        - ${destinationAlloydb}
        - ${destinationAlloydbPrimary}
variables:
  project:
    fn::invoke:
      function: gcp:organizations:getProject
      arguments: {}
Copy

Create ConnectionProfile Resource

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

Constructor syntax

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

@overload
def ConnectionProfile(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      connection_profile_id: Optional[str] = None,
                      alloydb: Optional[ConnectionProfileAlloydbArgs] = None,
                      cloudsql: Optional[ConnectionProfileCloudsqlArgs] = None,
                      display_name: Optional[str] = None,
                      labels: Optional[Mapping[str, str]] = None,
                      location: Optional[str] = None,
                      mysql: Optional[ConnectionProfileMysqlArgs] = None,
                      oracle: Optional[ConnectionProfileOracleArgs] = None,
                      postgresql: Optional[ConnectionProfilePostgresqlArgs] = None,
                      project: Optional[str] = None)
func NewConnectionProfile(ctx *Context, name string, args ConnectionProfileArgs, opts ...ResourceOption) (*ConnectionProfile, error)
public ConnectionProfile(string name, ConnectionProfileArgs args, CustomResourceOptions? opts = null)
public ConnectionProfile(String name, ConnectionProfileArgs args)
public ConnectionProfile(String name, ConnectionProfileArgs args, CustomResourceOptions options)
type: gcp:databasemigrationservice:ConnectionProfile
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. ConnectionProfileArgs
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. ConnectionProfileArgs
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. ConnectionProfileArgs
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. ConnectionProfileArgs
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. ConnectionProfileArgs
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 connectionProfileResource = new Gcp.DatabaseMigrationService.ConnectionProfile("connectionProfileResource", new()
{
    ConnectionProfileId = "string",
    Alloydb = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileAlloydbArgs
    {
        ClusterId = "string",
        Settings = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileAlloydbSettingsArgs
        {
            InitialUser = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileAlloydbSettingsInitialUserArgs
            {
                Password = "string",
                User = "string",
                PasswordSet = false,
            },
            VpcNetwork = "string",
            Labels = 
            {
                { "string", "string" },
            },
            PrimaryInstanceSettings = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsArgs
            {
                Id = "string",
                MachineConfig = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfigArgs
                {
                    CpuCount = 0,
                },
                DatabaseFlags = 
                {
                    { "string", "string" },
                },
                Labels = 
                {
                    { "string", "string" },
                },
                PrivateIp = "string",
            },
        },
    },
    Cloudsql = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileCloudsqlArgs
    {
        CloudSqlId = "string",
        PrivateIp = "string",
        PublicIp = "string",
        Settings = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileCloudsqlSettingsArgs
        {
            SourceId = "string",
            DataDiskSizeGb = "string",
            DatabaseVersion = "string",
            Collation = "string",
            ActivationPolicy = "string",
            IpConfig = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileCloudsqlSettingsIpConfigArgs
            {
                AuthorizedNetworks = new[]
                {
                    new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworkArgs
                    {
                        Value = "string",
                        ExpireTime = "string",
                        Label = "string",
                        Ttl = "string",
                    },
                },
                EnableIpv4 = false,
                PrivateNetwork = "string",
                RequireSsl = false,
            },
            DatabaseFlags = 
            {
                { "string", "string" },
            },
            CmekKeyName = "string",
            Edition = "string",
            DataDiskType = "string",
            RootPassword = "string",
            RootPasswordSet = false,
            AutoStorageIncrease = false,
            StorageAutoResizeLimit = "string",
            Tier = "string",
            UserLabels = 
            {
                { "string", "string" },
            },
            Zone = "string",
        },
    },
    DisplayName = "string",
    Labels = 
    {
        { "string", "string" },
    },
    Location = "string",
    Mysql = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileMysqlArgs
    {
        CloudSqlId = "string",
        Host = "string",
        Password = "string",
        PasswordSet = false,
        Port = 0,
        Ssl = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileMysqlSslArgs
        {
            CaCertificate = "string",
            ClientCertificate = "string",
            ClientKey = "string",
            Type = "string",
        },
        Username = "string",
    },
    Oracle = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileOracleArgs
    {
        DatabaseService = "string",
        Host = "string",
        Password = "string",
        Port = 0,
        Username = "string",
        ForwardSshConnectivity = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileOracleForwardSshConnectivityArgs
        {
            Hostname = "string",
            Port = 0,
            Username = "string",
            Password = "string",
            PrivateKey = "string",
        },
        PasswordSet = false,
        PrivateConnectivity = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileOraclePrivateConnectivityArgs
        {
            PrivateConnection = "string",
        },
        Ssl = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfileOracleSslArgs
        {
            CaCertificate = "string",
            ClientCertificate = "string",
            ClientKey = "string",
            Type = "string",
        },
        StaticServiceIpConnectivity = null,
    },
    Postgresql = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfilePostgresqlArgs
    {
        AlloydbClusterId = "string",
        CloudSqlId = "string",
        Host = "string",
        NetworkArchitecture = "string",
        Password = "string",
        PasswordSet = false,
        Port = 0,
        Ssl = new Gcp.DatabaseMigrationService.Inputs.ConnectionProfilePostgresqlSslArgs
        {
            CaCertificate = "string",
            ClientCertificate = "string",
            ClientKey = "string",
            Type = "string",
        },
        Username = "string",
    },
    Project = "string",
});
Copy
example, err := databasemigrationservice.NewConnectionProfile(ctx, "connectionProfileResource", &databasemigrationservice.ConnectionProfileArgs{
	ConnectionProfileId: pulumi.String("string"),
	Alloydb: &databasemigrationservice.ConnectionProfileAlloydbArgs{
		ClusterId: pulumi.String("string"),
		Settings: &databasemigrationservice.ConnectionProfileAlloydbSettingsArgs{
			InitialUser: &databasemigrationservice.ConnectionProfileAlloydbSettingsInitialUserArgs{
				Password:    pulumi.String("string"),
				User:        pulumi.String("string"),
				PasswordSet: pulumi.Bool(false),
			},
			VpcNetwork: pulumi.String("string"),
			Labels: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			PrimaryInstanceSettings: &databasemigrationservice.ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsArgs{
				Id: pulumi.String("string"),
				MachineConfig: &databasemigrationservice.ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfigArgs{
					CpuCount: pulumi.Int(0),
				},
				DatabaseFlags: pulumi.StringMap{
					"string": pulumi.String("string"),
				},
				Labels: pulumi.StringMap{
					"string": pulumi.String("string"),
				},
				PrivateIp: pulumi.String("string"),
			},
		},
	},
	Cloudsql: &databasemigrationservice.ConnectionProfileCloudsqlArgs{
		CloudSqlId: pulumi.String("string"),
		PrivateIp:  pulumi.String("string"),
		PublicIp:   pulumi.String("string"),
		Settings: &databasemigrationservice.ConnectionProfileCloudsqlSettingsArgs{
			SourceId:         pulumi.String("string"),
			DataDiskSizeGb:   pulumi.String("string"),
			DatabaseVersion:  pulumi.String("string"),
			Collation:        pulumi.String("string"),
			ActivationPolicy: pulumi.String("string"),
			IpConfig: &databasemigrationservice.ConnectionProfileCloudsqlSettingsIpConfigArgs{
				AuthorizedNetworks: databasemigrationservice.ConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworkArray{
					&databasemigrationservice.ConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworkArgs{
						Value:      pulumi.String("string"),
						ExpireTime: pulumi.String("string"),
						Label:      pulumi.String("string"),
						Ttl:        pulumi.String("string"),
					},
				},
				EnableIpv4:     pulumi.Bool(false),
				PrivateNetwork: pulumi.String("string"),
				RequireSsl:     pulumi.Bool(false),
			},
			DatabaseFlags: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			CmekKeyName:            pulumi.String("string"),
			Edition:                pulumi.String("string"),
			DataDiskType:           pulumi.String("string"),
			RootPassword:           pulumi.String("string"),
			RootPasswordSet:        pulumi.Bool(false),
			AutoStorageIncrease:    pulumi.Bool(false),
			StorageAutoResizeLimit: pulumi.String("string"),
			Tier:                   pulumi.String("string"),
			UserLabels: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			Zone: pulumi.String("string"),
		},
	},
	DisplayName: pulumi.String("string"),
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Location: pulumi.String("string"),
	Mysql: &databasemigrationservice.ConnectionProfileMysqlArgs{
		CloudSqlId:  pulumi.String("string"),
		Host:        pulumi.String("string"),
		Password:    pulumi.String("string"),
		PasswordSet: pulumi.Bool(false),
		Port:        pulumi.Int(0),
		Ssl: &databasemigrationservice.ConnectionProfileMysqlSslArgs{
			CaCertificate:     pulumi.String("string"),
			ClientCertificate: pulumi.String("string"),
			ClientKey:         pulumi.String("string"),
			Type:              pulumi.String("string"),
		},
		Username: pulumi.String("string"),
	},
	Oracle: &databasemigrationservice.ConnectionProfileOracleArgs{
		DatabaseService: pulumi.String("string"),
		Host:            pulumi.String("string"),
		Password:        pulumi.String("string"),
		Port:            pulumi.Int(0),
		Username:        pulumi.String("string"),
		ForwardSshConnectivity: &databasemigrationservice.ConnectionProfileOracleForwardSshConnectivityArgs{
			Hostname:   pulumi.String("string"),
			Port:       pulumi.Int(0),
			Username:   pulumi.String("string"),
			Password:   pulumi.String("string"),
			PrivateKey: pulumi.String("string"),
		},
		PasswordSet: pulumi.Bool(false),
		PrivateConnectivity: &databasemigrationservice.ConnectionProfileOraclePrivateConnectivityArgs{
			PrivateConnection: pulumi.String("string"),
		},
		Ssl: &databasemigrationservice.ConnectionProfileOracleSslArgs{
			CaCertificate:     pulumi.String("string"),
			ClientCertificate: pulumi.String("string"),
			ClientKey:         pulumi.String("string"),
			Type:              pulumi.String("string"),
		},
		StaticServiceIpConnectivity: &databasemigrationservice.ConnectionProfileOracleStaticServiceIpConnectivityArgs{},
	},
	Postgresql: &databasemigrationservice.ConnectionProfilePostgresqlArgs{
		AlloydbClusterId:    pulumi.String("string"),
		CloudSqlId:          pulumi.String("string"),
		Host:                pulumi.String("string"),
		NetworkArchitecture: pulumi.String("string"),
		Password:            pulumi.String("string"),
		PasswordSet:         pulumi.Bool(false),
		Port:                pulumi.Int(0),
		Ssl: &databasemigrationservice.ConnectionProfilePostgresqlSslArgs{
			CaCertificate:     pulumi.String("string"),
			ClientCertificate: pulumi.String("string"),
			ClientKey:         pulumi.String("string"),
			Type:              pulumi.String("string"),
		},
		Username: pulumi.String("string"),
	},
	Project: pulumi.String("string"),
})
Copy
var connectionProfileResource = new ConnectionProfile("connectionProfileResource", ConnectionProfileArgs.builder()
    .connectionProfileId("string")
    .alloydb(ConnectionProfileAlloydbArgs.builder()
        .clusterId("string")
        .settings(ConnectionProfileAlloydbSettingsArgs.builder()
            .initialUser(ConnectionProfileAlloydbSettingsInitialUserArgs.builder()
                .password("string")
                .user("string")
                .passwordSet(false)
                .build())
            .vpcNetwork("string")
            .labels(Map.of("string", "string"))
            .primaryInstanceSettings(ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsArgs.builder()
                .id("string")
                .machineConfig(ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfigArgs.builder()
                    .cpuCount(0)
                    .build())
                .databaseFlags(Map.of("string", "string"))
                .labels(Map.of("string", "string"))
                .privateIp("string")
                .build())
            .build())
        .build())
    .cloudsql(ConnectionProfileCloudsqlArgs.builder()
        .cloudSqlId("string")
        .privateIp("string")
        .publicIp("string")
        .settings(ConnectionProfileCloudsqlSettingsArgs.builder()
            .sourceId("string")
            .dataDiskSizeGb("string")
            .databaseVersion("string")
            .collation("string")
            .activationPolicy("string")
            .ipConfig(ConnectionProfileCloudsqlSettingsIpConfigArgs.builder()
                .authorizedNetworks(ConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworkArgs.builder()
                    .value("string")
                    .expireTime("string")
                    .label("string")
                    .ttl("string")
                    .build())
                .enableIpv4(false)
                .privateNetwork("string")
                .requireSsl(false)
                .build())
            .databaseFlags(Map.of("string", "string"))
            .cmekKeyName("string")
            .edition("string")
            .dataDiskType("string")
            .rootPassword("string")
            .rootPasswordSet(false)
            .autoStorageIncrease(false)
            .storageAutoResizeLimit("string")
            .tier("string")
            .userLabels(Map.of("string", "string"))
            .zone("string")
            .build())
        .build())
    .displayName("string")
    .labels(Map.of("string", "string"))
    .location("string")
    .mysql(ConnectionProfileMysqlArgs.builder()
        .cloudSqlId("string")
        .host("string")
        .password("string")
        .passwordSet(false)
        .port(0)
        .ssl(ConnectionProfileMysqlSslArgs.builder()
            .caCertificate("string")
            .clientCertificate("string")
            .clientKey("string")
            .type("string")
            .build())
        .username("string")
        .build())
    .oracle(ConnectionProfileOracleArgs.builder()
        .databaseService("string")
        .host("string")
        .password("string")
        .port(0)
        .username("string")
        .forwardSshConnectivity(ConnectionProfileOracleForwardSshConnectivityArgs.builder()
            .hostname("string")
            .port(0)
            .username("string")
            .password("string")
            .privateKey("string")
            .build())
        .passwordSet(false)
        .privateConnectivity(ConnectionProfileOraclePrivateConnectivityArgs.builder()
            .privateConnection("string")
            .build())
        .ssl(ConnectionProfileOracleSslArgs.builder()
            .caCertificate("string")
            .clientCertificate("string")
            .clientKey("string")
            .type("string")
            .build())
        .staticServiceIpConnectivity()
        .build())
    .postgresql(ConnectionProfilePostgresqlArgs.builder()
        .alloydbClusterId("string")
        .cloudSqlId("string")
        .host("string")
        .networkArchitecture("string")
        .password("string")
        .passwordSet(false)
        .port(0)
        .ssl(ConnectionProfilePostgresqlSslArgs.builder()
            .caCertificate("string")
            .clientCertificate("string")
            .clientKey("string")
            .type("string")
            .build())
        .username("string")
        .build())
    .project("string")
    .build());
Copy
connection_profile_resource = gcp.databasemigrationservice.ConnectionProfile("connectionProfileResource",
    connection_profile_id="string",
    alloydb={
        "cluster_id": "string",
        "settings": {
            "initial_user": {
                "password": "string",
                "user": "string",
                "password_set": False,
            },
            "vpc_network": "string",
            "labels": {
                "string": "string",
            },
            "primary_instance_settings": {
                "id": "string",
                "machine_config": {
                    "cpu_count": 0,
                },
                "database_flags": {
                    "string": "string",
                },
                "labels": {
                    "string": "string",
                },
                "private_ip": "string",
            },
        },
    },
    cloudsql={
        "cloud_sql_id": "string",
        "private_ip": "string",
        "public_ip": "string",
        "settings": {
            "source_id": "string",
            "data_disk_size_gb": "string",
            "database_version": "string",
            "collation": "string",
            "activation_policy": "string",
            "ip_config": {
                "authorized_networks": [{
                    "value": "string",
                    "expire_time": "string",
                    "label": "string",
                    "ttl": "string",
                }],
                "enable_ipv4": False,
                "private_network": "string",
                "require_ssl": False,
            },
            "database_flags": {
                "string": "string",
            },
            "cmek_key_name": "string",
            "edition": "string",
            "data_disk_type": "string",
            "root_password": "string",
            "root_password_set": False,
            "auto_storage_increase": False,
            "storage_auto_resize_limit": "string",
            "tier": "string",
            "user_labels": {
                "string": "string",
            },
            "zone": "string",
        },
    },
    display_name="string",
    labels={
        "string": "string",
    },
    location="string",
    mysql={
        "cloud_sql_id": "string",
        "host": "string",
        "password": "string",
        "password_set": False,
        "port": 0,
        "ssl": {
            "ca_certificate": "string",
            "client_certificate": "string",
            "client_key": "string",
            "type": "string",
        },
        "username": "string",
    },
    oracle={
        "database_service": "string",
        "host": "string",
        "password": "string",
        "port": 0,
        "username": "string",
        "forward_ssh_connectivity": {
            "hostname": "string",
            "port": 0,
            "username": "string",
            "password": "string",
            "private_key": "string",
        },
        "password_set": False,
        "private_connectivity": {
            "private_connection": "string",
        },
        "ssl": {
            "ca_certificate": "string",
            "client_certificate": "string",
            "client_key": "string",
            "type": "string",
        },
        "static_service_ip_connectivity": {},
    },
    postgresql={
        "alloydb_cluster_id": "string",
        "cloud_sql_id": "string",
        "host": "string",
        "network_architecture": "string",
        "password": "string",
        "password_set": False,
        "port": 0,
        "ssl": {
            "ca_certificate": "string",
            "client_certificate": "string",
            "client_key": "string",
            "type": "string",
        },
        "username": "string",
    },
    project="string")
Copy
const connectionProfileResource = new gcp.databasemigrationservice.ConnectionProfile("connectionProfileResource", {
    connectionProfileId: "string",
    alloydb: {
        clusterId: "string",
        settings: {
            initialUser: {
                password: "string",
                user: "string",
                passwordSet: false,
            },
            vpcNetwork: "string",
            labels: {
                string: "string",
            },
            primaryInstanceSettings: {
                id: "string",
                machineConfig: {
                    cpuCount: 0,
                },
                databaseFlags: {
                    string: "string",
                },
                labels: {
                    string: "string",
                },
                privateIp: "string",
            },
        },
    },
    cloudsql: {
        cloudSqlId: "string",
        privateIp: "string",
        publicIp: "string",
        settings: {
            sourceId: "string",
            dataDiskSizeGb: "string",
            databaseVersion: "string",
            collation: "string",
            activationPolicy: "string",
            ipConfig: {
                authorizedNetworks: [{
                    value: "string",
                    expireTime: "string",
                    label: "string",
                    ttl: "string",
                }],
                enableIpv4: false,
                privateNetwork: "string",
                requireSsl: false,
            },
            databaseFlags: {
                string: "string",
            },
            cmekKeyName: "string",
            edition: "string",
            dataDiskType: "string",
            rootPassword: "string",
            rootPasswordSet: false,
            autoStorageIncrease: false,
            storageAutoResizeLimit: "string",
            tier: "string",
            userLabels: {
                string: "string",
            },
            zone: "string",
        },
    },
    displayName: "string",
    labels: {
        string: "string",
    },
    location: "string",
    mysql: {
        cloudSqlId: "string",
        host: "string",
        password: "string",
        passwordSet: false,
        port: 0,
        ssl: {
            caCertificate: "string",
            clientCertificate: "string",
            clientKey: "string",
            type: "string",
        },
        username: "string",
    },
    oracle: {
        databaseService: "string",
        host: "string",
        password: "string",
        port: 0,
        username: "string",
        forwardSshConnectivity: {
            hostname: "string",
            port: 0,
            username: "string",
            password: "string",
            privateKey: "string",
        },
        passwordSet: false,
        privateConnectivity: {
            privateConnection: "string",
        },
        ssl: {
            caCertificate: "string",
            clientCertificate: "string",
            clientKey: "string",
            type: "string",
        },
        staticServiceIpConnectivity: {},
    },
    postgresql: {
        alloydbClusterId: "string",
        cloudSqlId: "string",
        host: "string",
        networkArchitecture: "string",
        password: "string",
        passwordSet: false,
        port: 0,
        ssl: {
            caCertificate: "string",
            clientCertificate: "string",
            clientKey: "string",
            type: "string",
        },
        username: "string",
    },
    project: "string",
});
Copy
type: gcp:databasemigrationservice:ConnectionProfile
properties:
    alloydb:
        clusterId: string
        settings:
            initialUser:
                password: string
                passwordSet: false
                user: string
            labels:
                string: string
            primaryInstanceSettings:
                databaseFlags:
                    string: string
                id: string
                labels:
                    string: string
                machineConfig:
                    cpuCount: 0
                privateIp: string
            vpcNetwork: string
    cloudsql:
        cloudSqlId: string
        privateIp: string
        publicIp: string
        settings:
            activationPolicy: string
            autoStorageIncrease: false
            cmekKeyName: string
            collation: string
            dataDiskSizeGb: string
            dataDiskType: string
            databaseFlags:
                string: string
            databaseVersion: string
            edition: string
            ipConfig:
                authorizedNetworks:
                    - expireTime: string
                      label: string
                      ttl: string
                      value: string
                enableIpv4: false
                privateNetwork: string
                requireSsl: false
            rootPassword: string
            rootPasswordSet: false
            sourceId: string
            storageAutoResizeLimit: string
            tier: string
            userLabels:
                string: string
            zone: string
    connectionProfileId: string
    displayName: string
    labels:
        string: string
    location: string
    mysql:
        cloudSqlId: string
        host: string
        password: string
        passwordSet: false
        port: 0
        ssl:
            caCertificate: string
            clientCertificate: string
            clientKey: string
            type: string
        username: string
    oracle:
        databaseService: string
        forwardSshConnectivity:
            hostname: string
            password: string
            port: 0
            privateKey: string
            username: string
        host: string
        password: string
        passwordSet: false
        port: 0
        privateConnectivity:
            privateConnection: string
        ssl:
            caCertificate: string
            clientCertificate: string
            clientKey: string
            type: string
        staticServiceIpConnectivity: {}
        username: string
    postgresql:
        alloydbClusterId: string
        cloudSqlId: string
        host: string
        networkArchitecture: string
        password: string
        passwordSet: false
        port: 0
        ssl:
            caCertificate: string
            clientCertificate: string
            clientKey: string
            type: string
        username: string
    project: string
Copy

ConnectionProfile 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 ConnectionProfile resource accepts the following input properties:

ConnectionProfileId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the connection profile.


Alloydb ConnectionProfileAlloydb
Specifies required connection parameters, and the parameters required to create an AlloyDB destination cluster. Structure is documented below.
Cloudsql ConnectionProfileCloudsql
Specifies required connection parameters, and, optionally, the parameters required to create a Cloud SQL destination database instance. Structure is documented below.
DisplayName string
The connection profile display name.
Labels Dictionary<string, string>

The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs.

Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

Location Changes to this property will trigger replacement. string
The location where the connection profile should reside.
Mysql ConnectionProfileMysql
Specifies connection parameters required specifically for MySQL databases. Structure is documented below.
Oracle ConnectionProfileOracle
Specifies connection parameters required specifically for Oracle databases. Structure is documented below.
Postgresql ConnectionProfilePostgresql
Specifies connection parameters required specifically for PostgreSQL databases. Structure is documented below.
Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
ConnectionProfileId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the connection profile.


Alloydb ConnectionProfileAlloydbArgs
Specifies required connection parameters, and the parameters required to create an AlloyDB destination cluster. Structure is documented below.
Cloudsql ConnectionProfileCloudsqlArgs
Specifies required connection parameters, and, optionally, the parameters required to create a Cloud SQL destination database instance. Structure is documented below.
DisplayName string
The connection profile display name.
Labels map[string]string

The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs.

Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

Location Changes to this property will trigger replacement. string
The location where the connection profile should reside.
Mysql ConnectionProfileMysqlArgs
Specifies connection parameters required specifically for MySQL databases. Structure is documented below.
Oracle ConnectionProfileOracleArgs
Specifies connection parameters required specifically for Oracle databases. Structure is documented below.
Postgresql ConnectionProfilePostgresqlArgs
Specifies connection parameters required specifically for PostgreSQL databases. Structure is documented below.
Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
connectionProfileId
This property is required.
Changes to this property will trigger replacement.
String
The ID of the connection profile.


alloydb ConnectionProfileAlloydb
Specifies required connection parameters, and the parameters required to create an AlloyDB destination cluster. Structure is documented below.
cloudsql ConnectionProfileCloudsql
Specifies required connection parameters, and, optionally, the parameters required to create a Cloud SQL destination database instance. Structure is documented below.
displayName String
The connection profile display name.
labels Map<String,String>

The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs.

Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

location Changes to this property will trigger replacement. String
The location where the connection profile should reside.
mysql ConnectionProfileMysql
Specifies connection parameters required specifically for MySQL databases. Structure is documented below.
oracle ConnectionProfileOracle
Specifies connection parameters required specifically for Oracle databases. Structure is documented below.
postgresql ConnectionProfilePostgresql
Specifies connection parameters required specifically for PostgreSQL databases. Structure is documented below.
project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
connectionProfileId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the connection profile.


alloydb ConnectionProfileAlloydb
Specifies required connection parameters, and the parameters required to create an AlloyDB destination cluster. Structure is documented below.
cloudsql ConnectionProfileCloudsql
Specifies required connection parameters, and, optionally, the parameters required to create a Cloud SQL destination database instance. Structure is documented below.
displayName string
The connection profile display name.
labels {[key: string]: string}

The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs.

Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

location Changes to this property will trigger replacement. string
The location where the connection profile should reside.
mysql ConnectionProfileMysql
Specifies connection parameters required specifically for MySQL databases. Structure is documented below.
oracle ConnectionProfileOracle
Specifies connection parameters required specifically for Oracle databases. Structure is documented below.
postgresql ConnectionProfilePostgresql
Specifies connection parameters required specifically for PostgreSQL databases. Structure is documented below.
project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
connection_profile_id
This property is required.
Changes to this property will trigger replacement.
str
The ID of the connection profile.


alloydb ConnectionProfileAlloydbArgs
Specifies required connection parameters, and the parameters required to create an AlloyDB destination cluster. Structure is documented below.
cloudsql ConnectionProfileCloudsqlArgs
Specifies required connection parameters, and, optionally, the parameters required to create a Cloud SQL destination database instance. Structure is documented below.
display_name str
The connection profile display name.
labels Mapping[str, str]

The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs.

Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

location Changes to this property will trigger replacement. str
The location where the connection profile should reside.
mysql ConnectionProfileMysqlArgs
Specifies connection parameters required specifically for MySQL databases. Structure is documented below.
oracle ConnectionProfileOracleArgs
Specifies connection parameters required specifically for Oracle databases. Structure is documented below.
postgresql ConnectionProfilePostgresqlArgs
Specifies connection parameters required specifically for PostgreSQL databases. Structure is documented below.
project Changes to this property will trigger replacement. str
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
connectionProfileId
This property is required.
Changes to this property will trigger replacement.
String
The ID of the connection profile.


alloydb Property Map
Specifies required connection parameters, and the parameters required to create an AlloyDB destination cluster. Structure is documented below.
cloudsql Property Map
Specifies required connection parameters, and, optionally, the parameters required to create a Cloud SQL destination database instance. Structure is documented below.
displayName String
The connection profile display name.
labels Map<String>

The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs.

Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

location Changes to this property will trigger replacement. String
The location where the connection profile should reside.
mysql Property Map
Specifies connection parameters required specifically for MySQL databases. Structure is documented below.
oracle Property Map
Specifies connection parameters required specifically for Oracle databases. Structure is documented below.
postgresql Property Map
Specifies connection parameters required specifically for PostgreSQL databases. Structure is documented below.
project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Outputs

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

CreateTime string
Output only. The timestamp when the resource was created. A timestamp in RFC3339 UTC 'Zulu' format, accurate to nanoseconds. Example: '2014-10-02T15:01:23.045123456Z'.
Dbprovider string
The database provider.
EffectiveLabels Dictionary<string, string>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Errors List<ConnectionProfileError>
Output only. The error details in case of state FAILED. Structure is documented below.
Id string
The provider-assigned unique ID for this managed resource.
Name string
The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
PulumiLabels Dictionary<string, string>
The combination of labels configured directly on the resource and default labels configured on the provider.
State string
The current connection profile state.
CreateTime string
Output only. The timestamp when the resource was created. A timestamp in RFC3339 UTC 'Zulu' format, accurate to nanoseconds. Example: '2014-10-02T15:01:23.045123456Z'.
Dbprovider string
The database provider.
EffectiveLabels map[string]string
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Errors []ConnectionProfileError
Output only. The error details in case of state FAILED. Structure is documented below.
Id string
The provider-assigned unique ID for this managed resource.
Name string
The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
PulumiLabels map[string]string
The combination of labels configured directly on the resource and default labels configured on the provider.
State string
The current connection profile state.
createTime String
Output only. The timestamp when the resource was created. A timestamp in RFC3339 UTC 'Zulu' format, accurate to nanoseconds. Example: '2014-10-02T15:01:23.045123456Z'.
dbprovider String
The database provider.
effectiveLabels Map<String,String>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
errors List<ConnectionProfileError>
Output only. The error details in case of state FAILED. Structure is documented below.
id String
The provider-assigned unique ID for this managed resource.
name String
The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
pulumiLabels Map<String,String>
The combination of labels configured directly on the resource and default labels configured on the provider.
state String
The current connection profile state.
createTime string
Output only. The timestamp when the resource was created. A timestamp in RFC3339 UTC 'Zulu' format, accurate to nanoseconds. Example: '2014-10-02T15:01:23.045123456Z'.
dbprovider string
The database provider.
effectiveLabels {[key: string]: string}
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
errors ConnectionProfileError[]
Output only. The error details in case of state FAILED. Structure is documented below.
id string
The provider-assigned unique ID for this managed resource.
name string
The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
pulumiLabels {[key: string]: string}
The combination of labels configured directly on the resource and default labels configured on the provider.
state string
The current connection profile state.
create_time str
Output only. The timestamp when the resource was created. A timestamp in RFC3339 UTC 'Zulu' format, accurate to nanoseconds. Example: '2014-10-02T15:01:23.045123456Z'.
dbprovider str
The database provider.
effective_labels Mapping[str, str]
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
errors Sequence[ConnectionProfileError]
Output only. The error details in case of state FAILED. Structure is documented below.
id str
The provider-assigned unique ID for this managed resource.
name str
The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
pulumi_labels Mapping[str, str]
The combination of labels configured directly on the resource and default labels configured on the provider.
state str
The current connection profile state.
createTime String
Output only. The timestamp when the resource was created. A timestamp in RFC3339 UTC 'Zulu' format, accurate to nanoseconds. Example: '2014-10-02T15:01:23.045123456Z'.
dbprovider String
The database provider.
effectiveLabels Map<String>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
errors List<Property Map>
Output only. The error details in case of state FAILED. Structure is documented below.
id String
The provider-assigned unique ID for this managed resource.
name String
The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
pulumiLabels Map<String>
The combination of labels configured directly on the resource and default labels configured on the provider.
state String
The current connection profile state.

Look up Existing ConnectionProfile Resource

Get an existing ConnectionProfile 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?: ConnectionProfileState, opts?: CustomResourceOptions): ConnectionProfile
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        alloydb: Optional[ConnectionProfileAlloydbArgs] = None,
        cloudsql: Optional[ConnectionProfileCloudsqlArgs] = None,
        connection_profile_id: Optional[str] = None,
        create_time: Optional[str] = None,
        dbprovider: Optional[str] = None,
        display_name: Optional[str] = None,
        effective_labels: Optional[Mapping[str, str]] = None,
        errors: Optional[Sequence[ConnectionProfileErrorArgs]] = None,
        labels: Optional[Mapping[str, str]] = None,
        location: Optional[str] = None,
        mysql: Optional[ConnectionProfileMysqlArgs] = None,
        name: Optional[str] = None,
        oracle: Optional[ConnectionProfileOracleArgs] = None,
        postgresql: Optional[ConnectionProfilePostgresqlArgs] = None,
        project: Optional[str] = None,
        pulumi_labels: Optional[Mapping[str, str]] = None,
        state: Optional[str] = None) -> ConnectionProfile
func GetConnectionProfile(ctx *Context, name string, id IDInput, state *ConnectionProfileState, opts ...ResourceOption) (*ConnectionProfile, error)
public static ConnectionProfile Get(string name, Input<string> id, ConnectionProfileState? state, CustomResourceOptions? opts = null)
public static ConnectionProfile get(String name, Output<String> id, ConnectionProfileState state, CustomResourceOptions options)
resources:  _:    type: gcp:databasemigrationservice:ConnectionProfile    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:
Alloydb ConnectionProfileAlloydb
Specifies required connection parameters, and the parameters required to create an AlloyDB destination cluster. Structure is documented below.
Cloudsql ConnectionProfileCloudsql
Specifies required connection parameters, and, optionally, the parameters required to create a Cloud SQL destination database instance. Structure is documented below.
ConnectionProfileId Changes to this property will trigger replacement. string
The ID of the connection profile.


CreateTime string
Output only. The timestamp when the resource was created. A timestamp in RFC3339 UTC 'Zulu' format, accurate to nanoseconds. Example: '2014-10-02T15:01:23.045123456Z'.
Dbprovider string
The database provider.
DisplayName string
The connection profile display name.
EffectiveLabels Dictionary<string, string>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Errors List<ConnectionProfileError>
Output only. The error details in case of state FAILED. Structure is documented below.
Labels Dictionary<string, string>

The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs.

Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

Location Changes to this property will trigger replacement. string
The location where the connection profile should reside.
Mysql ConnectionProfileMysql
Specifies connection parameters required specifically for MySQL databases. Structure is documented below.
Name string
The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
Oracle ConnectionProfileOracle
Specifies connection parameters required specifically for Oracle databases. Structure is documented below.
Postgresql ConnectionProfilePostgresql
Specifies connection parameters required specifically for PostgreSQL databases. Structure is documented below.
Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
PulumiLabels Dictionary<string, string>
The combination of labels configured directly on the resource and default labels configured on the provider.
State string
The current connection profile state.
Alloydb ConnectionProfileAlloydbArgs
Specifies required connection parameters, and the parameters required to create an AlloyDB destination cluster. Structure is documented below.
Cloudsql ConnectionProfileCloudsqlArgs
Specifies required connection parameters, and, optionally, the parameters required to create a Cloud SQL destination database instance. Structure is documented below.
ConnectionProfileId Changes to this property will trigger replacement. string
The ID of the connection profile.


CreateTime string
Output only. The timestamp when the resource was created. A timestamp in RFC3339 UTC 'Zulu' format, accurate to nanoseconds. Example: '2014-10-02T15:01:23.045123456Z'.
Dbprovider string
The database provider.
DisplayName string
The connection profile display name.
EffectiveLabels map[string]string
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Errors []ConnectionProfileErrorArgs
Output only. The error details in case of state FAILED. Structure is documented below.
Labels map[string]string

The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs.

Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

Location Changes to this property will trigger replacement. string
The location where the connection profile should reside.
Mysql ConnectionProfileMysqlArgs
Specifies connection parameters required specifically for MySQL databases. Structure is documented below.
Name string
The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
Oracle ConnectionProfileOracleArgs
Specifies connection parameters required specifically for Oracle databases. Structure is documented below.
Postgresql ConnectionProfilePostgresqlArgs
Specifies connection parameters required specifically for PostgreSQL databases. Structure is documented below.
Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
PulumiLabels map[string]string
The combination of labels configured directly on the resource and default labels configured on the provider.
State string
The current connection profile state.
alloydb ConnectionProfileAlloydb
Specifies required connection parameters, and the parameters required to create an AlloyDB destination cluster. Structure is documented below.
cloudsql ConnectionProfileCloudsql
Specifies required connection parameters, and, optionally, the parameters required to create a Cloud SQL destination database instance. Structure is documented below.
connectionProfileId Changes to this property will trigger replacement. String
The ID of the connection profile.


createTime String
Output only. The timestamp when the resource was created. A timestamp in RFC3339 UTC 'Zulu' format, accurate to nanoseconds. Example: '2014-10-02T15:01:23.045123456Z'.
dbprovider String
The database provider.
displayName String
The connection profile display name.
effectiveLabels Map<String,String>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
errors List<ConnectionProfileError>
Output only. The error details in case of state FAILED. Structure is documented below.
labels Map<String,String>

The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs.

Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

location Changes to this property will trigger replacement. String
The location where the connection profile should reside.
mysql ConnectionProfileMysql
Specifies connection parameters required specifically for MySQL databases. Structure is documented below.
name String
The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
oracle ConnectionProfileOracle
Specifies connection parameters required specifically for Oracle databases. Structure is documented below.
postgresql ConnectionProfilePostgresql
Specifies connection parameters required specifically for PostgreSQL databases. Structure is documented below.
project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
pulumiLabels Map<String,String>
The combination of labels configured directly on the resource and default labels configured on the provider.
state String
The current connection profile state.
alloydb ConnectionProfileAlloydb
Specifies required connection parameters, and the parameters required to create an AlloyDB destination cluster. Structure is documented below.
cloudsql ConnectionProfileCloudsql
Specifies required connection parameters, and, optionally, the parameters required to create a Cloud SQL destination database instance. Structure is documented below.
connectionProfileId Changes to this property will trigger replacement. string
The ID of the connection profile.


createTime string
Output only. The timestamp when the resource was created. A timestamp in RFC3339 UTC 'Zulu' format, accurate to nanoseconds. Example: '2014-10-02T15:01:23.045123456Z'.
dbprovider string
The database provider.
displayName string
The connection profile display name.
effectiveLabels {[key: string]: string}
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
errors ConnectionProfileError[]
Output only. The error details in case of state FAILED. Structure is documented below.
labels {[key: string]: string}

The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs.

Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

location Changes to this property will trigger replacement. string
The location where the connection profile should reside.
mysql ConnectionProfileMysql
Specifies connection parameters required specifically for MySQL databases. Structure is documented below.
name string
The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
oracle ConnectionProfileOracle
Specifies connection parameters required specifically for Oracle databases. Structure is documented below.
postgresql ConnectionProfilePostgresql
Specifies connection parameters required specifically for PostgreSQL databases. Structure is documented below.
project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
pulumiLabels {[key: string]: string}
The combination of labels configured directly on the resource and default labels configured on the provider.
state string
The current connection profile state.
alloydb ConnectionProfileAlloydbArgs
Specifies required connection parameters, and the parameters required to create an AlloyDB destination cluster. Structure is documented below.
cloudsql ConnectionProfileCloudsqlArgs
Specifies required connection parameters, and, optionally, the parameters required to create a Cloud SQL destination database instance. Structure is documented below.
connection_profile_id Changes to this property will trigger replacement. str
The ID of the connection profile.


create_time str
Output only. The timestamp when the resource was created. A timestamp in RFC3339 UTC 'Zulu' format, accurate to nanoseconds. Example: '2014-10-02T15:01:23.045123456Z'.
dbprovider str
The database provider.
display_name str
The connection profile display name.
effective_labels Mapping[str, str]
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
errors Sequence[ConnectionProfileErrorArgs]
Output only. The error details in case of state FAILED. Structure is documented below.
labels Mapping[str, str]

The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs.

Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

location Changes to this property will trigger replacement. str
The location where the connection profile should reside.
mysql ConnectionProfileMysqlArgs
Specifies connection parameters required specifically for MySQL databases. Structure is documented below.
name str
The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
oracle ConnectionProfileOracleArgs
Specifies connection parameters required specifically for Oracle databases. Structure is documented below.
postgresql ConnectionProfilePostgresqlArgs
Specifies connection parameters required specifically for PostgreSQL databases. Structure is documented below.
project Changes to this property will trigger replacement. str
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
pulumi_labels Mapping[str, str]
The combination of labels configured directly on the resource and default labels configured on the provider.
state str
The current connection profile state.
alloydb Property Map
Specifies required connection parameters, and the parameters required to create an AlloyDB destination cluster. Structure is documented below.
cloudsql Property Map
Specifies required connection parameters, and, optionally, the parameters required to create a Cloud SQL destination database instance. Structure is documented below.
connectionProfileId Changes to this property will trigger replacement. String
The ID of the connection profile.


createTime String
Output only. The timestamp when the resource was created. A timestamp in RFC3339 UTC 'Zulu' format, accurate to nanoseconds. Example: '2014-10-02T15:01:23.045123456Z'.
dbprovider String
The database provider.
displayName String
The connection profile display name.
effectiveLabels Map<String>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
errors List<Property Map>
Output only. The error details in case of state FAILED. Structure is documented below.
labels Map<String>

The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs.

Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

location Changes to this property will trigger replacement. String
The location where the connection profile should reside.
mysql Property Map
Specifies connection parameters required specifically for MySQL databases. Structure is documented below.
name String
The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
oracle Property Map
Specifies connection parameters required specifically for Oracle databases. Structure is documented below.
postgresql Property Map
Specifies connection parameters required specifically for PostgreSQL databases. Structure is documented below.
project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
pulumiLabels Map<String>
The combination of labels configured directly on the resource and default labels configured on the provider.
state String
The current connection profile state.

Supporting Types

ConnectionProfileAlloydb
, ConnectionProfileAlloydbArgs

ClusterId This property is required. string
Required. The AlloyDB cluster ID that this connection profile is associated with.
Settings Changes to this property will trigger replacement. ConnectionProfileAlloydbSettings
Immutable. Metadata used to create the destination AlloyDB cluster. Structure is documented below.
ClusterId This property is required. string
Required. The AlloyDB cluster ID that this connection profile is associated with.
Settings Changes to this property will trigger replacement. ConnectionProfileAlloydbSettings
Immutable. Metadata used to create the destination AlloyDB cluster. Structure is documented below.
clusterId This property is required. String
Required. The AlloyDB cluster ID that this connection profile is associated with.
settings Changes to this property will trigger replacement. ConnectionProfileAlloydbSettings
Immutable. Metadata used to create the destination AlloyDB cluster. Structure is documented below.
clusterId This property is required. string
Required. The AlloyDB cluster ID that this connection profile is associated with.
settings Changes to this property will trigger replacement. ConnectionProfileAlloydbSettings
Immutable. Metadata used to create the destination AlloyDB cluster. Structure is documented below.
cluster_id This property is required. str
Required. The AlloyDB cluster ID that this connection profile is associated with.
settings Changes to this property will trigger replacement. ConnectionProfileAlloydbSettings
Immutable. Metadata used to create the destination AlloyDB cluster. Structure is documented below.
clusterId This property is required. String
Required. The AlloyDB cluster ID that this connection profile is associated with.
settings Changes to this property will trigger replacement. Property Map
Immutable. Metadata used to create the destination AlloyDB cluster. Structure is documented below.

ConnectionProfileAlloydbSettings
, ConnectionProfileAlloydbSettingsArgs

InitialUser
This property is required.
Changes to this property will trigger replacement.
ConnectionProfileAlloydbSettingsInitialUser
Required. Input only. Initial user to setup during cluster creation. Structure is documented below.
VpcNetwork This property is required. string
Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: 'projects/{project_number}/global/networks/{network_id}'. This is required to create a cluster.
Labels Dictionary<string, string>
Labels for the AlloyDB cluster created by DMS.
PrimaryInstanceSettings ConnectionProfileAlloydbSettingsPrimaryInstanceSettings
Settings for the cluster's primary instance Structure is documented below.
InitialUser
This property is required.
Changes to this property will trigger replacement.
ConnectionProfileAlloydbSettingsInitialUser
Required. Input only. Initial user to setup during cluster creation. Structure is documented below.
VpcNetwork This property is required. string
Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: 'projects/{project_number}/global/networks/{network_id}'. This is required to create a cluster.
Labels map[string]string
Labels for the AlloyDB cluster created by DMS.
PrimaryInstanceSettings ConnectionProfileAlloydbSettingsPrimaryInstanceSettings
Settings for the cluster's primary instance Structure is documented below.
initialUser
This property is required.
Changes to this property will trigger replacement.
ConnectionProfileAlloydbSettingsInitialUser
Required. Input only. Initial user to setup during cluster creation. Structure is documented below.
vpcNetwork This property is required. String
Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: 'projects/{project_number}/global/networks/{network_id}'. This is required to create a cluster.
labels Map<String,String>
Labels for the AlloyDB cluster created by DMS.
primaryInstanceSettings ConnectionProfileAlloydbSettingsPrimaryInstanceSettings
Settings for the cluster's primary instance Structure is documented below.
initialUser
This property is required.
Changes to this property will trigger replacement.
ConnectionProfileAlloydbSettingsInitialUser
Required. Input only. Initial user to setup during cluster creation. Structure is documented below.
vpcNetwork This property is required. string
Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: 'projects/{project_number}/global/networks/{network_id}'. This is required to create a cluster.
labels {[key: string]: string}
Labels for the AlloyDB cluster created by DMS.
primaryInstanceSettings ConnectionProfileAlloydbSettingsPrimaryInstanceSettings
Settings for the cluster's primary instance Structure is documented below.
initial_user
This property is required.
Changes to this property will trigger replacement.
ConnectionProfileAlloydbSettingsInitialUser
Required. Input only. Initial user to setup during cluster creation. Structure is documented below.
vpc_network This property is required. str
Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: 'projects/{project_number}/global/networks/{network_id}'. This is required to create a cluster.
labels Mapping[str, str]
Labels for the AlloyDB cluster created by DMS.
primary_instance_settings ConnectionProfileAlloydbSettingsPrimaryInstanceSettings
Settings for the cluster's primary instance Structure is documented below.
initialUser
This property is required.
Changes to this property will trigger replacement.
Property Map
Required. Input only. Initial user to setup during cluster creation. Structure is documented below.
vpcNetwork This property is required. String
Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: 'projects/{project_number}/global/networks/{network_id}'. This is required to create a cluster.
labels Map<String>
Labels for the AlloyDB cluster created by DMS.
primaryInstanceSettings Property Map
Settings for the cluster's primary instance Structure is documented below.

ConnectionProfileAlloydbSettingsInitialUser
, ConnectionProfileAlloydbSettingsInitialUserArgs

Password This property is required. string
The initial password for the user. Note: This property is sensitive and will not be displayed in the plan.
User This property is required. string
The database username.
PasswordSet bool
(Output) Output only. Indicates if the initialUser.password field has been set.
Password This property is required. string
The initial password for the user. Note: This property is sensitive and will not be displayed in the plan.
User This property is required. string
The database username.
PasswordSet bool
(Output) Output only. Indicates if the initialUser.password field has been set.
password This property is required. String
The initial password for the user. Note: This property is sensitive and will not be displayed in the plan.
user This property is required. String
The database username.
passwordSet Boolean
(Output) Output only. Indicates if the initialUser.password field has been set.
password This property is required. string
The initial password for the user. Note: This property is sensitive and will not be displayed in the plan.
user This property is required. string
The database username.
passwordSet boolean
(Output) Output only. Indicates if the initialUser.password field has been set.
password This property is required. str
The initial password for the user. Note: This property is sensitive and will not be displayed in the plan.
user This property is required. str
The database username.
password_set bool
(Output) Output only. Indicates if the initialUser.password field has been set.
password This property is required. String
The initial password for the user. Note: This property is sensitive and will not be displayed in the plan.
user This property is required. String
The database username.
passwordSet Boolean
(Output) Output only. Indicates if the initialUser.password field has been set.

ConnectionProfileAlloydbSettingsPrimaryInstanceSettings
, ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsArgs

Id This property is required. string
The database username.
MachineConfig
This property is required.
Changes to this property will trigger replacement.
ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfig
Configuration for the machines that host the underlying database engine. Structure is documented below.
DatabaseFlags Dictionary<string, string>
Database flags to pass to AlloyDB when DMS is creating the AlloyDB cluster and instances. See the AlloyDB documentation for how these can be used.
Labels Dictionary<string, string>
Labels for the AlloyDB primary instance created by DMS.
PrivateIp string
(Output) Output only. The private IP address for the Instance. This is the connection endpoint for an end-user application.
Id This property is required. string
The database username.
MachineConfig
This property is required.
Changes to this property will trigger replacement.
ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfig
Configuration for the machines that host the underlying database engine. Structure is documented below.
DatabaseFlags map[string]string
Database flags to pass to AlloyDB when DMS is creating the AlloyDB cluster and instances. See the AlloyDB documentation for how these can be used.
Labels map[string]string
Labels for the AlloyDB primary instance created by DMS.
PrivateIp string
(Output) Output only. The private IP address for the Instance. This is the connection endpoint for an end-user application.
id This property is required. String
The database username.
machineConfig
This property is required.
Changes to this property will trigger replacement.
ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfig
Configuration for the machines that host the underlying database engine. Structure is documented below.
databaseFlags Map<String,String>
Database flags to pass to AlloyDB when DMS is creating the AlloyDB cluster and instances. See the AlloyDB documentation for how these can be used.
labels Map<String,String>
Labels for the AlloyDB primary instance created by DMS.
privateIp String
(Output) Output only. The private IP address for the Instance. This is the connection endpoint for an end-user application.
id This property is required. string
The database username.
machineConfig
This property is required.
Changes to this property will trigger replacement.
ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfig
Configuration for the machines that host the underlying database engine. Structure is documented below.
databaseFlags {[key: string]: string}
Database flags to pass to AlloyDB when DMS is creating the AlloyDB cluster and instances. See the AlloyDB documentation for how these can be used.
labels {[key: string]: string}
Labels for the AlloyDB primary instance created by DMS.
privateIp string
(Output) Output only. The private IP address for the Instance. This is the connection endpoint for an end-user application.
id This property is required. str
The database username.
machine_config
This property is required.
Changes to this property will trigger replacement.
ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfig
Configuration for the machines that host the underlying database engine. Structure is documented below.
database_flags Mapping[str, str]
Database flags to pass to AlloyDB when DMS is creating the AlloyDB cluster and instances. See the AlloyDB documentation for how these can be used.
labels Mapping[str, str]
Labels for the AlloyDB primary instance created by DMS.
private_ip str
(Output) Output only. The private IP address for the Instance. This is the connection endpoint for an end-user application.
id This property is required. String
The database username.
machineConfig
This property is required.
Changes to this property will trigger replacement.
Property Map
Configuration for the machines that host the underlying database engine. Structure is documented below.
databaseFlags Map<String>
Database flags to pass to AlloyDB when DMS is creating the AlloyDB cluster and instances. See the AlloyDB documentation for how these can be used.
labels Map<String>
Labels for the AlloyDB primary instance created by DMS.
privateIp String
(Output) Output only. The private IP address for the Instance. This is the connection endpoint for an end-user application.

ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfig
, ConnectionProfileAlloydbSettingsPrimaryInstanceSettingsMachineConfigArgs

CpuCount This property is required. int
The number of CPU's in the VM instance.
CpuCount This property is required. int
The number of CPU's in the VM instance.
cpuCount This property is required. Integer
The number of CPU's in the VM instance.
cpuCount This property is required. number
The number of CPU's in the VM instance.
cpu_count This property is required. int
The number of CPU's in the VM instance.
cpuCount This property is required. Number
The number of CPU's in the VM instance.

ConnectionProfileCloudsql
, ConnectionProfileCloudsqlArgs

CloudSqlId string
(Output) Output only. The Cloud SQL instance ID that this connection profile is associated with.
PrivateIp string
(Output) Output only. The Cloud SQL database instance's private IP.
PublicIp string
(Output) Output only. The Cloud SQL database instance's public IP.
Settings Changes to this property will trigger replacement. ConnectionProfileCloudsqlSettings
Immutable. Metadata used to create the destination Cloud SQL database. Structure is documented below.
CloudSqlId string
(Output) Output only. The Cloud SQL instance ID that this connection profile is associated with.
PrivateIp string
(Output) Output only. The Cloud SQL database instance's private IP.
PublicIp string
(Output) Output only. The Cloud SQL database instance's public IP.
Settings Changes to this property will trigger replacement. ConnectionProfileCloudsqlSettings
Immutable. Metadata used to create the destination Cloud SQL database. Structure is documented below.
cloudSqlId String
(Output) Output only. The Cloud SQL instance ID that this connection profile is associated with.
privateIp String
(Output) Output only. The Cloud SQL database instance's private IP.
publicIp String
(Output) Output only. The Cloud SQL database instance's public IP.
settings Changes to this property will trigger replacement. ConnectionProfileCloudsqlSettings
Immutable. Metadata used to create the destination Cloud SQL database. Structure is documented below.
cloudSqlId string
(Output) Output only. The Cloud SQL instance ID that this connection profile is associated with.
privateIp string
(Output) Output only. The Cloud SQL database instance's private IP.
publicIp string
(Output) Output only. The Cloud SQL database instance's public IP.
settings Changes to this property will trigger replacement. ConnectionProfileCloudsqlSettings
Immutable. Metadata used to create the destination Cloud SQL database. Structure is documented below.
cloud_sql_id str
(Output) Output only. The Cloud SQL instance ID that this connection profile is associated with.
private_ip str
(Output) Output only. The Cloud SQL database instance's private IP.
public_ip str
(Output) Output only. The Cloud SQL database instance's public IP.
settings Changes to this property will trigger replacement. ConnectionProfileCloudsqlSettings
Immutable. Metadata used to create the destination Cloud SQL database. Structure is documented below.
cloudSqlId String
(Output) Output only. The Cloud SQL instance ID that this connection profile is associated with.
privateIp String
(Output) Output only. The Cloud SQL database instance's private IP.
publicIp String
(Output) Output only. The Cloud SQL database instance's public IP.
settings Changes to this property will trigger replacement. Property Map
Immutable. Metadata used to create the destination Cloud SQL database. Structure is documented below.

ConnectionProfileCloudsqlSettings
, ConnectionProfileCloudsqlSettingsArgs

SourceId This property is required. string
The Database Migration Service source connection profile ID, in the format: projects/my_project_name/locations/us-central1/connectionProfiles/connection_profile_ID
ActivationPolicy string
The activation policy specifies when the instance is activated; it is applicable only when the instance state is 'RUNNABLE'. Possible values are: ALWAYS, NEVER.
AutoStorageIncrease bool
If you enable this setting, Cloud SQL checks your available storage every 30 seconds. If the available storage falls below a threshold size, Cloud SQL automatically adds additional storage capacity. If the available storage repeatedly falls below the threshold size, Cloud SQL continues to add storage until it reaches the maximum of 30 TB.
CmekKeyName string
The KMS key name used for the csql instance.
Collation string
The Cloud SQL default instance level collation.
DataDiskSizeGb string
The storage capacity available to the database, in GB. The minimum (and default) size is 10GB.
DataDiskType string
The type of storage. Possible values are: PD_SSD, PD_HDD.
DatabaseFlags Dictionary<string, string>
The database flags passed to the Cloud SQL instance at startup.
DatabaseVersion string
The database engine type and version. Currently supported values located at https://cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.connectionProfiles#sqldatabaseversion
Edition string
The edition of the given Cloud SQL instance. Possible values are: ENTERPRISE, ENTERPRISE_PLUS.
IpConfig ConnectionProfileCloudsqlSettingsIpConfig
The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled. Structure is documented below.
RootPassword Changes to this property will trigger replacement. string
Input only. Initial root password. Note: This property is sensitive and will not be displayed in the plan.
RootPasswordSet bool
(Output) Output only. Indicates If this connection profile root password is stored.
StorageAutoResizeLimit string
The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
Tier string
The tier (or machine type) for this instance, for example: db-n1-standard-1 (MySQL instances) or db-custom-1-3840 (PostgreSQL instances). For more information, see https://cloud.google.com/sql/docs/mysql/instance-settings
UserLabels Dictionary<string, string>
The resource labels for a Cloud SQL instance to use to annotate any related underlying resources such as Compute Engine VMs.
Zone string
The Google Cloud Platform zone where your Cloud SQL datdabse instance is located.
SourceId This property is required. string
The Database Migration Service source connection profile ID, in the format: projects/my_project_name/locations/us-central1/connectionProfiles/connection_profile_ID
ActivationPolicy string
The activation policy specifies when the instance is activated; it is applicable only when the instance state is 'RUNNABLE'. Possible values are: ALWAYS, NEVER.
AutoStorageIncrease bool
If you enable this setting, Cloud SQL checks your available storage every 30 seconds. If the available storage falls below a threshold size, Cloud SQL automatically adds additional storage capacity. If the available storage repeatedly falls below the threshold size, Cloud SQL continues to add storage until it reaches the maximum of 30 TB.
CmekKeyName string
The KMS key name used for the csql instance.
Collation string
The Cloud SQL default instance level collation.
DataDiskSizeGb string
The storage capacity available to the database, in GB. The minimum (and default) size is 10GB.
DataDiskType string
The type of storage. Possible values are: PD_SSD, PD_HDD.
DatabaseFlags map[string]string
The database flags passed to the Cloud SQL instance at startup.
DatabaseVersion string
The database engine type and version. Currently supported values located at https://cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.connectionProfiles#sqldatabaseversion
Edition string
The edition of the given Cloud SQL instance. Possible values are: ENTERPRISE, ENTERPRISE_PLUS.
IpConfig ConnectionProfileCloudsqlSettingsIpConfig
The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled. Structure is documented below.
RootPassword Changes to this property will trigger replacement. string
Input only. Initial root password. Note: This property is sensitive and will not be displayed in the plan.
RootPasswordSet bool
(Output) Output only. Indicates If this connection profile root password is stored.
StorageAutoResizeLimit string
The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
Tier string
The tier (or machine type) for this instance, for example: db-n1-standard-1 (MySQL instances) or db-custom-1-3840 (PostgreSQL instances). For more information, see https://cloud.google.com/sql/docs/mysql/instance-settings
UserLabels map[string]string
The resource labels for a Cloud SQL instance to use to annotate any related underlying resources such as Compute Engine VMs.
Zone string
The Google Cloud Platform zone where your Cloud SQL datdabse instance is located.
sourceId This property is required. String
The Database Migration Service source connection profile ID, in the format: projects/my_project_name/locations/us-central1/connectionProfiles/connection_profile_ID
activationPolicy String
The activation policy specifies when the instance is activated; it is applicable only when the instance state is 'RUNNABLE'. Possible values are: ALWAYS, NEVER.
autoStorageIncrease Boolean
If you enable this setting, Cloud SQL checks your available storage every 30 seconds. If the available storage falls below a threshold size, Cloud SQL automatically adds additional storage capacity. If the available storage repeatedly falls below the threshold size, Cloud SQL continues to add storage until it reaches the maximum of 30 TB.
cmekKeyName String
The KMS key name used for the csql instance.
collation String
The Cloud SQL default instance level collation.
dataDiskSizeGb String
The storage capacity available to the database, in GB. The minimum (and default) size is 10GB.
dataDiskType String
The type of storage. Possible values are: PD_SSD, PD_HDD.
databaseFlags Map<String,String>
The database flags passed to the Cloud SQL instance at startup.
databaseVersion String
The database engine type and version. Currently supported values located at https://cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.connectionProfiles#sqldatabaseversion
edition String
The edition of the given Cloud SQL instance. Possible values are: ENTERPRISE, ENTERPRISE_PLUS.
ipConfig ConnectionProfileCloudsqlSettingsIpConfig
The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled. Structure is documented below.
rootPassword Changes to this property will trigger replacement. String
Input only. Initial root password. Note: This property is sensitive and will not be displayed in the plan.
rootPasswordSet Boolean
(Output) Output only. Indicates If this connection profile root password is stored.
storageAutoResizeLimit String
The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
tier String
The tier (or machine type) for this instance, for example: db-n1-standard-1 (MySQL instances) or db-custom-1-3840 (PostgreSQL instances). For more information, see https://cloud.google.com/sql/docs/mysql/instance-settings
userLabels Map<String,String>
The resource labels for a Cloud SQL instance to use to annotate any related underlying resources such as Compute Engine VMs.
zone String
The Google Cloud Platform zone where your Cloud SQL datdabse instance is located.
sourceId This property is required. string
The Database Migration Service source connection profile ID, in the format: projects/my_project_name/locations/us-central1/connectionProfiles/connection_profile_ID
activationPolicy string
The activation policy specifies when the instance is activated; it is applicable only when the instance state is 'RUNNABLE'. Possible values are: ALWAYS, NEVER.
autoStorageIncrease boolean
If you enable this setting, Cloud SQL checks your available storage every 30 seconds. If the available storage falls below a threshold size, Cloud SQL automatically adds additional storage capacity. If the available storage repeatedly falls below the threshold size, Cloud SQL continues to add storage until it reaches the maximum of 30 TB.
cmekKeyName string
The KMS key name used for the csql instance.
collation string
The Cloud SQL default instance level collation.
dataDiskSizeGb string
The storage capacity available to the database, in GB. The minimum (and default) size is 10GB.
dataDiskType string
The type of storage. Possible values are: PD_SSD, PD_HDD.
databaseFlags {[key: string]: string}
The database flags passed to the Cloud SQL instance at startup.
databaseVersion string
The database engine type and version. Currently supported values located at https://cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.connectionProfiles#sqldatabaseversion
edition string
The edition of the given Cloud SQL instance. Possible values are: ENTERPRISE, ENTERPRISE_PLUS.
ipConfig ConnectionProfileCloudsqlSettingsIpConfig
The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled. Structure is documented below.
rootPassword Changes to this property will trigger replacement. string
Input only. Initial root password. Note: This property is sensitive and will not be displayed in the plan.
rootPasswordSet boolean
(Output) Output only. Indicates If this connection profile root password is stored.
storageAutoResizeLimit string
The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
tier string
The tier (or machine type) for this instance, for example: db-n1-standard-1 (MySQL instances) or db-custom-1-3840 (PostgreSQL instances). For more information, see https://cloud.google.com/sql/docs/mysql/instance-settings
userLabels {[key: string]: string}
The resource labels for a Cloud SQL instance to use to annotate any related underlying resources such as Compute Engine VMs.
zone string
The Google Cloud Platform zone where your Cloud SQL datdabse instance is located.
source_id This property is required. str
The Database Migration Service source connection profile ID, in the format: projects/my_project_name/locations/us-central1/connectionProfiles/connection_profile_ID
activation_policy str
The activation policy specifies when the instance is activated; it is applicable only when the instance state is 'RUNNABLE'. Possible values are: ALWAYS, NEVER.
auto_storage_increase bool
If you enable this setting, Cloud SQL checks your available storage every 30 seconds. If the available storage falls below a threshold size, Cloud SQL automatically adds additional storage capacity. If the available storage repeatedly falls below the threshold size, Cloud SQL continues to add storage until it reaches the maximum of 30 TB.
cmek_key_name str
The KMS key name used for the csql instance.
collation str
The Cloud SQL default instance level collation.
data_disk_size_gb str
The storage capacity available to the database, in GB. The minimum (and default) size is 10GB.
data_disk_type str
The type of storage. Possible values are: PD_SSD, PD_HDD.
database_flags Mapping[str, str]
The database flags passed to the Cloud SQL instance at startup.
database_version str
The database engine type and version. Currently supported values located at https://cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.connectionProfiles#sqldatabaseversion
edition str
The edition of the given Cloud SQL instance. Possible values are: ENTERPRISE, ENTERPRISE_PLUS.
ip_config ConnectionProfileCloudsqlSettingsIpConfig
The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled. Structure is documented below.
root_password Changes to this property will trigger replacement. str
Input only. Initial root password. Note: This property is sensitive and will not be displayed in the plan.
root_password_set bool
(Output) Output only. Indicates If this connection profile root password is stored.
storage_auto_resize_limit str
The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
tier str
The tier (or machine type) for this instance, for example: db-n1-standard-1 (MySQL instances) or db-custom-1-3840 (PostgreSQL instances). For more information, see https://cloud.google.com/sql/docs/mysql/instance-settings
user_labels Mapping[str, str]
The resource labels for a Cloud SQL instance to use to annotate any related underlying resources such as Compute Engine VMs.
zone str
The Google Cloud Platform zone where your Cloud SQL datdabse instance is located.
sourceId This property is required. String
The Database Migration Service source connection profile ID, in the format: projects/my_project_name/locations/us-central1/connectionProfiles/connection_profile_ID
activationPolicy String
The activation policy specifies when the instance is activated; it is applicable only when the instance state is 'RUNNABLE'. Possible values are: ALWAYS, NEVER.
autoStorageIncrease Boolean
If you enable this setting, Cloud SQL checks your available storage every 30 seconds. If the available storage falls below a threshold size, Cloud SQL automatically adds additional storage capacity. If the available storage repeatedly falls below the threshold size, Cloud SQL continues to add storage until it reaches the maximum of 30 TB.
cmekKeyName String
The KMS key name used for the csql instance.
collation String
The Cloud SQL default instance level collation.
dataDiskSizeGb String
The storage capacity available to the database, in GB. The minimum (and default) size is 10GB.
dataDiskType String
The type of storage. Possible values are: PD_SSD, PD_HDD.
databaseFlags Map<String>
The database flags passed to the Cloud SQL instance at startup.
databaseVersion String
The database engine type and version. Currently supported values located at https://cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.connectionProfiles#sqldatabaseversion
edition String
The edition of the given Cloud SQL instance. Possible values are: ENTERPRISE, ENTERPRISE_PLUS.
ipConfig Property Map
The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled. Structure is documented below.
rootPassword Changes to this property will trigger replacement. String
Input only. Initial root password. Note: This property is sensitive and will not be displayed in the plan.
rootPasswordSet Boolean
(Output) Output only. Indicates If this connection profile root password is stored.
storageAutoResizeLimit String
The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
tier String
The tier (or machine type) for this instance, for example: db-n1-standard-1 (MySQL instances) or db-custom-1-3840 (PostgreSQL instances). For more information, see https://cloud.google.com/sql/docs/mysql/instance-settings
userLabels Map<String>
The resource labels for a Cloud SQL instance to use to annotate any related underlying resources such as Compute Engine VMs.
zone String
The Google Cloud Platform zone where your Cloud SQL datdabse instance is located.

ConnectionProfileCloudsqlSettingsIpConfig
, ConnectionProfileCloudsqlSettingsIpConfigArgs

AuthorizedNetworks List<ConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetwork>
The list of external networks that are allowed to connect to the instance using the IP. Structure is documented below.
EnableIpv4 bool
Whether the instance should be assigned an IPv4 address or not.
PrivateNetwork string
The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, projects/myProject/global/networks/default. This setting can be updated, but it cannot be removed after it is set.
RequireSsl bool
Whether SSL connections over IP should be enforced or not.
AuthorizedNetworks []ConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetwork
The list of external networks that are allowed to connect to the instance using the IP. Structure is documented below.
EnableIpv4 bool
Whether the instance should be assigned an IPv4 address or not.
PrivateNetwork string
The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, projects/myProject/global/networks/default. This setting can be updated, but it cannot be removed after it is set.
RequireSsl bool
Whether SSL connections over IP should be enforced or not.
authorizedNetworks List<ConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetwork>
The list of external networks that are allowed to connect to the instance using the IP. Structure is documented below.
enableIpv4 Boolean
Whether the instance should be assigned an IPv4 address or not.
privateNetwork String
The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, projects/myProject/global/networks/default. This setting can be updated, but it cannot be removed after it is set.
requireSsl Boolean
Whether SSL connections over IP should be enforced or not.
authorizedNetworks ConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetwork[]
The list of external networks that are allowed to connect to the instance using the IP. Structure is documented below.
enableIpv4 boolean
Whether the instance should be assigned an IPv4 address or not.
privateNetwork string
The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, projects/myProject/global/networks/default. This setting can be updated, but it cannot be removed after it is set.
requireSsl boolean
Whether SSL connections over IP should be enforced or not.
authorized_networks Sequence[ConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetwork]
The list of external networks that are allowed to connect to the instance using the IP. Structure is documented below.
enable_ipv4 bool
Whether the instance should be assigned an IPv4 address or not.
private_network str
The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, projects/myProject/global/networks/default. This setting can be updated, but it cannot be removed after it is set.
require_ssl bool
Whether SSL connections over IP should be enforced or not.
authorizedNetworks List<Property Map>
The list of external networks that are allowed to connect to the instance using the IP. Structure is documented below.
enableIpv4 Boolean
Whether the instance should be assigned an IPv4 address or not.
privateNetwork String
The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, projects/myProject/global/networks/default. This setting can be updated, but it cannot be removed after it is set.
requireSsl Boolean
Whether SSL connections over IP should be enforced or not.

ConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetwork
, ConnectionProfileCloudsqlSettingsIpConfigAuthorizedNetworkArgs

Value This property is required. string
The allowlisted value for the access control list.
ExpireTime string
The time when this access control entry expires in RFC 3339 format.
Label string
A label to identify this entry.
Ttl Changes to this property will trigger replacement. string
Input only. The time-to-leave of this access control entry.
Value This property is required. string
The allowlisted value for the access control list.
ExpireTime string
The time when this access control entry expires in RFC 3339 format.
Label string
A label to identify this entry.
Ttl Changes to this property will trigger replacement. string
Input only. The time-to-leave of this access control entry.
value This property is required. String
The allowlisted value for the access control list.
expireTime String
The time when this access control entry expires in RFC 3339 format.
label String
A label to identify this entry.
ttl Changes to this property will trigger replacement. String
Input only. The time-to-leave of this access control entry.
value This property is required. string
The allowlisted value for the access control list.
expireTime string
The time when this access control entry expires in RFC 3339 format.
label string
A label to identify this entry.
ttl Changes to this property will trigger replacement. string
Input only. The time-to-leave of this access control entry.
value This property is required. str
The allowlisted value for the access control list.
expire_time str
The time when this access control entry expires in RFC 3339 format.
label str
A label to identify this entry.
ttl Changes to this property will trigger replacement. str
Input only. The time-to-leave of this access control entry.
value This property is required. String
The allowlisted value for the access control list.
expireTime String
The time when this access control entry expires in RFC 3339 format.
label String
A label to identify this entry.
ttl Changes to this property will trigger replacement. String
Input only. The time-to-leave of this access control entry.

ConnectionProfileError
, ConnectionProfileErrorArgs

Code int
(Output) The status code, which should be an enum value of google.rpc.Code.
Details List<ImmutableDictionary<string, string>>
(Output) A list of messages that carry the error details.
Message string
(Output) Human readable message indicating details about the current status.
Code int
(Output) The status code, which should be an enum value of google.rpc.Code.
Details []map[string]string
(Output) A list of messages that carry the error details.
Message string
(Output) Human readable message indicating details about the current status.
code Integer
(Output) The status code, which should be an enum value of google.rpc.Code.
details List<Map<String,String>>
(Output) A list of messages that carry the error details.
message String
(Output) Human readable message indicating details about the current status.
code number
(Output) The status code, which should be an enum value of google.rpc.Code.
details {[key: string]: string}[]
(Output) A list of messages that carry the error details.
message string
(Output) Human readable message indicating details about the current status.
code int
(Output) The status code, which should be an enum value of google.rpc.Code.
details Sequence[Mapping[str, str]]
(Output) A list of messages that carry the error details.
message str
(Output) Human readable message indicating details about the current status.
code Number
(Output) The status code, which should be an enum value of google.rpc.Code.
details List<Map<String>>
(Output) A list of messages that carry the error details.
message String
(Output) Human readable message indicating details about the current status.

ConnectionProfileMysql
, ConnectionProfileMysqlArgs

CloudSqlId string
If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
Host string
The IP or hostname of the source MySQL database.
Password Changes to this property will trigger replacement. string
Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
PasswordSet bool
(Output) Output only. Indicates If this connection profile password is stored.
Port int
The network port of the source MySQL database.
Ssl ConnectionProfileMysqlSsl
SSL configuration for the destination to connect to the source database. Structure is documented below.
Username string
The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
CloudSqlId string
If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
Host string
The IP or hostname of the source MySQL database.
Password Changes to this property will trigger replacement. string
Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
PasswordSet bool
(Output) Output only. Indicates If this connection profile password is stored.
Port int
The network port of the source MySQL database.
Ssl ConnectionProfileMysqlSsl
SSL configuration for the destination to connect to the source database. Structure is documented below.
Username string
The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
cloudSqlId String
If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
host String
The IP or hostname of the source MySQL database.
password Changes to this property will trigger replacement. String
Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
passwordSet Boolean
(Output) Output only. Indicates If this connection profile password is stored.
port Integer
The network port of the source MySQL database.
ssl ConnectionProfileMysqlSsl
SSL configuration for the destination to connect to the source database. Structure is documented below.
username String
The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
cloudSqlId string
If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
host string
The IP or hostname of the source MySQL database.
password Changes to this property will trigger replacement. string
Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
passwordSet boolean
(Output) Output only. Indicates If this connection profile password is stored.
port number
The network port of the source MySQL database.
ssl ConnectionProfileMysqlSsl
SSL configuration for the destination to connect to the source database. Structure is documented below.
username string
The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
cloud_sql_id str
If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
host str
The IP or hostname of the source MySQL database.
password Changes to this property will trigger replacement. str
Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
password_set bool
(Output) Output only. Indicates If this connection profile password is stored.
port int
The network port of the source MySQL database.
ssl ConnectionProfileMysqlSsl
SSL configuration for the destination to connect to the source database. Structure is documented below.
username str
The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
cloudSqlId String
If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
host String
The IP or hostname of the source MySQL database.
password Changes to this property will trigger replacement. String
Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
passwordSet Boolean
(Output) Output only. Indicates If this connection profile password is stored.
port Number
The network port of the source MySQL database.
ssl Property Map
SSL configuration for the destination to connect to the source database. Structure is documented below.
username String
The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.

ConnectionProfileMysqlSsl
, ConnectionProfileMysqlSslArgs

CaCertificate
This property is required.
Changes to this property will trigger replacement.
string
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
ClientCertificate Changes to this property will trigger replacement. string
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
ClientKey Changes to this property will trigger replacement. string
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
Type string
(Output) The current connection profile state.
CaCertificate
This property is required.
Changes to this property will trigger replacement.
string
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
ClientCertificate Changes to this property will trigger replacement. string
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
ClientKey Changes to this property will trigger replacement. string
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
Type string
(Output) The current connection profile state.
caCertificate
This property is required.
Changes to this property will trigger replacement.
String
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
clientCertificate Changes to this property will trigger replacement. String
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
clientKey Changes to this property will trigger replacement. String
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
type String
(Output) The current connection profile state.
caCertificate
This property is required.
Changes to this property will trigger replacement.
string
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
clientCertificate Changes to this property will trigger replacement. string
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
clientKey Changes to this property will trigger replacement. string
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
type string
(Output) The current connection profile state.
ca_certificate
This property is required.
Changes to this property will trigger replacement.
str
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
client_certificate Changes to this property will trigger replacement. str
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
client_key Changes to this property will trigger replacement. str
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
type str
(Output) The current connection profile state.
caCertificate
This property is required.
Changes to this property will trigger replacement.
String
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
clientCertificate Changes to this property will trigger replacement. String
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
clientKey Changes to this property will trigger replacement. String
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
type String
(Output) The current connection profile state.

ConnectionProfileOracle
, ConnectionProfileOracleArgs

DatabaseService This property is required. string
Required. Database service for the Oracle connection.
Host This property is required. string
Required. The IP or hostname of the source Oracle database.
Password
This property is required.
Changes to this property will trigger replacement.
string
Required. Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
Port This property is required. int
Required. The network port of the source Oracle database.
Username This property is required. string
Required. The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
ForwardSshConnectivity ConnectionProfileOracleForwardSshConnectivity
SSL configuration for the destination to connect to the source database. Structure is documented below.
PasswordSet bool
(Output) Output only. Indicates If this connection profile password is stored.
PrivateConnectivity ConnectionProfileOraclePrivateConnectivity
Configuration for using a private network to communicate with the source database Structure is documented below.
Ssl ConnectionProfileOracleSsl
SSL configuration for the destination to connect to the source database. Structure is documented below.
StaticServiceIpConnectivity ConnectionProfileOracleStaticServiceIpConnectivity
This object has no nested fields. Static IP address connectivity configured on service project.
DatabaseService This property is required. string
Required. Database service for the Oracle connection.
Host This property is required. string
Required. The IP or hostname of the source Oracle database.
Password
This property is required.
Changes to this property will trigger replacement.
string
Required. Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
Port This property is required. int
Required. The network port of the source Oracle database.
Username This property is required. string
Required. The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
ForwardSshConnectivity ConnectionProfileOracleForwardSshConnectivity
SSL configuration for the destination to connect to the source database. Structure is documented below.
PasswordSet bool
(Output) Output only. Indicates If this connection profile password is stored.
PrivateConnectivity ConnectionProfileOraclePrivateConnectivity
Configuration for using a private network to communicate with the source database Structure is documented below.
Ssl ConnectionProfileOracleSsl
SSL configuration for the destination to connect to the source database. Structure is documented below.
StaticServiceIpConnectivity ConnectionProfileOracleStaticServiceIpConnectivity
This object has no nested fields. Static IP address connectivity configured on service project.
databaseService This property is required. String
Required. Database service for the Oracle connection.
host This property is required. String
Required. The IP or hostname of the source Oracle database.
password
This property is required.
Changes to this property will trigger replacement.
String
Required. Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
port This property is required. Integer
Required. The network port of the source Oracle database.
username This property is required. String
Required. The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
forwardSshConnectivity ConnectionProfileOracleForwardSshConnectivity
SSL configuration for the destination to connect to the source database. Structure is documented below.
passwordSet Boolean
(Output) Output only. Indicates If this connection profile password is stored.
privateConnectivity ConnectionProfileOraclePrivateConnectivity
Configuration for using a private network to communicate with the source database Structure is documented below.
ssl ConnectionProfileOracleSsl
SSL configuration for the destination to connect to the source database. Structure is documented below.
staticServiceIpConnectivity ConnectionProfileOracleStaticServiceIpConnectivity
This object has no nested fields. Static IP address connectivity configured on service project.
databaseService This property is required. string
Required. Database service for the Oracle connection.
host This property is required. string
Required. The IP or hostname of the source Oracle database.
password
This property is required.
Changes to this property will trigger replacement.
string
Required. Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
port This property is required. number
Required. The network port of the source Oracle database.
username This property is required. string
Required. The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
forwardSshConnectivity ConnectionProfileOracleForwardSshConnectivity
SSL configuration for the destination to connect to the source database. Structure is documented below.
passwordSet boolean
(Output) Output only. Indicates If this connection profile password is stored.
privateConnectivity ConnectionProfileOraclePrivateConnectivity
Configuration for using a private network to communicate with the source database Structure is documented below.
ssl ConnectionProfileOracleSsl
SSL configuration for the destination to connect to the source database. Structure is documented below.
staticServiceIpConnectivity ConnectionProfileOracleStaticServiceIpConnectivity
This object has no nested fields. Static IP address connectivity configured on service project.
database_service This property is required. str
Required. Database service for the Oracle connection.
host This property is required. str
Required. The IP or hostname of the source Oracle database.
password
This property is required.
Changes to this property will trigger replacement.
str
Required. Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
port This property is required. int
Required. The network port of the source Oracle database.
username This property is required. str
Required. The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
forward_ssh_connectivity ConnectionProfileOracleForwardSshConnectivity
SSL configuration for the destination to connect to the source database. Structure is documented below.
password_set bool
(Output) Output only. Indicates If this connection profile password is stored.
private_connectivity ConnectionProfileOraclePrivateConnectivity
Configuration for using a private network to communicate with the source database Structure is documented below.
ssl ConnectionProfileOracleSsl
SSL configuration for the destination to connect to the source database. Structure is documented below.
static_service_ip_connectivity ConnectionProfileOracleStaticServiceIpConnectivity
This object has no nested fields. Static IP address connectivity configured on service project.
databaseService This property is required. String
Required. Database service for the Oracle connection.
host This property is required. String
Required. The IP or hostname of the source Oracle database.
password
This property is required.
Changes to this property will trigger replacement.
String
Required. Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
port This property is required. Number
Required. The network port of the source Oracle database.
username This property is required. String
Required. The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
forwardSshConnectivity Property Map
SSL configuration for the destination to connect to the source database. Structure is documented below.
passwordSet Boolean
(Output) Output only. Indicates If this connection profile password is stored.
privateConnectivity Property Map
Configuration for using a private network to communicate with the source database Structure is documented below.
ssl Property Map
SSL configuration for the destination to connect to the source database. Structure is documented below.
staticServiceIpConnectivity Property Map
This object has no nested fields. Static IP address connectivity configured on service project.

ConnectionProfileOracleForwardSshConnectivity
, ConnectionProfileOracleForwardSshConnectivityArgs

Hostname This property is required. string
Required. Hostname for the SSH tunnel.
Port This property is required. int
Port for the SSH tunnel, default value is 22.
Username This property is required. string
Required. Username for the SSH tunnel.
Password Changes to this property will trigger replacement. string
Input only. SSH password. Only one of password and private_key can be configured. Note: This property is sensitive and will not be displayed in the plan.
PrivateKey Changes to this property will trigger replacement. string
Input only. SSH private key. Only one of password and private_key can be configured. Note: This property is sensitive and will not be displayed in the plan.
Hostname This property is required. string
Required. Hostname for the SSH tunnel.
Port This property is required. int
Port for the SSH tunnel, default value is 22.
Username This property is required. string
Required. Username for the SSH tunnel.
Password Changes to this property will trigger replacement. string
Input only. SSH password. Only one of password and private_key can be configured. Note: This property is sensitive and will not be displayed in the plan.
PrivateKey Changes to this property will trigger replacement. string
Input only. SSH private key. Only one of password and private_key can be configured. Note: This property is sensitive and will not be displayed in the plan.
hostname This property is required. String
Required. Hostname for the SSH tunnel.
port This property is required. Integer
Port for the SSH tunnel, default value is 22.
username This property is required. String
Required. Username for the SSH tunnel.
password Changes to this property will trigger replacement. String
Input only. SSH password. Only one of password and private_key can be configured. Note: This property is sensitive and will not be displayed in the plan.
privateKey Changes to this property will trigger replacement. String
Input only. SSH private key. Only one of password and private_key can be configured. Note: This property is sensitive and will not be displayed in the plan.
hostname This property is required. string
Required. Hostname for the SSH tunnel.
port This property is required. number
Port for the SSH tunnel, default value is 22.
username This property is required. string
Required. Username for the SSH tunnel.
password Changes to this property will trigger replacement. string
Input only. SSH password. Only one of password and private_key can be configured. Note: This property is sensitive and will not be displayed in the plan.
privateKey Changes to this property will trigger replacement. string
Input only. SSH private key. Only one of password and private_key can be configured. Note: This property is sensitive and will not be displayed in the plan.
hostname This property is required. str
Required. Hostname for the SSH tunnel.
port This property is required. int
Port for the SSH tunnel, default value is 22.
username This property is required. str
Required. Username for the SSH tunnel.
password Changes to this property will trigger replacement. str
Input only. SSH password. Only one of password and private_key can be configured. Note: This property is sensitive and will not be displayed in the plan.
private_key Changes to this property will trigger replacement. str
Input only. SSH private key. Only one of password and private_key can be configured. Note: This property is sensitive and will not be displayed in the plan.
hostname This property is required. String
Required. Hostname for the SSH tunnel.
port This property is required. Number
Port for the SSH tunnel, default value is 22.
username This property is required. String
Required. Username for the SSH tunnel.
password Changes to this property will trigger replacement. String
Input only. SSH password. Only one of password and private_key can be configured. Note: This property is sensitive and will not be displayed in the plan.
privateKey Changes to this property will trigger replacement. String
Input only. SSH private key. Only one of password and private_key can be configured. Note: This property is sensitive and will not be displayed in the plan.

ConnectionProfileOraclePrivateConnectivity
, ConnectionProfileOraclePrivateConnectivityArgs

PrivateConnection This property is required. string
Required. The resource name (URI) of the private connection.
PrivateConnection This property is required. string
Required. The resource name (URI) of the private connection.
privateConnection This property is required. String
Required. The resource name (URI) of the private connection.
privateConnection This property is required. string
Required. The resource name (URI) of the private connection.
private_connection This property is required. str
Required. The resource name (URI) of the private connection.
privateConnection This property is required. String
Required. The resource name (URI) of the private connection.

ConnectionProfileOracleSsl
, ConnectionProfileOracleSslArgs

CaCertificate
This property is required.
Changes to this property will trigger replacement.
string
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
ClientCertificate Changes to this property will trigger replacement. string
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
ClientKey Changes to this property will trigger replacement. string
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
Type string
(Output) The current connection profile state.
CaCertificate
This property is required.
Changes to this property will trigger replacement.
string
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
ClientCertificate Changes to this property will trigger replacement. string
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
ClientKey Changes to this property will trigger replacement. string
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
Type string
(Output) The current connection profile state.
caCertificate
This property is required.
Changes to this property will trigger replacement.
String
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
clientCertificate Changes to this property will trigger replacement. String
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
clientKey Changes to this property will trigger replacement. String
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
type String
(Output) The current connection profile state.
caCertificate
This property is required.
Changes to this property will trigger replacement.
string
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
clientCertificate Changes to this property will trigger replacement. string
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
clientKey Changes to this property will trigger replacement. string
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
type string
(Output) The current connection profile state.
ca_certificate
This property is required.
Changes to this property will trigger replacement.
str
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
client_certificate Changes to this property will trigger replacement. str
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
client_key Changes to this property will trigger replacement. str
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
type str
(Output) The current connection profile state.
caCertificate
This property is required.
Changes to this property will trigger replacement.
String
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
clientCertificate Changes to this property will trigger replacement. String
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
clientKey Changes to this property will trigger replacement. String
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
type String
(Output) The current connection profile state.

ConnectionProfilePostgresql
, ConnectionProfilePostgresqlArgs

AlloydbClusterId string
If the connected database is an AlloyDB instance, use this field to provide the AlloyDB cluster ID.
CloudSqlId string
If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
Host string
The IP or hostname of the source MySQL database.
NetworkArchitecture string
(Output) Output only. If the source is a Cloud SQL database, this field indicates the network architecture it's associated with.
Password Changes to this property will trigger replacement. string
Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
PasswordSet bool
(Output) Output only. Indicates If this connection profile password is stored.
Port int
The network port of the source MySQL database.
Ssl ConnectionProfilePostgresqlSsl
SSL configuration for the destination to connect to the source database. Structure is documented below.
Username string
The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
AlloydbClusterId string
If the connected database is an AlloyDB instance, use this field to provide the AlloyDB cluster ID.
CloudSqlId string
If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
Host string
The IP or hostname of the source MySQL database.
NetworkArchitecture string
(Output) Output only. If the source is a Cloud SQL database, this field indicates the network architecture it's associated with.
Password Changes to this property will trigger replacement. string
Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
PasswordSet bool
(Output) Output only. Indicates If this connection profile password is stored.
Port int
The network port of the source MySQL database.
Ssl ConnectionProfilePostgresqlSsl
SSL configuration for the destination to connect to the source database. Structure is documented below.
Username string
The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
alloydbClusterId String
If the connected database is an AlloyDB instance, use this field to provide the AlloyDB cluster ID.
cloudSqlId String
If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
host String
The IP or hostname of the source MySQL database.
networkArchitecture String
(Output) Output only. If the source is a Cloud SQL database, this field indicates the network architecture it's associated with.
password Changes to this property will trigger replacement. String
Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
passwordSet Boolean
(Output) Output only. Indicates If this connection profile password is stored.
port Integer
The network port of the source MySQL database.
ssl ConnectionProfilePostgresqlSsl
SSL configuration for the destination to connect to the source database. Structure is documented below.
username String
The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
alloydbClusterId string
If the connected database is an AlloyDB instance, use this field to provide the AlloyDB cluster ID.
cloudSqlId string
If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
host string
The IP or hostname of the source MySQL database.
networkArchitecture string
(Output) Output only. If the source is a Cloud SQL database, this field indicates the network architecture it's associated with.
password Changes to this property will trigger replacement. string
Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
passwordSet boolean
(Output) Output only. Indicates If this connection profile password is stored.
port number
The network port of the source MySQL database.
ssl ConnectionProfilePostgresqlSsl
SSL configuration for the destination to connect to the source database. Structure is documented below.
username string
The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
alloydb_cluster_id str
If the connected database is an AlloyDB instance, use this field to provide the AlloyDB cluster ID.
cloud_sql_id str
If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
host str
The IP or hostname of the source MySQL database.
network_architecture str
(Output) Output only. If the source is a Cloud SQL database, this field indicates the network architecture it's associated with.
password Changes to this property will trigger replacement. str
Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
password_set bool
(Output) Output only. Indicates If this connection profile password is stored.
port int
The network port of the source MySQL database.
ssl ConnectionProfilePostgresqlSsl
SSL configuration for the destination to connect to the source database. Structure is documented below.
username str
The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
alloydbClusterId String
If the connected database is an AlloyDB instance, use this field to provide the AlloyDB cluster ID.
cloudSqlId String
If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
host String
The IP or hostname of the source MySQL database.
networkArchitecture String
(Output) Output only. If the source is a Cloud SQL database, this field indicates the network architecture it's associated with.
password Changes to this property will trigger replacement. String
Input only. The password for the user that Database Migration Service will be using to connect to the database. This field is not returned on request, and the value is encrypted when stored in Database Migration Service. Note: This property is sensitive and will not be displayed in the plan.
passwordSet Boolean
(Output) Output only. Indicates If this connection profile password is stored.
port Number
The network port of the source MySQL database.
ssl Property Map
SSL configuration for the destination to connect to the source database. Structure is documented below.
username String
The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.

ConnectionProfilePostgresqlSsl
, ConnectionProfilePostgresqlSslArgs

CaCertificate
This property is required.
Changes to this property will trigger replacement.
string
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
ClientCertificate Changes to this property will trigger replacement. string
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
ClientKey Changes to this property will trigger replacement. string
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
Type string
(Output) The current connection profile state.
CaCertificate
This property is required.
Changes to this property will trigger replacement.
string
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
ClientCertificate Changes to this property will trigger replacement. string
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
ClientKey Changes to this property will trigger replacement. string
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
Type string
(Output) The current connection profile state.
caCertificate
This property is required.
Changes to this property will trigger replacement.
String
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
clientCertificate Changes to this property will trigger replacement. String
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
clientKey Changes to this property will trigger replacement. String
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
type String
(Output) The current connection profile state.
caCertificate
This property is required.
Changes to this property will trigger replacement.
string
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
clientCertificate Changes to this property will trigger replacement. string
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
clientKey Changes to this property will trigger replacement. string
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
type string
(Output) The current connection profile state.
ca_certificate
This property is required.
Changes to this property will trigger replacement.
str
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
client_certificate Changes to this property will trigger replacement. str
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
client_key Changes to this property will trigger replacement. str
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
type str
(Output) The current connection profile state.
caCertificate
This property is required.
Changes to this property will trigger replacement.
String
Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database server's certificate. The replica will use this certificate to verify it's connecting to the right host. Note: This property is sensitive and will not be displayed in the plan.
clientCertificate Changes to this property will trigger replacement. String
Input only. The x509 PEM-encoded certificate that will be used by the replica to authenticate against the source database server. If this field is used then the 'clientKey' field is mandatory Note: This property is sensitive and will not be displayed in the plan.
clientKey Changes to this property will trigger replacement. String
Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with the Client Certificate. If this field is used then the 'clientCertificate' field is mandatory. Note: This property is sensitive and will not be displayed in the plan.
type String
(Output) The current connection profile state.

Import

ConnectionProfile can be imported using any of these accepted formats:

  • projects/{{project}}/locations/{{location}}/connectionProfiles/{{connection_profile_id}}

  • {{project}}/{{location}}/{{connection_profile_id}}

  • {{location}}/{{connection_profile_id}}

When using the pulumi import command, ConnectionProfile can be imported using one of the formats above. For example:

$ pulumi import gcp:databasemigrationservice/connectionProfile:ConnectionProfile default projects/{{project}}/locations/{{location}}/connectionProfiles/{{connection_profile_id}}
Copy
$ pulumi import gcp:databasemigrationservice/connectionProfile:ConnectionProfile default {{project}}/{{location}}/{{connection_profile_id}}
Copy
$ pulumi import gcp:databasemigrationservice/connectionProfile:ConnectionProfile default {{location}}/{{connection_profile_id}}
Copy

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

Package Details

Repository
Google Cloud (GCP) Classic pulumi/pulumi-gcp
License
Apache-2.0
Notes
This Pulumi package is based on the google-beta Terraform Provider.