Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions nebius/dns/v1/record.proto
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ option java_package = "ai.nebius.pub.dns.v1";
message Record {
// DNS record metadata
// `metadata.parent_id` must be a DNS zone ID
common.v1.ResourceMetadata metadata = 1;
common.v1.ResourceMetadata metadata = 1 [(nid) = {
parent_resource: ["dnszone"]
}];

// DNS record specification, including its relative name, type, data and TTL
RecordSpec spec = 2;
Expand Down Expand Up @@ -122,7 +124,12 @@ message RecordStatus {
// Request to get the DNS record by its ID and, optionally, its resource version
message GetRecordRequest {
// Record ID
string id = 1 [(buf.validate.field).required = true];
string id = 1 [
(buf.validate.field).required = true,
(nid) = {
resource: ["dnsrecord"]
}
];

// Optional: expected record version (`metadata.resource_version`)
// - If specified, the requested version will be returned if possible (if the version has changed, you will get a `FAILED_PRECONDITION` error)
Expand All @@ -135,7 +142,12 @@ message GetRecordRequest {
// Request to list DNS records in the specified parent DNS zone
message ListRecordsRequest {
// Parent DNS zone ID
string parent_id = 1 [(buf.validate.field).required = true];
string parent_id = 1 [
(buf.validate.field).required = true,
(nid) = {
resource: ["dnszone"]
}
];

// Page size
// If not specified or set to `0`, a default page size of `100` will be used
Expand Down
23 changes: 19 additions & 4 deletions nebius/dns/v1/zone.proto
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ option java_package = "ai.nebius.pub.dns.v1";
message Zone {
// DNS zone metadata
// `metadata.parent_id` must be an IAM Container ID
common.v1.ResourceMetadata metadata = 1;
common.v1.ResourceMetadata metadata = 1 [(nid) = {
parent_resource: ["project"]
}];

// DNS zone specification, including its domain name and scope
ZoneSpec spec = 2;
Expand Down Expand Up @@ -63,7 +65,10 @@ message VpcZoneScope {
// This value cannot be changed after creating the zone
string primary_network_id = 1 [
(buf.validate.field).required = true,
(field_behavior) = IMMUTABLE
(field_behavior) = IMMUTABLE,
(nid) = {
resource: ["vpcnetwork"]
}
];
}

Expand All @@ -87,7 +92,12 @@ message ZoneStatus {
// Request to get the DNS zone by its ID and, optionally, its resource version
message GetZoneRequest {
// Zone ID
string id = 1 [(buf.validate.field).required = true];
string id = 1 [
(buf.validate.field).required = true,
(nid) = {
resource: ["dnszone"]
}
];

// Optional: expected zone version (`metadata.resource_version`)
// - If specified, the requested version will be returned if possible (if the version has changed, you will get a `FAILED_PRECONDITION` error)
Expand All @@ -100,7 +110,12 @@ message GetZoneRequest {
// Request to list DNS zones in the specified parent IAM container
message ListZonesRequest {
// Parent IAM container ID
string parent_id = 1 [(buf.validate.field).required = true];
string parent_id = 1 [
(buf.validate.field).required = true,
(nid) = {
resource: ["project"]
}
];

// Page size
// If not specified or set to `0`, a default page size of `100` will be used
Expand Down
Loading