aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/yandex-cloud-api-protos/yandex/cloud/vpc/v1/address_service.proto
diff options
context:
space:
mode:
authoriddqd <iddqd@yandex-team.com>2024-06-11 10:12:13 +0300
committeriddqd <iddqd@yandex-team.com>2024-06-11 10:22:43 +0300
commit07f57e35443ab7f09471caf2dbf1afbcced4d9f7 (patch)
treea4a7b66ead62e83fa988a2ec2ce6576311c1f4b1 /contrib/libs/yandex-cloud-api-protos/yandex/cloud/vpc/v1/address_service.proto
parent6db3b8ca95e44179e48306a58656fb1f9317d9c3 (diff)
downloadydb-07f57e35443ab7f09471caf2dbf1afbcced4d9f7.tar.gz
add contrib/python/yandexcloud to import
03b7d3cad2237366b55b393e18d4dc5eb222798c
Diffstat (limited to 'contrib/libs/yandex-cloud-api-protos/yandex/cloud/vpc/v1/address_service.proto')
-rw-r--r--contrib/libs/yandex-cloud-api-protos/yandex/cloud/vpc/v1/address_service.proto328
1 files changed, 328 insertions, 0 deletions
diff --git a/contrib/libs/yandex-cloud-api-protos/yandex/cloud/vpc/v1/address_service.proto b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/vpc/v1/address_service.proto
new file mode 100644
index 0000000000..f79d25b822
--- /dev/null
+++ b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/vpc/v1/address_service.proto
@@ -0,0 +1,328 @@
+syntax = "proto3";
+
+package yandex.cloud.vpc.v1;
+
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+import "yandex/cloud/api/operation.proto";
+import "yandex/cloud/operation/operation.proto";
+import "yandex/cloud/validation.proto";
+import "yandex/cloud/vpc/v1/address.proto";
+
+option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/vpc/v1;vpc";
+option java_package = "yandex.cloud.api.vpc.v1";
+
+// A set of methods for managing Address resources.
+service AddressService {
+ // Returns the specified Address resource.
+ //
+ // To get the list of all available Address resources, make a [List] request.
+ rpc Get(GetAddressRequest) returns (Address) {
+ option (google.api.http) = {get: "/vpc/v1/addresses/{address_id}"};
+ }
+
+ // Returns the specified Address resource by a given value.
+ //
+ // To get the list of all available Address resources, make a [List] request.
+ rpc GetByValue(GetAddressByValueRequest) returns (Address) {
+ option (google.api.http) = {get: "/vpc/v1/addresses:byValue"};
+ }
+
+ // Retrieves the list of Address resources in the specified folder.
+ rpc List(ListAddressesRequest) returns (ListAddressesResponse) {
+ option (google.api.http) = {get: "/vpc/v1/addresses"};
+ }
+
+ // Creates an address in the specified folder and network.
+ rpc Create(CreateAddressRequest) returns (operation.Operation) {
+ option (google.api.http) = {
+ post: "/vpc/v1/addresses"
+ body: "*"
+ };
+ option (yandex.cloud.api.operation) = {
+ metadata: "CreateAddressMetadata"
+ response: "Address"
+ };
+ }
+
+ // Updates the specified address.
+ rpc Update(UpdateAddressRequest) returns (operation.Operation) {
+ option (google.api.http) = {
+ patch: "/vpc/v1/addresses/{address_id}"
+ body: "*"
+ };
+ option (yandex.cloud.api.operation) = {
+ metadata: "UpdateAddressMetadata"
+ response: "Address"
+ };
+ }
+
+ // Deletes the specified address.
+ rpc Delete(DeleteAddressRequest) returns (operation.Operation) {
+ option (google.api.http) = {delete: "/vpc/v1/addresses/{address_id}"};
+ option (yandex.cloud.api.operation) = {
+ metadata: "DeleteAddressMetadata"
+ response: "google.protobuf.Empty"
+ };
+ }
+
+ // List operations for the specified address.
+ rpc ListOperations(ListAddressOperationsRequest) returns (ListAddressOperationsResponse) {
+ option (google.api.http) = {get: "/vpc/v1/addresses/{address_id}/operations"};
+ }
+
+ // Move an address to another folder
+ rpc Move(MoveAddressRequest) returns (operation.Operation) {
+ option (google.api.http) = {
+ post: "/vpc/v1/addresses/{address_id}:move"
+ body: "*"
+ };
+ option (yandex.cloud.api.operation) = {
+ metadata: "MoveAddressMetadata"
+ response: "Address"
+ };
+ }
+}
+
+message GetAddressRequest {
+ // ID of the Address resource to return.
+ //
+ // To get Address resource ID make a [AddressService.List] request.
+ string address_id = 1 [
+ (required) = true,
+ (length) = "<=50"
+ ];
+}
+
+message GetAddressByValueRequest {
+ // External ipv4 address specification.
+ oneof address {
+ string external_ipv4_address = 1;
+ }
+}
+
+message ListAddressesRequest {
+ // ID of the folder to list addresses in.
+ //
+ // To get the folder ID use a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
+ string folder_id = 1 [
+ (required) = true,
+ (length) = "<=50"
+ ];
+
+ // The maximum number of results per page to return. If the number of available
+ // results is larger than `page_size`, the service returns a [ListAddressesResponse.next_page_token]
+ // that can be used to get the next page of results in subsequent list requests.
+ // Default value: 100.
+ int64 page_size = 2 [(value) = "<=1000"];
+
+ // Page token. To get the next page of results, set `page_token` to the
+ // [ListAddressesResponse.next_page_token] returned by a previous list request.
+ string page_token = 3 [(length) = "<=100"];
+
+ // A filter expression that filters Address listed in the response.
+ //
+ // The expression must specify:
+ // 1. The field name. Currently you can use filtering only on [Address.name] field.
+ // 2. An `=` operator.
+ // 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
+ // Example of a filter: `name=my-address`.
+ string filter = 4;
+}
+
+message ListAddressesResponse {
+ // List of addresses.
+ repeated Address addresses = 1;
+
+ // Token for getting the next page of the list. If the number of results is greater than
+ // the specified [ListAddressesRequest.page_size], use `next_page_token` as the value
+ // for the [ListAddressesRequest.page_token] parameter in the next list request.
+ //
+ // Each subsequent page will have its own `next_page_token` to continue paging through the results.
+ string next_page_token = 2;
+}
+
+message CreateAddressRequest {
+ reserved 6 to 9;
+ // ID of the folder to create a address in.
+ //
+ // To get a folder ID make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
+ string folder_id = 1 [
+ (required) = true,
+ (length) = "<=50"
+ ];
+
+ // Name of the address.
+ // The name must be unique within the folder.
+ string name = 2 [(pattern) = "|[a-zA-Z]([-_a-zA-Z0-9]{0,61}[a-zA-Z0-9])?"];
+
+ // Description of the address.
+ string description = 3 [(length) = "<=256"];
+
+ // Address labels as `key:value` pairs.
+ map<string, string> labels = 4 [
+ (yandex.cloud.size) = "<=64",
+ (length) = "<=63",
+ (pattern) = "[-_0-9a-z]*",
+ (map_key).length = "1-63",
+ (map_key).pattern = "[a-z][-_0-9a-z]*"
+ ];
+
+ // External ipv4 address specification.
+ oneof address_spec {
+ ExternalIpv4AddressSpec external_ipv4_address_spec = 5;
+ }
+ // Specifies if address protected from deletion.
+ bool deletion_protection = 10;
+
+ // Optional DNS record specifications
+ repeated DnsRecordSpec dns_record_specs = 11;
+}
+
+message ExternalIpv4AddressSpec {
+ // Value of address.
+ string address = 1; // if unspecified, one will be automatically allocated from other params
+
+ // Availability zone from which the address will be allocated.
+ string zone_id = 2; // only if address unspecified
+
+ // Parameters of the allocated address, for example DDoS Protection.
+ AddressRequirements requirements = 3;
+}
+
+message DnsRecordSpec {
+ // Required. DNS record name (absolute or relative to the DNS zone in use).
+ string fqdn = 1 [(required) = true];
+
+ // Required. ID of the public DNS zone. The maximum string length in characters is 20.
+ string dns_zone_id = 2 [
+ (required) = true,
+ (length) = "20"
+ ];
+
+ // TTL of record. Acceptable values are 0 to 86400, inclusive.
+ int64 ttl = 3 [(value) = "0-86400"];
+
+ // Optional. If the PTR record is required, this parameter must be set to "true".
+ bool ptr = 4;
+}
+
+message CreateAddressMetadata {
+ // ID of the address that is being created.
+ string address_id = 1;
+}
+
+message UpdateAddressRequest {
+ // ID of the address to update.
+ //
+ // To get the address ID make a [AddressService.List] request.
+ string address_id = 1 [
+ (required) = true,
+ (length) = "<=50"
+ ];
+
+ // Field mask that specifies which attributes of the Address should be updated.
+ google.protobuf.FieldMask update_mask = 2;
+
+ // New name for the address.
+ // The name must be unique within the folder.
+ string name = 3 [(pattern) = "|[a-zA-Z]([-_a-zA-Z0-9]{0,61}[a-zA-Z0-9])?"];
+
+ // New description of the address.
+ string description = 4 [(length) = "<=256"];
+
+ // Address labels as `key:value` pairs.
+ //
+ // Existing set of labels is completely replaced by the provided set, so if you just want
+ // to add or remove a label:
+ // 1. Get the current set of labels with a [AddressService.Get] request.
+ // 2. Add or remove a label in this set.
+ // 3. Send the new set in this field.
+ map<string, string> labels = 5 [
+ (yandex.cloud.size) = "<=64",
+ (length) = "<=63",
+ (pattern) = "[-_0-9a-z]*",
+ (map_key).length = "1-63",
+ (map_key).pattern = "[a-z][-_0-9a-z]*"
+ ];
+
+ // Specifies if address is reserved or not.
+ bool reserved = 6;
+
+ // Specifies if address protected from deletion.
+ bool deletion_protection = 7;
+
+ // Optional DNS record specifications
+ repeated DnsRecordSpec dns_record_specs = 8;
+}
+
+message UpdateAddressMetadata {
+ // ID of the Address that is being updated.
+ string address_id = 1;
+}
+
+message DeleteAddressRequest {
+ // ID of the address to delete.
+ //
+ // To get a address ID make a [AddressService.List] request.
+ string address_id = 1 [
+ (required) = true,
+ (length) = "<=50"
+ ];
+}
+
+message DeleteAddressMetadata {
+ // ID of the address that is being deleted.
+ string address_id = 1;
+}
+
+message ListAddressOperationsRequest {
+ // ID of the address to list operations for.
+ //
+ // To get a address ID make a [AddressService.List] request.
+ string address_id = 1 [
+ (required) = true,
+ (length) = "<=50"
+ ];
+
+ // The maximum number of results per page to return. If the number of available
+ // results is larger than [page_size], the service returns a [ListAddressOperationsResponse.next_page_token]
+ // that can be used to get the next page of results in subsequent list requests.
+ // Default value: 100.
+ int64 page_size = 2 [(value) = "<=1000"];
+
+ // Page token. To get the next page of results, set [page_token] to the
+ // [ListAddressOperationsResponse.next_page_token] returned by a previous list request.
+ string page_token = 3 [(length) = "<=100"];
+}
+
+message ListAddressOperationsResponse {
+ // List of operations for the specified address.
+ repeated operation.Operation operations = 1;
+
+ // Token for getting the next page of the list. If the number of results is greater than
+ // the specified [ListAddressOperationsRequest.page_size], use `next_page_token` as the value
+ // for the [ListAddressOperationsRequest.page_token] parameter in the next list request.
+ //
+ // Each subsequent page will have its own `next_page_token` to continue paging through the results.
+ string next_page_token = 2;
+}
+
+message MoveAddressRequest {
+ // ID of the address that is being moved.
+ string address_id = 1 [
+ (required) = true,
+ (length) = "<=50"
+ ];
+
+ // ID of the folder to move address to.
+ string destination_folder_id = 2 [
+ (required) = true,
+ (length) = "<=50"
+ ];
+}
+
+message MoveAddressMetadata {
+ // ID of the address that is being moved.
+ string address_id = 1;
+}