aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/yandex-cloud-api-protos/yandex/cloud/mdb/postgresql/v1/database.proto
blob: 31182508e42f76a8ca05315eb1b52895d75b975f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
syntax = "proto3";

package yandex.cloud.mdb.postgresql.v1;

import "google/protobuf/wrappers.proto";
import "yandex/cloud/validation.proto";

option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/mdb/postgresql/v1;postgresql";
option java_package = "yandex.cloud.api.mdb.postgresql.v1";

// A PostgreSQL Database resource. For more information, see
// the [Developer's Guide](/docs/managed-postgresql/concepts).
message Database {
  // Name of the database.
  string name = 1;

  // ID of the PostgreSQL cluster that the database belongs to.
  string cluster_id = 2;

  // Name of the user assigned as the owner of the database.
  string owner = 3;

  // POSIX locale for string sorting order.
  // Can only be set at creation time.
  string lc_collate = 4;

  // POSIX locale for character classification.
  // Can only be set at creation time.
  string lc_ctype = 5;

  // PostgreSQL extensions enabled for the database.
  repeated Extension extensions = 6;

  // Name of the database template.
  string template_db = 7;

  // Deletion Protection inhibits deletion of the database
  //
  // Default value: `unspecified` (inherits cluster's deletion_protection)
  google.protobuf.BoolValue deletion_protection = 8;
}

message Extension {
  // Name of the extension, e.g. `pg_trgm` or `pg_btree`.
  // Extensions supported by Managed Service for PostgreSQL are [listed in the Developer's Guide](/docs/managed-postgresql/operations/extensions/cluster-extensions).
  string name = 1;

  // Version of the extension.
  string version = 2;
}

message DatabaseSpec {
  // Name of the PostgreSQL database. 1-63 characters long.
  string name = 1 [(required) = true, (length) = "<=63", (pattern) = "[a-zA-Z0-9_-]*"];

  // Name of the user to be assigned as the owner of the database.
  // To get the list of available PostgreSQL users, make a [UserService.List] request.
  string owner = 2 [(required) = true, (length) = "<=63", (pattern) = "[a-zA-Z0-9_-]*"];

  // POSIX locale for string sorting order.
  // Can only be set at creation time.
  string lc_collate = 3 [(pattern) = "|[a-zA-Z_]+.UTF-8|C"];

  // POSIX locale for character classification.
  // Can only be set at creation time.
  string lc_ctype = 4 [(pattern) = "|[a-zA-Z_]+.UTF-8|C"];

  // PostgreSQL extensions to be enabled for the database.
  repeated Extension extensions = 5;

  // Name of the PostgreSQL database template.
  string template_db = 6 [(length) = "<=63", (pattern) = "[a-zA-Z0-9_-]*"];

  // Deletion Protection inhibits deletion of the database
  //
  // Default value: `unspecified` (inherits cluster's deletion_protection)
  google.protobuf.BoolValue deletion_protection = 7;
}