diff options
author | iddqd <iddqd@yandex-team.com> | 2024-06-11 10:12:13 +0300 |
---|---|---|
committer | iddqd <iddqd@yandex-team.com> | 2024-06-11 10:22:43 +0300 |
commit | 07f57e35443ab7f09471caf2dbf1afbcced4d9f7 (patch) | |
tree | a4a7b66ead62e83fa988a2ec2ce6576311c1f4b1 /contrib/libs/yandex-cloud-api-protos/yandex/cloud/vpc/v1/address_service.proto | |
parent | 6db3b8ca95e44179e48306a58656fb1f9317d9c3 (diff) | |
download | ydb-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.proto | 328 |
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; +} |