Yandex Cloud
Search
Contact UsGet started
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • AI for business
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
© 2025 Direct Cursus Technology L.L.C.
Terraform in Yandex Cloud
  • Getting started
  • Solution library
    • Overview
    • Release notes
          • mdb_sharded_postgresql_cluster
          • mdb_sharded_postgresql_database
          • mdb_sharded_postgresql_shard
          • mdb_sharded_postgresql_user

In this article:

  • Example usage
  • Schema
  • Required
  • Optional
  • Read-Only
  • Nested Schema for permissions
  • Nested Schema for timeouts
  • Import
  1. Terraform reference
  2. Resources
  3. Managed Service for Sharded PostgreSQL
  4. Resources
  5. mdb_sharded_postgresql_user

yandex_mdb_sharded_postgresql_user (Resource)

Written by
Yandex Cloud
Updated at September 11, 2025
  • Example usage
  • Schema
    • Required
    • Optional
    • Read-Only
    • Nested Schema for permissions
    • Nested Schema for timeouts
  • Import

Manages a Sharded PostgreSQL user within the Yandex.Cloud

Example usageExample usage

//
// Create a new MDB Sharded PostgreSQL database User.
//
resource "yandex_mdb_sharded_postgresql_user" "my_user" {
  cluster_id = yandex_mdb_sharded_postgresql_cluster.my_user.id
  name       = "alice"
  password   = "password"
  settings = {
    connection_limit = 300
    connection_retries = 5
  }
}

resource "yandex_mdb_sharded_postgresql_cluster" "default" {
  name        = "test"
  environment = "PRESTABLE"
  network_id  = yandex_vpc_network.foo.id

  config = {
    sharded_postgresql_config = {
      common = {
        console_password = "P@ssw0rd"
      }
      router = {
        resources = {
          resource_preset_id = "s2.micro"
          disk_type_id       = "network-ssd"
          disk_size          = 32
        }
      }
    }
  }

  hosts = {
    "router1" = {
      zone      = "ru-central1-a"
      subnet_id = yandex_vpc_subnet.foo.id
      assign_public_ip = false
      type = "ROUTER"
    }
  }
}

// Auxiliary resources
resource "yandex_vpc_network" "foo" {}

resource "yandex_vpc_subnet" "foo" {
  zone           = "ru-central1-d"
  network_id     = yandex_vpc_network.foo.id
  v4_cidr_blocks = ["10.5.0.0/24"]
}

SchemaSchema

RequiredRequired

  • cluster_id (String) ID of the Sharded PostgreSQL cluster. Provided by the client when the user is created.
  • name (String) Name of the Sharded PostgreSQL user. Provided by the client when the user is created.

OptionalOptional

  • grants (Set of String)
  • password (String, Sensitive) Password of the Sharded PostgreSQL user. Provided by the client when the user is created.
  • permissions (Block Set) Block represents databases that are permitted to user. (see below for nested schema)
  • settings (Map of String)
  • timeouts (Attributes) (see below for nested schema)

Read-OnlyRead-Only

  • id (String) The resource identifier.

Nested Schema for Nested Schema for permissions

Required:

  • database (String) Name of the database that the permission grants access to.

Nested Schema for Nested Schema for timeouts

Optional:

  • create (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
  • delete (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
  • update (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

ImportImport

The resource can be imported by using their resource ID. For getting the resource ID you can use Yandex Cloud Web Console or YC CLI.

# terraform import yandex_mdb_sharded_postgresql_user.<resource Name> <resource Id>
terraform import yandex_mdb_sharded_postgresql_user.my_user ...

Was the article helpful?

Previous
mdb_sharded_postgresql_shard
Next
trino_access_control
© 2025 Direct Cursus Technology L.L.C.