ConnectionProfile

class ConnectionProfile : KotlinCustomResource

A connection profile definition. To get more information about ConnectionProfile, see:

Warning: All arguments including the following potentially sensitive values will be stored in the raw state as plain text: mysql.password, mysql.ssl.client_key, mysql.ssl.client_certificate, mysql.ssl.ca_certificate, postgresql.password, postgresql.ssl.client_key, postgresql.ssl.client_certificate, postgresql.ssl.ca_certificate, cloudsql.settings.root_password, alloydb.settings.initial_user.password. Read more about sensitive data in state.

Example Usage

Database Migration Service Connection Profile Cloudsql

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()
.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()
.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());
}
}

Database Migration Service Connection Profile Postgres

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()
.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()
.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());
}
}

Import

ConnectionProfile can be imported using any of these accepted formats

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

Properties

Link copied to clipboard

Specifies required connection parameters, and the parameters required to create an AlloyDB destination cluster. Structure is documented below.

Link copied to clipboard

Specifies required connection parameters, and, optionally, the parameters required to create a Cloud SQL destination database instance. Structure is documented below.

Link copied to clipboard

The ID of the connection profile.

Link copied to clipboard
val createTime: Output<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'.

Link copied to clipboard
val dbprovider: Output<String>

The database provider.

Link copied to clipboard
val displayName: Output<String>?

The connection profile display name.

Link copied to clipboard

Output only. The error details in case of state FAILED. Structure is documented below.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val labels: Output<Map<String, String>>?

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

Link copied to clipboard
val location: Output<String>?

The location where the connection profile should reside.

Link copied to clipboard

Specifies connection parameters required specifically for MySQL databases. Structure is documented below.

Link copied to clipboard
val name: Output<String>

The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.

Link copied to clipboard

Specifies connection parameters required specifically for PostgreSQL databases. Structure is documented below.

Link copied to clipboard
val project: Output<String>

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val state: Output<String>

The current connection profile state.

Link copied to clipboard
val urn: Output<String>