1. Packages
  2. Selectel Provider
  3. API Docs
  4. DbaasMysqlDatabaseV1
selectel 6.4.0 published on Monday, Apr 14, 2025 by selectel

selectel.DbaasMysqlDatabaseV1

Explore with Pulumi AI

Creates and manages a MySQL database using public API v1. Applicable to MySQL sync and MySQL semi-sync datastores, the type is determined by the selectel.DbaasMysqlDatastoreV1 resource. For more information about MySQL databases, see the official Selectel documentation for MySQL sync and MySQL semi-sync.

Example Usage

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

const database1 = new selectel.DbaasMysqlDatabaseV1("database1", {
    projectId: selectel_vpc_project_v2.project_1.id,
    region: "ru-3",
    datastoreId: selectel_dbaas_mysql_datastore_v1.datastore_1.id,
});
Copy
import pulumi
import pulumi_selectel as selectel

database1 = selectel.DbaasMysqlDatabaseV1("database1",
    project_id=selectel_vpc_project_v2["project_1"]["id"],
    region="ru-3",
    datastore_id=selectel_dbaas_mysql_datastore_v1["datastore_1"]["id"])
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/selectel/v6/selectel"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := selectel.NewDbaasMysqlDatabaseV1(ctx, "database1", &selectel.DbaasMysqlDatabaseV1Args{
			ProjectId:   pulumi.Any(selectel_vpc_project_v2.Project_1.Id),
			Region:      pulumi.String("ru-3"),
			DatastoreId: pulumi.Any(selectel_dbaas_mysql_datastore_v1.Datastore_1.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Selectel = Pulumi.Selectel;

return await Deployment.RunAsync(() => 
{
    var database1 = new Selectel.DbaasMysqlDatabaseV1("database1", new()
    {
        ProjectId = selectel_vpc_project_v2.Project_1.Id,
        Region = "ru-3",
        DatastoreId = selectel_dbaas_mysql_datastore_v1.Datastore_1.Id,
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.selectel.DbaasMysqlDatabaseV1;
import com.pulumi.selectel.DbaasMysqlDatabaseV1Args;
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 database1 = new DbaasMysqlDatabaseV1("database1", DbaasMysqlDatabaseV1Args.builder()
            .projectId(selectel_vpc_project_v2.project_1().id())
            .region("ru-3")
            .datastoreId(selectel_dbaas_mysql_datastore_v1.datastore_1().id())
            .build());

    }
}
Copy
resources:
  database1:
    type: selectel:DbaasMysqlDatabaseV1
    properties:
      projectId: ${selectel_vpc_project_v2.project_1.id}
      region: ru-3
      datastoreId: ${selectel_dbaas_mysql_datastore_v1.datastore_1.id}
Copy

Create DbaasMysqlDatabaseV1 Resource

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

Constructor syntax

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

@overload
def DbaasMysqlDatabaseV1(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         datastore_id: Optional[str] = None,
                         project_id: Optional[str] = None,
                         region: Optional[str] = None,
                         dbaas_mysql_database_v1_id: Optional[str] = None,
                         name: Optional[str] = None,
                         timeouts: Optional[DbaasMysqlDatabaseV1TimeoutsArgs] = None)
func NewDbaasMysqlDatabaseV1(ctx *Context, name string, args DbaasMysqlDatabaseV1Args, opts ...ResourceOption) (*DbaasMysqlDatabaseV1, error)
public DbaasMysqlDatabaseV1(string name, DbaasMysqlDatabaseV1Args args, CustomResourceOptions? opts = null)
public DbaasMysqlDatabaseV1(String name, DbaasMysqlDatabaseV1Args args)
public DbaasMysqlDatabaseV1(String name, DbaasMysqlDatabaseV1Args args, CustomResourceOptions options)
type: selectel:DbaasMysqlDatabaseV1
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. DbaasMysqlDatabaseV1Args
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. DbaasMysqlDatabaseV1Args
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. DbaasMysqlDatabaseV1Args
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. DbaasMysqlDatabaseV1Args
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. DbaasMysqlDatabaseV1Args
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 dbaasMysqlDatabaseV1Resource = new Selectel.DbaasMysqlDatabaseV1("dbaasMysqlDatabaseV1Resource", new()
{
    DatastoreId = "string",
    ProjectId = "string",
    Region = "string",
    DbaasMysqlDatabaseV1Id = "string",
    Name = "string",
    Timeouts = new Selectel.Inputs.DbaasMysqlDatabaseV1TimeoutsArgs
    {
        Create = "string",
        Delete = "string",
        Update = "string",
    },
});
Copy
example, err := selectel.NewDbaasMysqlDatabaseV1(ctx, "dbaasMysqlDatabaseV1Resource", &selectel.DbaasMysqlDatabaseV1Args{
DatastoreId: pulumi.String("string"),
ProjectId: pulumi.String("string"),
Region: pulumi.String("string"),
DbaasMysqlDatabaseV1Id: pulumi.String("string"),
Name: pulumi.String("string"),
Timeouts: &.DbaasMysqlDatabaseV1TimeoutsArgs{
Create: pulumi.String("string"),
Delete: pulumi.String("string"),
Update: pulumi.String("string"),
},
})
Copy
var dbaasMysqlDatabaseV1Resource = new DbaasMysqlDatabaseV1("dbaasMysqlDatabaseV1Resource", DbaasMysqlDatabaseV1Args.builder()
    .datastoreId("string")
    .projectId("string")
    .region("string")
    .dbaasMysqlDatabaseV1Id("string")
    .name("string")
    .timeouts(DbaasMysqlDatabaseV1TimeoutsArgs.builder()
        .create("string")
        .delete("string")
        .update("string")
        .build())
    .build());
Copy
dbaas_mysql_database_v1_resource = selectel.DbaasMysqlDatabaseV1("dbaasMysqlDatabaseV1Resource",
    datastore_id="string",
    project_id="string",
    region="string",
    dbaas_mysql_database_v1_id="string",
    name="string",
    timeouts={
        "create": "string",
        "delete": "string",
        "update": "string",
    })
Copy
const dbaasMysqlDatabaseV1Resource = new selectel.DbaasMysqlDatabaseV1("dbaasMysqlDatabaseV1Resource", {
    datastoreId: "string",
    projectId: "string",
    region: "string",
    dbaasMysqlDatabaseV1Id: "string",
    name: "string",
    timeouts: {
        create: "string",
        "delete": "string",
        update: "string",
    },
});
Copy
type: selectel:DbaasMysqlDatabaseV1
properties:
    datastoreId: string
    dbaasMysqlDatabaseV1Id: string
    name: string
    projectId: string
    region: string
    timeouts:
        create: string
        delete: string
        update: string
Copy

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

DatastoreId This property is required. string
Unique identifier of the associated datastore. Changing this creates a new database. Retrieved from the selectel.DbaasMysqlDatastoreV1 resource.
ProjectId This property is required. string
Unique identifier of the associated project. Changing this creates a new database. Retrieved from the selectel.VpcProjectV2 resource. Learn more about Projects.
Region This property is required. string
Pool where the database is located, for example, ru-3. Changing this creates a new database. Learn more about available pools in the Availability matrix.
DbaasMysqlDatabaseV1Id string
Name string
Database name. Changing this creates a new database.
Timeouts DbaasMysqlDatabaseV1Timeouts
DatastoreId This property is required. string
Unique identifier of the associated datastore. Changing this creates a new database. Retrieved from the selectel.DbaasMysqlDatastoreV1 resource.
ProjectId This property is required. string
Unique identifier of the associated project. Changing this creates a new database. Retrieved from the selectel.VpcProjectV2 resource. Learn more about Projects.
Region This property is required. string
Pool where the database is located, for example, ru-3. Changing this creates a new database. Learn more about available pools in the Availability matrix.
DbaasMysqlDatabaseV1Id string
Name string
Database name. Changing this creates a new database.
Timeouts DbaasMysqlDatabaseV1TimeoutsArgs
datastoreId This property is required. String
Unique identifier of the associated datastore. Changing this creates a new database. Retrieved from the selectel.DbaasMysqlDatastoreV1 resource.
projectId This property is required. String
Unique identifier of the associated project. Changing this creates a new database. Retrieved from the selectel.VpcProjectV2 resource. Learn more about Projects.
region This property is required. String
Pool where the database is located, for example, ru-3. Changing this creates a new database. Learn more about available pools in the Availability matrix.
dbaasMysqlDatabaseV1Id String
name String
Database name. Changing this creates a new database.
timeouts DbaasMysqlDatabaseV1Timeouts
datastoreId This property is required. string
Unique identifier of the associated datastore. Changing this creates a new database. Retrieved from the selectel.DbaasMysqlDatastoreV1 resource.
projectId This property is required. string
Unique identifier of the associated project. Changing this creates a new database. Retrieved from the selectel.VpcProjectV2 resource. Learn more about Projects.
region This property is required. string
Pool where the database is located, for example, ru-3. Changing this creates a new database. Learn more about available pools in the Availability matrix.
dbaasMysqlDatabaseV1Id string
name string
Database name. Changing this creates a new database.
timeouts DbaasMysqlDatabaseV1Timeouts
datastore_id This property is required. str
Unique identifier of the associated datastore. Changing this creates a new database. Retrieved from the selectel.DbaasMysqlDatastoreV1 resource.
project_id This property is required. str
Unique identifier of the associated project. Changing this creates a new database. Retrieved from the selectel.VpcProjectV2 resource. Learn more about Projects.
region This property is required. str
Pool where the database is located, for example, ru-3. Changing this creates a new database. Learn more about available pools in the Availability matrix.
dbaas_mysql_database_v1_id str
name str
Database name. Changing this creates a new database.
timeouts DbaasMysqlDatabaseV1TimeoutsArgs
datastoreId This property is required. String
Unique identifier of the associated datastore. Changing this creates a new database. Retrieved from the selectel.DbaasMysqlDatastoreV1 resource.
projectId This property is required. String
Unique identifier of the associated project. Changing this creates a new database. Retrieved from the selectel.VpcProjectV2 resource. Learn more about Projects.
region This property is required. String
Pool where the database is located, for example, ru-3. Changing this creates a new database. Learn more about available pools in the Availability matrix.
dbaasMysqlDatabaseV1Id String
name String
Database name. Changing this creates a new database.
timeouts Property Map

Outputs

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

Id string
The provider-assigned unique ID for this managed resource.
Status string
Database status.
Id string
The provider-assigned unique ID for this managed resource.
Status string
Database status.
id String
The provider-assigned unique ID for this managed resource.
status String
Database status.
id string
The provider-assigned unique ID for this managed resource.
status string
Database status.
id str
The provider-assigned unique ID for this managed resource.
status str
Database status.
id String
The provider-assigned unique ID for this managed resource.
status String
Database status.

Look up Existing DbaasMysqlDatabaseV1 Resource

Get an existing DbaasMysqlDatabaseV1 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?: DbaasMysqlDatabaseV1State, opts?: CustomResourceOptions): DbaasMysqlDatabaseV1
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        datastore_id: Optional[str] = None,
        dbaas_mysql_database_v1_id: Optional[str] = None,
        name: Optional[str] = None,
        project_id: Optional[str] = None,
        region: Optional[str] = None,
        status: Optional[str] = None,
        timeouts: Optional[DbaasMysqlDatabaseV1TimeoutsArgs] = None) -> DbaasMysqlDatabaseV1
func GetDbaasMysqlDatabaseV1(ctx *Context, name string, id IDInput, state *DbaasMysqlDatabaseV1State, opts ...ResourceOption) (*DbaasMysqlDatabaseV1, error)
public static DbaasMysqlDatabaseV1 Get(string name, Input<string> id, DbaasMysqlDatabaseV1State? state, CustomResourceOptions? opts = null)
public static DbaasMysqlDatabaseV1 get(String name, Output<String> id, DbaasMysqlDatabaseV1State state, CustomResourceOptions options)
resources:  _:    type: selectel:DbaasMysqlDatabaseV1    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:
DatastoreId string
Unique identifier of the associated datastore. Changing this creates a new database. Retrieved from the selectel.DbaasMysqlDatastoreV1 resource.
DbaasMysqlDatabaseV1Id string
Name string
Database name. Changing this creates a new database.
ProjectId string
Unique identifier of the associated project. Changing this creates a new database. Retrieved from the selectel.VpcProjectV2 resource. Learn more about Projects.
Region string
Pool where the database is located, for example, ru-3. Changing this creates a new database. Learn more about available pools in the Availability matrix.
Status string
Database status.
Timeouts DbaasMysqlDatabaseV1Timeouts
DatastoreId string
Unique identifier of the associated datastore. Changing this creates a new database. Retrieved from the selectel.DbaasMysqlDatastoreV1 resource.
DbaasMysqlDatabaseV1Id string
Name string
Database name. Changing this creates a new database.
ProjectId string
Unique identifier of the associated project. Changing this creates a new database. Retrieved from the selectel.VpcProjectV2 resource. Learn more about Projects.
Region string
Pool where the database is located, for example, ru-3. Changing this creates a new database. Learn more about available pools in the Availability matrix.
Status string
Database status.
Timeouts DbaasMysqlDatabaseV1TimeoutsArgs
datastoreId String
Unique identifier of the associated datastore. Changing this creates a new database. Retrieved from the selectel.DbaasMysqlDatastoreV1 resource.
dbaasMysqlDatabaseV1Id String
name String
Database name. Changing this creates a new database.
projectId String
Unique identifier of the associated project. Changing this creates a new database. Retrieved from the selectel.VpcProjectV2 resource. Learn more about Projects.
region String
Pool where the database is located, for example, ru-3. Changing this creates a new database. Learn more about available pools in the Availability matrix.
status String
Database status.
timeouts DbaasMysqlDatabaseV1Timeouts
datastoreId string
Unique identifier of the associated datastore. Changing this creates a new database. Retrieved from the selectel.DbaasMysqlDatastoreV1 resource.
dbaasMysqlDatabaseV1Id string
name string
Database name. Changing this creates a new database.
projectId string
Unique identifier of the associated project. Changing this creates a new database. Retrieved from the selectel.VpcProjectV2 resource. Learn more about Projects.
region string
Pool where the database is located, for example, ru-3. Changing this creates a new database. Learn more about available pools in the Availability matrix.
status string
Database status.
timeouts DbaasMysqlDatabaseV1Timeouts
datastore_id str
Unique identifier of the associated datastore. Changing this creates a new database. Retrieved from the selectel.DbaasMysqlDatastoreV1 resource.
dbaas_mysql_database_v1_id str
name str
Database name. Changing this creates a new database.
project_id str
Unique identifier of the associated project. Changing this creates a new database. Retrieved from the selectel.VpcProjectV2 resource. Learn more about Projects.
region str
Pool where the database is located, for example, ru-3. Changing this creates a new database. Learn more about available pools in the Availability matrix.
status str
Database status.
timeouts DbaasMysqlDatabaseV1TimeoutsArgs
datastoreId String
Unique identifier of the associated datastore. Changing this creates a new database. Retrieved from the selectel.DbaasMysqlDatastoreV1 resource.
dbaasMysqlDatabaseV1Id String
name String
Database name. Changing this creates a new database.
projectId String
Unique identifier of the associated project. Changing this creates a new database. Retrieved from the selectel.VpcProjectV2 resource. Learn more about Projects.
region String
Pool where the database is located, for example, ru-3. Changing this creates a new database. Learn more about available pools in the Availability matrix.
status String
Database status.
timeouts Property Map

Supporting Types

DbaasMysqlDatabaseV1Timeouts
, DbaasMysqlDatabaseV1TimeoutsArgs

Create string
Delete string
Update string
Create string
Delete string
Update string
create String
delete String
update String
create string
delete string
update string
create str
delete str
update str
create String
delete String
update String

Import

You can import a database:

export OS_DOMAIN_NAME=<account_id>

export OS_USERNAME=

export OS_PASSWORD=

export INFRA_PROJECT_ID=<selectel_project_id>

export INFRA_REGION=<selectel_pool>

$ pulumi import selectel:index/dbaasMysqlDatabaseV1:DbaasMysqlDatabaseV1 database_1 <database_id>
Copy

where:

  • <account_id> — Selectel account ID. The account ID is in the top right corner of the Control panel. Learn more about Registration.

  • <username> — Name of the service user. To get the name, in the Control panel, go to Identity & Access ManagementUser management ⟶ the Service users tab ⟶ copy the name of the required user. Learn more about Service users.

  • <password> — Password of the service user.

  • <selectel_project_id> — Unique identifier of the associated project. To get the ID, in the Control panel, go to Cloud Platform ⟶ project name ⟶ copy the ID of the required project. Learn more about Projects.

  • <selectel_pool> — Pool where the cluster is located, for example, ru-3. To get information about the pool, in the Control panel, go to Cloud PlatformManaged Databases. The pool is in the Pool column.

  • <database_id> — Unique identifier of the database, for example, b311ce58-2658-46b5-b733-7a0f418703f2. To get the database ID, in the Control panel, go to Cloud PlatformManaged Databases ⟶ the cluster page ⟶ the Databases tab ⟶ copy the ID under the database name.

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

Package Details

Repository
selectel selectel/terraform-provider-selectel
License
Notes
This Pulumi package is based on the selectel Terraform Provider.