Protobuf Documentation
This is the gRPC protobuf documentation for the GPROCE API. The documentation is generated from the protobuf files. You can find the protobuf files on the buf.build schema registry.
gpcore/api/cloud/v1/user.proto
BasicUser
Field | Type | Description |
---|---|---|
id | string | |
username | string | |
full_name | string | |
string | ||
avatar_url | string | |
type | UserType | |
timezone | string | |
tags | UserTag | |
node_limit | int32 |
User
Field | Type | Description |
---|---|---|
id | string | User uuid |
username | string | Username (not unique!) |
number | string | Customer number |
full_name | string | Full name for user |
string | User e-mail address | |
confirmed | bool | Returns true if user email is confirmed |
locked | bool | Returns true if user email is locked |
avatar_url | string | Avatar URL |
node_limit | int32 | Compute limit |
keycloak_id | string | |
type | UserType | |
timezone | string | |
tags | UserTag | |
default_plan_code | string | |
last_login_at | google.protobuf.Timestamp | |
created_at | google.protobuf.Timestamp | |
updated_at | google.protobuf.Timestamp |
UserTag
Enum
Name | Number | Description |
---|---|---|
USER_TAG_UNSPECIFIED | 0 | |
USER_TAG_NO_COMPANY | 1 | User does not require to have a valid company and VAT number |
USER_TAG_NO_CREDIT_CARD | 2 | User does not require to have a valid credit card |
USER_TAG_ACCESS_TO_CLOUD_PROVIDERS | 3 | User can access the cloud providers BETA features |
UserType
Enum
Name | Number | Description |
---|---|---|
USER_TYPE_UNSPECIFIED | 0 | |
USER_TYPE_USER | 1 | |
USER_TYPE_SERVICE_ACCOUNT | 2 |
gpcore/api/cloud/v1/region.proto
Datacenter
Field | Type | Description |
---|---|---|
id | string | |
name | string | |
short | string | |
region | Region | |
status | DatacenterStatus | |
latency_endpoint | string | |
management_vlan_ids | int32 | |
server_prefix | string | |
netbox_id | int64 |
Region
Field | Type | Description |
---|---|---|
id | string | |
name | string | |
country_code | string | Country code ISO 3166-1 alpha-2 |
datacenters | Datacenter | |
netbox_id | int64 | |
created_at | google.protobuf.Timestamp | |
updated_at | google.protobuf.Timestamp |
DatacenterStatus
Enum
Name | Number | Description |
---|---|---|
DATACENTER_STATUS_UNSPECIFIED | 0 | |
DATACENTER_STATUS_AVAILABLE | 1 | |
DATACENTER_STATUS_COMING_SOON | 2 | |
DATACENTER_STATUS_UNAVAILABLE | 3 |
gpcore/type/v1/price.proto
Price
Field | Type | Description |
---|---|---|
amount | int64 | |
currency | string | ISO 4217 code |
formatted | string | Formatted string of price |
gpcore/api/cloud/v1/flavour.proto
BasicFlavour
Field | Type | Description |
---|---|---|
id | string | |
name | string |
Flavour
Field | Type | Description |
---|---|---|
id | string | |
name | string | |
availability | FlavourAvailability | |
cpu | string | |
memory | string | |
disk | string | |
network | string | |
traffic | int64 | Traffic given in GB/month |
price_per_hour | gpcore.type.v1.Price | Price per hour |
windows_monthly_fee | gpcore.type.v1.Price | Optional windows price per month |
price_per_month | gpcore.type.v1.Price | Price per month |
FlavourMapping
Field | Type | Description |
---|---|---|
datacenter_id | string | |
available | bool | Deprecated. |
pre_order_limit | int32 | |
price_per_hour | gpcore.type.v1.Price | |
price_per_month | gpcore.type.v1.Price |
FlavourAvailability
Enum
Name | Number | Description |
---|---|---|
FLAVOUR_AVAILABILITY_UNSPECIFIED | 0 | |
FLAVOUR_AVAILABILITY_OUT_OF_STOCK | 1 | |
FLAVOUR_AVAILABILITY_PREORDER | 2 | |
FLAVOUR_AVAILABILITY_LOW | 3 | |
FLAVOUR_AVAILABILITY_MIDDLE | 4 | |
FLAVOUR_AVAILABILITY_HIGH | 5 |
gpcore/api/cloud/v1/server_pool.proto
ServerPool
Field | Type | Description |
---|---|---|
id | string | |
name | string | |
one_time | bool | |
created_at | google.protobuf.Timestamp | |
updated_at | google.protobuf.Timestamp |
gpcore/api/cloud/v1/payment.proto
Currency
Available currencies in the system. This will map to an ISO 4217 currency code in the database.
Enum
Name | Number | Description |
---|---|---|
CURRENCY_UNSPECIFIED | 0 | |
CURRENCY_EURO | 1 | |
CURRENCY_US_DOLLAR | 2 |
gpcore/api/cloud/v1/billing.proto
Bill
Bill represents an invoice, which the customer need to be payed (or already has payed) in form of a URL to a PDF. The PDF itself contains the billable resources and their amount (with separate taxes). The BillStatus will indicate, if the bill is already payed, if there is any problem with that bill or is still pending. Every Bill is associated with a BillingProfile, which itself represents the user/company which need to pay the bill.
Field | Type | Description |
---|---|---|
id | string | Bill uuid |
number | string | |
billing_profile | BillingProfile | Associated Billing Profile |
status | BillStatus | Status |
net_price | gpcore.type.v1.Price | |
tax_price | gpcore.type.v1.Price | |
gross_price | gpcore.type.v1.Price | |
credit_price | gpcore.type.v1.Price | |
total_price | gpcore.type.v1.Price | |
issued_at | google.protobuf.Timestamp |
BillingProfile
Field | Type | Description |
---|---|---|
id | string | |
company | BillingProfileCompany | |
name | string | |
country_code | string | |
state | string | |
street | string | |
city | string | |
postcode | string | |
billing_email | string | |
tax_rate | float | |
created_at | google.protobuf.Timestamp | |
updated_at | google.protobuf.Timestamp |
BillingProfileCompany
Field | Type | Description |
---|---|---|
name | string | |
vat_id | string |
BillStatus
BillStatus in which a bill can be. New bills/invoices will be in the pending state. If there are payed, the status changed to succeeded. If the payment failed, the status is set to failed. A bill status can be changed on external triggers (a bill is being payed, a previously failed bill is retried and succeeded on the second try, ...).
Enum
Name | Number | Description |
---|---|---|
BILL_STATUS_UNSPECIFIED | 0 | |
BILL_STATUS_PENDING | 1 | |
BILL_STATUS_SUCCEEDED | 2 | |
BILL_STATUS_FAILED | 3 |
BillingPeriod
Enum
Name | Number | Description |
---|---|---|
BILLING_PERIOD_UNSPECIFIED | 0 | |
BILLING_PERIOD_HOURLY | 1 | |
BILLING_PERIOD_MONTHLY | 2 | |
BILLING_PERIOD_DELETED | 3 |
gpcore/type/v1/ssh_key.proto
SSHKey
Field | Type | Description |
---|---|---|
id | string | |
name | string | |
type | SSHKeyType | |
public_key | string | |
fingerprint | string |
SSHKeyType
Enum
Name | Number | Description |
---|---|---|
SSH_KEY_TYPE_UNSPECIFIED | 0 | |
SSH_KEY_TYPE_RSA | 1 | |
SSH_KEY_TYPE_DSA | 2 | |
SSH_KEY_TYPE_ECDSA | 3 | |
SSH_KEY_TYPE_ED25519 | 4 |
gpcore/type/v1/cloud_provider.proto
CloudProviderType
CloudProviderType is an enum for the type of cloud provider vendor identifier.
Enum
Name | Number | Description |
---|---|---|
CLOUD_PROVIDER_TYPE_UNSPECIFIED | 0 | |
CLOUD_PROVIDER_TYPE_AWS | 1 | |
CLOUD_PROVIDER_TYPE_TENCENT | 2 |
gpcore/api/cloud/v1/project.proto
BasicProject
Field | Type | Description |
---|---|---|
id | string | |
name | string | |
avatar_url | string |
Project
Field | Type | Description |
---|---|---|
id | string | |
name | string | Project name |
description | string | Deprecated. Deprecated. This will be removed on 2025/03/01. |
avatar_url | string | Avatar URL |
currency | Currency | Currency used for that specific project |
environment | ProjectEnvironment | Deprecated. Deprecated. This will be removed on 2025/03/01. |
members | ProjectMember | Members |
billing_profile | BillingProfile | Linked billing address |
server_pools | ServerPool | Project assigned server pools |
created_at | google.protobuf.Timestamp | Project timestamps |
updated_at | google.protobuf.Timestamp |
ProjectCloudProvider
ProjectCloudProvider is a message for the cloud provider information of a project. A project can have multiple cloud providers assigned to it to provide additional external computing power to the project.
Field | Type | Description |
---|---|---|
id | string | UUID of the cloud provider |
type | gpcore.type.v1.CloudProviderType | Type of the cloud provider |
region | string | Region identifier of the cloud provider |
name | string | An optional name for the cloud provider reference |
valid | bool | If the cloud provider is enabled and can be accessed by the project (e.g. API token is valid, the region is correct and available, ...) |
created_at | google.protobuf.Timestamp | Timestamp when the cloud provider was added to the project |
updated_at | google.protobuf.Timestamp | Timestamp when the cloud provider was last updated (by the user or and internal mechanism like setting valid to false due to an invalid API token) |
ProjectFlavourUsage
Field | Type | Description |
---|---|---|
flavour | BasicFlavour | |
period | BillingPeriod | |
total | gpcore.type.v1.Price | |
units | double | |
unit_type | UsageUnitType | |
node_usages | ProjectNodeUsage |
ProjectInvite
Field | Type | Description |
---|---|---|
id | string | |
project | BasicProject | |
created_at | google.protobuf.Timestamp |
ProjectLog
Field | Type | Description |
---|---|---|
id | string | |
user | BasicUser | |
message | string | |
created_at | google.protobuf.Timestamp | |
updated_at | google.protobuf.Timestamp |
ProjectMember
Field | Type | Description |
---|---|---|
user | BasicUser | |
role | ProjectMemberRole | |
confirmed | bool | |
default | bool | |
created_at | google.protobuf.Timestamp | |
updated_at | google.protobuf.Timestamp |
ProjectNodeUsage
Field | Type | Description |
---|---|---|
id | string | |
name | string | |
started_at | google.protobuf.Timestamp | |
ended_at | google.protobuf.Timestamp |
ProjectSSHKey
Field | Type | Description |
---|---|---|
ssh_key | gpcore.type.v1.SSHKey | |
user | BasicUser |
ProjectUsage
Field | Type | Description |
---|---|---|
total | gpcore.type.v1.Price | |
flavour_usages | ProjectFlavourUsage |
ProjectEnvironment
Deprecated. This will be removed on 2025/03/01.
Enum
Name | Number | Description |
---|---|---|
PROJECT_ENVIRONMENT_UNSPECIFIED | 0 | |
PROJECT_ENVIRONMENT_DEVELOPMENT | 1 | |
PROJECT_ENVIRONMENT_STAGING | 2 | |
PROJECT_ENVIRONMENT_PRODUCTION | 3 |
ProjectLockReason
Enum
Name | Number | Description |
---|---|---|
PROJECT_LOCK_REASON_UNSPECIFIED | 0 | |
PROJECT_LOCK_REASON_MISSING_BILLING_PROFILE | 1 | |
PROJECT_LOCK_REASON_MISSING_PAYMENT_PROFILE | 2 | |
PROJECT_LOCK_REASON_MISSING_SUBSCRIPTION | 3 | |
PROJECT_LOCK_REASON_SUBSCRIPTION_NOT_ACTIVE | 4 |
ProjectMemberRole
Enum
Name | Number | Description |
---|---|---|
PROJECT_MEMBER_ROLE_UNSPECIFIED | 0 | |
PROJECT_MEMBER_ROLE_OWNER | 1 | |
PROJECT_MEMBER_ROLE_MEMBER | 2 |
UsageUnitType
Enum
Name | Number | Description |
---|---|---|
USAGE_UNIT_TYPE_UNSPECIFIED | 0 | |
USAGE_UNIT_TYPE_HOURS | 1 | |
USAGE_UNIT_TYPE_MONTHS | 2 | |
USAGE_UNIT_TYPE_CORES | 3 |
gpcore/api/cloud/v1/network.proto
Cidr
Field | Type | Description |
---|---|---|
ip_version | IPVersion | |
cidr | string |
IPAddress
Field | Type | Description |
---|---|---|
address | Cidr | |
subnet | Subnet | |
primary | bool | |
online | bool |
Network
Field | Type | Description |
---|---|---|
id | string | |
name | string | |
type | NetworkType | |
project | BasicProject | |
subnets | Subnet | |
vlan_id | int32 | |
datacenter | Datacenter | |
pool_size | int64 | |
pool_available | int64 | |
created_at | google.protobuf.Timestamp | |
updated_at | google.protobuf.Timestamp |
Subnet
Field | Type | Description |
---|---|---|
id | string | |
network | Network | |
cidr | Cidr | |
gateway_ip | Cidr | |
dhcp | bool | |
pool_start | Cidr | |
pool_end | Cidr | |
pool_size | int64 | |
pool_available | int64 |
IPVersion
Enum
Name | Number | Description |
---|---|---|
IP_VERSION_UNSPECIFIED | 0 | |
IP_VERSION_IPV4 | 1 | |
IP_VERSION_IPV6 | 2 |
NetworkType
Enum
Name | Number | Description |
---|---|---|
NETWORK_TYPE_UNSPECIFIED | 0 | |
NETWORK_TYPE_PUBLIC | 1 | |
NETWORK_TYPE_MANAGEMENT | 2 |
gpcore/api/cloud/v1/switch.proto
Switch
Switch represents a network switch of various types
Field | Type | Description |
---|---|---|
id | string | Switch uuid |
type | SwitchType | Type of switch |
ip_address | string | IP Address for the uplink port |
name | string | Switch name |
netbox_id | int64 | Netbox ID |
SwitchType
Enum
Name | Number | Description |
---|---|---|
SWITCH_TYPE_UNSPECIFIED | 0 | |
SWITCH_TYPE_JUNIPER | 1 | |
SWITCH_TYPE_JUNIPER_LEGACY | 2 | |
SWITCH_TYPE_FS | 3 |
gpcore/type/v1/monitoring.proto
MonitoringState
Field | Type | Description |
---|---|---|
components | MonitoringState.Component | |
updated_at | google.protobuf.Timestamp |
MonitoringState.Component
Field | Type | Description |
---|---|---|
target | MonitoringTarget | |
heath_state | HealthState |
HealthState
Enum
Name | Number | Description |
---|---|---|
HEALTH_STATE_UNSPECIFIED | 0 | |
HEALTH_STATE_OK | 1 | |
HEALTH_STATE_WARNING | 2 | |
HEALTH_STATE_CRITICAL | 3 |
MonitoringTarget
Enum
Name | Number | Description |
---|---|---|
MONITORING_TARGET_UNSPECIFIED | 0 | |
MONITORING_TARGET_REDFISH | 1 | |
MONITORING_TARGET_SYSTEM | 2 | |
MONITORING_TARGET_MEMORY | 3 | |
MONITORING_TARGET_DISK | 4 |
gpcore/api/cloud/v1/server.proto
BasicServer
Field | Type | Description |
---|---|---|
id | string | |
name | string | |
datacenter | Datacenter |
IPHistory
Field | Type | Description |
---|---|---|
id | string | |
ip_address | string | |
user | BasicUser | |
created_at | google.protobuf.Timestamp | |
updated_at | google.protobuf.Timestamp | |
deleted_at | google.protobuf.Timestamp |
PlatformManagement
Field | Type | Description |
---|---|---|
type | PlatformManagementType | |
ip | string | |
username | string | |
password | string | |
online | bool | |
server_id | string |
Server
Field | Type | Description |
---|---|---|
id | string | |
name | string | |
datacenter | Datacenter | |
netbox_link | string | |
ironic_id | string | |
flavour | Flavour | |
status | ServerStatus | |
interfaces | ServerInterface | |
platform_management_type | PlatformManagementType | |
in_pool | bool | |
power_state | ServerPowerState | |
provision_state | ServerProvisioningState | |
in_use | bool | |
last_error | string | |
monitoring_state | gpcore.type.v1.MonitoringState | Monitoring state of the server |
is_broken | bool | Monitoring detected server as broken |
server_pool | ServerPool | Server pool information |
last_inspection_at | google.protobuf.Timestamp | |
status_updated_at | google.protobuf.Timestamp | |
provision_state_changed_at | google.protobuf.Timestamp | |
last_sync_at | google.protobuf.Timestamp | |
created_at | google.protobuf.Timestamp | |
updated_at | google.protobuf.Timestamp |
ServerInterface
Field | Type | Description |
---|---|---|
id | string | |
type | NetworkType | |
mac_address | string | |
driver | string | |
speed | int32 | |
ips | IPAddress | |
server_id | string | Server ID |
switch | Switch | Switch |
switch_port | string | |
available | bool | |
created_at | google.protobuf.Timestamp | ServerInterface timestamps |
updated_at | google.protobuf.Timestamp |
ServerLog
Field | Type | Description |
---|---|---|
id | string | |
message | string | |
level | ServerLogLevelType | |
source | ServerLogSourceType | |
server | BasicServer | |
created_at | google.protobuf.Timestamp | |
updated_at | google.protobuf.Timestamp |
PlatformManagementType
Enum
Name | Number | Description |
---|---|---|
PLATFORM_MANAGEMENT_TYPE_UNSPECIFIED | 0 | |
PLATFORM_MANAGEMENT_TYPE_IDRAC8 | 1 | |
PLATFORM_MANAGEMENT_TYPE_IDRAC9 | 2 | |
PLATFORM_MANAGEMENT_TYPE_ILO5 | 3 | |
PLATFORM_MANAGEMENT_TYPE_ASRR | 4 | |
PLATFORM_MANAGEMENT_TYPE_IPMI | 5 |
ServerAction
Enum
Name | Number | Description |
---|---|---|
SERVER_ACTION_UNSPECIFIED | 0 | |
SERVER_ACTION_RESTART_SWITCH_PORT | 1 | |
SERVER_ACTION_SYNC_NETBOX | 2 | |
SERVER_ACTION_SYNC_IRONIC | 3 | |
SERVER_ACTION_RECREATE_PM_CUSTOMER | 4 |
ServerLogLevelType
Enum
Name | Number | Description |
---|---|---|
SERVER_LOG_LEVEL_TYPE_UNSPECIFIED | 0 | |
SERVER_LOG_LEVEL_TYPE_INFO | 1 | |
SERVER_LOG_LEVEL_TYPE_WARNING | 2 | |
SERVER_LOG_LEVEL_TYPE_ERROR | 3 |
ServerLogSourceType
Enum
Name | Number | Description |
---|---|---|
SERVER_LOG_SOURCE_TYPE_UNSPECIFIED | 0 | |
SERVER_LOG_SOURCE_TYPE_INTERNAL | 1 | |
SERVER_LOG_SOURCE_TYPE_METADATA | 2 | |
SERVER_LOG_SOURCE_TYPE_IRONIC | 3 | |
SERVER_LOG_SOURCE_TYPE_NETBOX | 4 |
ServerPowerState
Enum
Name | Number | Description |
---|---|---|
SERVER_POWER_STATE_UNSPECIFIED | 0 | |
SERVER_POWER_STATE_ON | 1 | |
SERVER_POWER_STATE_OFF | 2 | |
SERVER_POWER_STATE_RESET | 3 |
ServerProvisioningState
Enum
Name | Number | Description |
---|---|---|
SERVER_PROVISIONING_STATE_UNSPECIFIED | 0 | |
SERVER_PROVISIONING_STATE_ENROLL | 1 | |
SERVER_PROVISIONING_STATE_VERIFYING | 2 | |
SERVER_PROVISIONING_STATE_MANAGEABLE | 3 | |
SERVER_PROVISIONING_STATE_AVAILABLE | 4 | |
SERVER_PROVISIONING_STATE_ACTIVE | 5 | |
SERVER_PROVISIONING_STATE_DEPLOY_WAIT | 6 | |
SERVER_PROVISIONING_STATE_DEPLOYING | 7 | |
SERVER_PROVISIONING_STATE_DEPLOY_FAIL | 8 | |
SERVER_PROVISIONING_STATE_DEPLOY_DONE | 9 | |
SERVER_PROVISIONING_STATE_DELETING | 10 | |
SERVER_PROVISIONING_STATE_DELETED | 11 | |
SERVER_PROVISIONING_STATE_CLEANING | 12 | |
SERVER_PROVISIONING_STATE_CLEAN_WAIT | 13 | |
SERVER_PROVISIONING_STATE_CLEAN_FAIL | 14 | |
SERVER_PROVISIONING_STATE_ERROR | 15 | |
SERVER_PROVISIONING_STATE_REBUILD | 16 | |
SERVER_PROVISIONING_STATE_INSPECTING | 17 | |
SERVER_PROVISIONING_STATE_INSPECT_FAIL | 18 | |
SERVER_PROVISIONING_STATE_INSPECT_WAIT | 19 | |
SERVER_PROVISIONING_STATE_ADOPTING | 20 | |
SERVER_PROVISIONING_STATE_ADOPT_FAIL | 21 | |
SERVER_PROVISIONING_STATE_RESCUE | 22 | |
SERVER_PROVISIONING_STATE_RESCUE_FAIL | 23 | |
SERVER_PROVISIONING_STATE_RESCUING | 24 | |
SERVER_PROVISIONING_STATE_UNRESCUE_FAIL | 25 | |
SERVER_PROVISIONING_STATE_RESCUE_WAIT | 26 | |
SERVER_PROVISIONING_STATE_UNRESCUING | 27 |
ServerStatus
Enum
Name | Number | Description |
---|---|---|
SERVER_STATUS_UNSPECIFIED | 0 | |
SERVER_STATUS_IMPORTING | 1 | |
SERVER_STATUS_IMPORTED | 2 | |
SERVER_STATUS_DELETING | 3 |
gpcore/api/cloud/v1/cloud_provider.proto
CloudProviderImage
Field | Type | Description |
---|---|---|
id | string | The internal ID of the mapped cloud provider image |
type | gpcore.type.v1.CloudProviderType | The type of the cloud provider |
cloud_provider_image_id | string | The ID of the image in the cloud provider |
created_at | google.protobuf.Timestamp | |
updated_at | google.protobuf.Timestamp |
CloudProviderInterface
Field | Type | Description |
---|---|---|
mac_address | string | The MAC address of the interface |
ip_addresses | string | The IP addresses of the interface |
CloudProviderResource
Field | Type | Description |
---|---|---|
id | string | The ID that the cloud provider uses to identify the resource |
name | string | The name of the resource on the cloud provider |
type | string | The flavour of the resource on the cloud provider |
interfaces | CloudProviderInterface | The cloud provider instance interfaces |
node_id | string | If the resource is already imported into GPCORE, the node_id is set |
permalink | string | Permalink to the resource on the cloud provider web panel |
created_at | google.protobuf.Timestamp | Creation date of the resource on the cloud provider |
gpcore/type/v1/file.proto
File
Field | Type | Description |
---|---|---|
bytes | bytes | File content in bytes. |
mime_type | string | File mime type. |
gpcore/api/cloud/v1/image.proto
BasicImage
Field | Type | Description |
---|---|---|
id | string | |
alias | string | |
name | string | |
username | string | Default username for login |
public | bool | |
available | bool | |
authentication_types | AuthenticationType | |
release | ImageRelease | |
contains_spla_license | bool | If the image contains a SPLA license, you wil be charged for the usage, The price depends on your selected hardware configuration, use GetProjectFlavours to get the SPLA license price for the selected hardware configuration. |
If you like to use your own Windows license, you need to upload a custom image. | | created_at | google.protobuf.Timestamp | | | updated_at | google.protobuf.Timestamp | |
Image
Field | Type | Description |
---|---|---|
id | string | |
operating_system | OperatingSystem | |
name | string | |
username | string | Default username for login |
public | bool | |
available | bool | |
authentication_types | AuthenticationType | |
project | Project | |
versions | ImageVersion | |
image_upload | ImageUpload | |
vendor_data | string | |
alias | string | |
release | ImageRelease | |
cloud_provider_images | CloudProviderImage | |
contains_spla_license | bool | If the image contains a SPLA license, you wil be charged for the usage, The price depends on your selected hardware configuration, use GetProjectFlavours to get the SPLA license price for the selected hardware configuration. |
If you like to use your own Windows license, you need to upload a custom image. | | created_at | google.protobuf.Timestamp | | | updated_at | google.protobuf.Timestamp | |
ImageChecksum
Field | Type | Description |
---|---|---|
type | ImageChecksumType | |
checksum | string |
ImageUpload
Field | Type | Description |
---|---|---|
upload_url | string | |
token | string |
ImageVersion
Field | Type | Description |
---|---|---|
id | string | |
size | int64 | |
available | bool | |
checksum | ImageChecksum | |
format | ImageFormatType | |
created_at | google.protobuf.Timestamp | |
updated_at | google.protobuf.Timestamp |
OperatingSystem
Field | Type | Description |
---|---|---|
id | string | |
name | string | |
family | OperatingSystemFamily | |
icon | gpcore.type.v1.File | |
default_image_id | string | |
images | BasicImage |
ProvisioningImage
Field | Type | Description |
---|---|---|
id | string | |
alias | string | TODO: Alias not used? |
AuthenticationType
Enum
Name | Number | Description |
---|---|---|
AUTHENTICATION_TYPE_UNSPECIFIED | 0 | |
AUTHENTICATION_TYPE_PASSWORD | 1 | |
AUTHENTICATION_TYPE_SSH | 2 |
ImageChecksumType
Enum
Name | Number | Description |
---|---|---|
IMAGE_CHECKSUM_TYPE_UNSPECIFIED | 0 | |
IMAGE_CHECKSUM_TYPE_MD5 | 1 | |
IMAGE_CHECKSUM_TYPE_SHA1 | 2 | |
IMAGE_CHECKSUM_TYPE_SHA256 | 3 | |
IMAGE_CHECKSUM_TYPE_SHA512 | 4 |
ImageFormatType
Enum
Name | Number | Description |
---|---|---|
IMAGE_FORMAT_TYPE_UNSPECIFIED | 0 | |
IMAGE_FORMAT_TYPE_RAW | 1 | |
IMAGE_FORMAT_TYPE_QCOW2 | 2 | |
IMAGE_FORMAT_TYPE_RAW_GZIP | 3 |
ImageRelease
Enum
Name | Number | Description |
---|---|---|
IMAGE_RELEASE_UNSPECIFIED | 0 | |
IMAGE_RELEASE_STABLE | 1 | |
IMAGE_RELEASE_PRE_RELEASE | 2 | |
IMAGE_RELEASE_END_OF_LIFE | 3 |
OperatingSystemFamily
Enum
Name | Number | Description |
---|---|---|
OPERATING_SYSTEM_FAMILY_UNSPECIFIED | 0 | |
OPERATING_SYSTEM_FAMILY_WINDOWS | 1 | |
OPERATING_SYSTEM_FAMILY_LINUX | 2 |
gpcore/type/v1/pagination.proto
PaginationRequest
PaginationRequest specifies the page (the subset of the complete result set) we want to receive and an optional limit.
Field | Type | Description |
---|---|---|
page | int32 | The current portion of the result set we are interested in. A page is the position in the result set multiplied by the limit. Its the analogy to a page in a book. A page can contain "limit" amount of items. |
limit | int32 | Specify the number of items to get as a result set. The limit is also used to calculate the starting offset. If the limit is not set, a reasonable default value is set for the specific RPC call. CPU intense calls like the ListNodes call have a lower default limit than a low profile call like ListServerLogs. If you specify the limit, you need to set it to a lower value than the default limit. If your specified limit is higher than the default limit for that call, it will be reduced to the default limit. The response contains the changed limit as as separate field. |
PaginationResponse
PaginationResponse specifies the metadata for the current subset of the result set. This helps to set the result set in relation of the complete list of available results. This includes the selected page, the (maybe changed) limit and the total number of pages available.
Field | Type | Description |
---|---|---|
page | int32 | The current portion of the result set. A page is the position in the result set multiplied by the limit. Its the analogy to a page in a book. A page can contain "limit" amount of items. Remember that the last page may contain less than "limit" items. |
total | int32 | Total number of PAGES available in the complete result set. Useful to build the pagination UI or for iterating over the pages. |
limit | int32 | The number of items in the result set. This may be differ from the limit specify in the request. If the limit is not set at all in the request, it will be set to the default value for that specific RPC call. If the limit in the request is higher than the default value, it will be set back to the default value to not stress the backend too much. |
gpcore/type/v1/search.proto
Filter
Field | Type | Description |
---|---|---|
name | string | |
string_value | string | |
integer_value | int64 | |
boolean_value | bool |
SearchOption
Field | Type | Description |
---|---|---|
name | string | |
label | string | Optional label to display for the search option if not set, name is being used. |
description | string | Optional description to display for the search option |
type | SearchOptionType | Type of the search option |
validation_regex | string | |
dropdown_values | SearchOption.DropdownValuesEntry | Possible dropdown values when type is SEARCH_OPTION_TYPE_DROPDOWN |
SearchOption.DropdownValuesEntry
Field | Type | Description |
---|---|---|
key | string | |
value | string |
SearchOptions
Field | Type | Description |
---|---|---|
options | SearchOption |
SearchRequest
Field | Type | Description |
---|---|---|
filters | Filter |
SearchOptionType
Enum
Name | Number | Description |
---|---|---|
SEARCH_OPTION_TYPE_UNSPECIFIED | 0 | |
SEARCH_OPTION_TYPE_STRING | 1 | |
SEARCH_OPTION_TYPE_INTEGER | 2 | |
SEARCH_OPTION_TYPE_DROPDOWN | 3 | |
SEARCH_OPTION_TYPE_BOOLEAN | 4 |
gpcore/api/cloud/v1/node.proto
BasicNode
Field | Type | Description |
---|---|---|
id | string | |
project_id | string | Project uuid |
fqdn | string | |
created_at | google.protobuf.Timestamp | Timestamp when the node is created |
updated_at | google.protobuf.Timestamp | Timestamp when the node is updates the last rime |
Node
Node represents a "server" unit
Field | Type | Description |
---|---|---|
id | string | Node uuid |
project_id | string | Project uuid |
fqdn | string | FQDN |
status | ServerProvisioningState | Provisioning state |
network_interfaces | NodeNetworkInterface | List of network interface associated with the node |
tags | Node.TagsEntry | List of key/value tags |
datacenter | Datacenter | Datacenter in which the node is located |
flavour | Flavour | The flavour used on the node |
image | Image | The image used on the node |
has_console_access | bool | True if the server has console access |
billing_period | BillingPeriod | Billing period |
power_state | ServerPowerState | Calculated price gpcore.type.v1.Price price = 13; State of the node when it will renewed gpcore.api.cloud.v1.NodeRenewState renew_state = 14; In what power state the server is currently |
has_spla_license | bool | True if the node has a SPLA license |
target_billing_period | BillingPeriod | If there is a change of the billing period pending, it will be shown here |
login_hint | NodeLoginHint | Login hint for the node if available |
is_managed | bool | True if node is managed |
monitoring_state | gpcore.type.v1.MonitoringState | Monitoring state of the node |
cloud_provider | ProjectCloudProvider | Cloud provider account information |
cloud_provider_resource_id | string | Cloud provider resource id |
permalink | string | Permalink to the resource. If it is a GPCORE own bare metal server, this will link to the specific node in the web panel. If it is a external cloud provider resource, it will link to the resource in the cloud provider web panel. |
paid_until_at | google.protobuf.Timestamp | Timestamp to which the node is paid |
created_at | google.protobuf.Timestamp | Timestamp when the node is created |
updated_at | google.protobuf.Timestamp | Timestamp when the node is updates the last rime |
Node.TagsEntry
Field | Type | Description |
---|---|---|
key | string | |
value | string |
NodeLoginHint
Field | Type | Description |
---|---|---|
username | string | |
has_password | bool |
NodeNetworkInterface
Field | Type | Description |
---|---|---|
mac | string | |
ip_addresses | string | |
type | NetworkType |
NodeProvisioning
Field | Type | Description |
---|---|---|
fqdn | string | |
user_data | string | |
ssh_keys | gpcore.type.v1.SSHKey | |
password | string |
RescueMode
Field | Type | Description |
---|---|---|
enabled | bool | |
password | string |
UserNodeLimit
Field | Type | Description |
---|---|---|
limit | int32 | |
current | int32 |
gpcore/api/cloud/v1/notification.proto
Notification
Notification holds a notification message, which can be a user, a project or a node.
Field | Type | Description |
---|---|---|
user | User | |
project | Project | |
node | Node | |
server_log | ServerLog | |
heartbeat | google.protobuf.Timestamp |
gpcore/v1/options.proto
Dummy
We need to somehow use the google/rpc/error_details.proto to stop the proto lint state of the pipeline complaining about an unused import. The import is needed, because otherwise the proto compiler will not provide the necessary interfaces in the JS and TS files generated for the website client.
Field | Type | Description |
---|---|---|
debug_info | google.rpc.DebugInfo |
GPCORESettings
Field | Type | Description |
---|---|---|
authorization_type | AuthorizationType | Authorization type for endpoint. |
required_roles | string | Define which roles are required to access the endpoint. |
audiences | string | Check for single JWT token audience is present. |
AuthorizationType
Enum
Name | Number | Description |
---|---|---|
AUTHORIZATION_TYPE_UNSPECIFIED | 0 | |
AUTHORIZATION_TYPE_PUBLIC | 1 | |
AUTHORIZATION_TYPE_USER | 2 | |
AUTHORIZATION_TYPE_CLIENT | 3 |
File-level Extensions
Extension | Type | Base | Number | Description |
---|---|---|---|---|
api | GPCORESettings | .google.protobuf.MethodOptions | 1100 |
gpcore/api/auth/v1/client.proto
Client
Field | Type | Description |
---|---|---|
id | string | |
name | string | |
description | string | |
service_account | gpcore.api.cloud.v1.BasicUser | |
secret | string | |
created_at | google.protobuf.Timestamp | |
updated_at | google.protobuf.Timestamp |
gpcore/api/auth/v1/requests.proto
CreateClientRequest
Field | Type | Description |
---|---|---|
name | string | |
description | string |
DeleteClientRequest
Field | Type | Description |
---|---|---|
id | string |
GetClientRequest
Field | Type | Description |
---|---|---|
id | string |
GetUserRequest
ListClientsRequest
Field | Type | Description |
---|---|---|
pagination | gpcore.type.v1.PaginationRequest | Pagination |
RegisterRequest
Field | Type | Description |
---|---|---|
string | ||
password | string | |
recaptcha_token | string | |
first_name | string | |
last_name | string |
ResendConfirmEMailRequest
ResetClientSecretRequest
Field | Type | Description |
---|---|---|
id | string |
UpdateClientRequest
Field | Type | Description |
---|---|---|
id | string | |
name | string | |
description | string |
gpcore/api/cloud/v1/token.proto
AccessTokenPair
Field | Type | Description |
---|---|---|
access_token | string | |
refresh_token | string |
gpcore/api/auth/v1/responses.proto
CreateClientResponse
Field | Type | Description |
---|---|---|
client | Client |
DeleteClientResponse
GetClientResponse
Field | Type | Description |
---|---|---|
client | Client |
GetUserResponse
Field | Type | Description |
---|---|---|
user | gpcore.api.cloud.v1.User |
ListClientsResponse
Field | Type | Description |
---|---|---|
clients | Client | |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of items available. May be differ from the number of results from this response because of the pagination. |
RegisterResponse
Field | Type | Description |
---|---|---|
user | gpcore.api.cloud.v1.User | |
tokens | gpcore.api.cloud.v1.AccessTokenPair |
ResendConfirmEMailResponse
ResetClientSecretResponse
Field | Type | Description |
---|---|---|
secret | string |
UpdateClientResponse
Field | Type | Description |
---|---|---|
client | Client |
gpcore/api/auth/v1/rpc.proto
AuthService
AuthService provides authentication and authorization services.
Register
Service Method
- Request: RegisterRequest
- Response: RegisterResponse
GetUser
Service Method
- Request: GetUserRequest
- Response: GetUserResponse
ResendConfirmEMail
Service Method
- Request: ResendConfirmEMailRequest
- Response: ResendConfirmEMailResponse
ListClients
ListClients returns a list of your OAuth 2 / OpenID Connect clients.
Service Method
- Request: ListClientsRequest
- Response: ListClientsResponse
CreateClient
CreateClient creates a new OAuth 2 / OpenID Connect client inclusive a service account. The client secret is returned in the response as well, please store it securely.
Service Method
- Request: CreateClientRequest
- Response: CreateClientResponse
GetClient
GetClient returns the details of an OAuth 2 / OpenID Connect client by its ID.
Service Method
- Request: GetClientRequest
- Response: GetClientResponse
UpdateClient
UpdateClient updates an OAuth 2 / OpenID Connect client by its ID.
Service Method
- Request: UpdateClientRequest
- Response: UpdateClientResponse
DeleteClient
DeleteClient deletes an OAuth 2 / OpenID Connect client by its ID.
Service Method
- Request: DeleteClientRequest
- Response: DeleteClientResponse
ResetClientSecret
ResetClientSecret resets the client secret of an OAuth 2 / OpenID Connect client by its ID. Please store the new client secret securely.
Service Method
- Request: ResetClientSecretRequest
- Response: ResetClientSecretResponse
gpcore/api/cloud/v1/metadata.proto
Metadata
Field | Type | Description |
---|---|---|
instance_id | string | |
hostname | string | |
vendor_data | bytes | |
vendor_data_2 | bytes | |
user_data | bytes | |
availability_zone | string | |
project_id | string | |
username | string | |
password | string | |
flavour | string | |
ssh_keys | gpcore.type.v1.SSHKey | |
interfaces | MetadataNetworkInterface | |
dns | MetadataNetworkDNS |
MetadataNetworkDNS
Field | Type | Description |
---|---|---|
nameservers | string |
MetadataNetworkInterface
Field | Type | Description |
---|---|---|
mac_address | string | |
vlan | MetadataNetworkInterfaceVLAN | |
ipv4 | MetadataNetworkInterfaceIP |
MetadataNetworkInterfaceIP
Field | Type | Description |
---|---|---|
ip_address | string | |
netmask | string | |
prefix | string | |
gateway | string |
MetadataNetworkInterfaceVLAN
Field | Type | Description |
---|---|---|
id | int32 | |
tagged | bool |
MetadataReport
Field | Type | Description |
---|---|---|
ip_address | string | |
message | string | |
level | ServerLogLevelType | |
timestamp | google.protobuf.Timestamp |
gpcore/api/cloud/v1/monitoring.proto
MonitoringStatus
Field | Type | Description |
---|---|---|
ip_address | string | |
reachable | bool |
MonitoringTarget
Field | Type | Description |
---|---|---|
id | string | |
ip_address | string | |
tag | MonitoringTag |
MonitoringTag
Enum
Name | Number | Description |
---|---|---|
MONITORING_TAG_UNSPECIFIED | 0 | |
MONITORING_TAG_PLATFORM_MANAGEMENT | 1 | |
MONITORING_TAG_SERVER | 2 |
gpcore/api/cloud/v1/requests.proto
ChangeDefaultProjectRequest
ChangeDefaultProjectRequest changes the default project.
Field | Type | Description |
---|---|---|
id | string | Project uuid |
ChangeNodeBillingPeriodRequest
Field | Type | Description |
---|---|---|
id | string | |
project_id | string | |
billing_period | BillingPeriod |
ChangeNodeRescueModeRequest
Field | Type | Description |
---|---|---|
id | string | |
project_id | string | |
rescue_mode | RescueMode |
CreateNodeRequest
CreateNodeRequest creates a new node
Field | Type | Description |
---|---|---|
project_id | string | Project uuid |
flavour_id | string | Flavour uuid |
datacenter_id | string | Datacenter uuid |
password | string | Optional password |
ssh_key_ids | string | List of ssh public keys uuid. If empty, a password need to be set. If the password is also empty, a random password will be generated. |
image_id | string | Image uuid |
user_data | string | Custom user data |
fqdns | string | List of FQDNs used |
billing_period | BillingPeriod | Billing period used for that node |
CreateProjectCloudProviderRequest
CreateProjectCloudProviderRequest creates a new cloud provider reference for a project. After creating a new cloud provider reference, it is invalid (valid flag set to false) until the API token is validated. This will be checked in the background and the valid flag will be set to true if the validation was successful.
Field | Type | Description |
---|---|---|
project_id | string | Project uuid |
name | string | Identifier for the cloud provider |
type | gpcore.type.v1.CloudProviderType | Type of the cloud provider |
api_key_id | string | API token ID to access the cloud provider (access token ID or something else) |
api_key_secret | string | API token secret to access the cloud provider (access token secret or something else) |
region | string | Region identifier of the cloud provider |
CreateProjectImageRequest
Field | Type | Description |
---|---|---|
id | string | Project uuid |
name | string | Name of the image |
authentication_types | AuthenticationType | List of supported authentication types |
available | bool | If the image can be used for new nodes |
CreateProjectRequest
CreateProjectRequest create a new project. After creating a new project, you can specify additional settings for a project like
Field | Type | Description |
---|---|---|
name | string | Project name, will be shown as the title in the UI |
description | string | Deprecated. Deprecated. This will be removed on 2025/03/01. |
environment | ProjectEnvironment | Deprecated. Deprecated. This will be removed on 2025/03/01. |
billing_address_id | string | Billing profile id TODO: Rename to billing_profile_id |
CreateUserSSHKeyRequest
Field | Type | Description |
---|---|---|
name | string | |
public_key | string |
DeleteProjectCloudProviderRequest
DeleteProjectCloudProviderRequest deletes the cloud provider reference for a project. The actual cloud provider account will not be touched, only the reference in the project.
Field | Type | Description |
---|---|---|
project_id | string | Project uuid |
cloud_provider_id | string | Cloud provider uuid |
DeleteProjectImageRequest
Field | Type | Description |
---|---|---|
id | string | |
project_id | string |
DeleteProjectImageVersionRequest
Field | Type | Description |
---|---|---|
id | string | |
project_id | string |
DeleteProjectRequest
DeleteProjectRequest delete the project associated with the given uuid.
Field | Type | Description |
---|---|---|
id | string | Project uuid |
DeleteUserSSHKeyRequest
Field | Type | Description |
---|---|---|
id | string |
DestroyNodeRequest
DestroyNodeRequest deletes a node
Field | Type | Description |
---|---|---|
id | string | Node uuid |
project_id | string | Project uuid |
GetBillingProfileBillDetailsRequest
Field | Type | Description |
---|---|---|
id | string | Billing Profile uuid |
bill_id | string | Bill uuid |
GetBillingProfileBillPdfRequest
Field | Type | Description |
---|---|---|
id | string | Billing Profile uuid |
bill_id | string | Bill uuid |
GetNodeRequest
GetNodeRequest requests a single node
Field | Type | Description |
---|---|---|
id | string | Node uuid |
project_id | string | Project uuid |
GetNodeSearchOptionsRequest
Field | Type | Description |
---|---|---|
id | string | Project uuid |
GetProjectCloudProviderRequest
GetProjectCloudProviderRequest get a specific cloud provider for a project.
Field | Type | Description |
---|---|---|
project_id | string | Project uuid |
cloud_provider_id | string | Cloud provider uuid |
GetProjectImageRequest
Field | Type | Description |
---|---|---|
id | string | |
project_id | string |
GetProjectLocksRequest
GetProjectLocksRequest requests a list of locks based on the given project.
Field | Type | Description |
---|---|---|
id | string | Project uuid |
GetProjectRequest
GetProjectRequest return the project associated with the given uuid.
Field | Type | Description |
---|---|---|
id | string | Project uuid |
GetProjectUsageRequest
Field | Type | Description |
---|---|---|
id | string | Project uuid |
detailed | bool | When detailed is false only the total amount will be returned. |
GetRemoteConsoleAccessRequest
Field | Type | Description |
---|---|---|
id | string |
GetSplaPriceRequest
Field | Type | Description |
---|---|---|
id | string |
GetUserNodeLimitRequest
ImportProjectCloudProviderResourceRequest
Field | Type | Description |
---|---|---|
project_id | string | Project uuid |
cloud_provider_id | string | Cloud provider uuid |
resource_id | string | Resource ID |
InviteMemberToProjectRequest
InviteMemberToProjectRequest invite new member to a project.
Field | Type | Description |
---|---|---|
id | string | Project uuid |
identifier | string | Email address or User ID which you want to invite. This could be also a Service Account User ID. If adding Service Account, the client will be directly added to the project. |
JoinProjectRequest
JoinProjectRequest join or reject a project invite.
Field | Type | Description |
---|---|---|
id | string | Project uuid to join |
accept | bool | Accept (true) or reject (false) invite |
LeaveProjectRequest
LeaveProjectRequest leave a project membership.
Field | Type | Description |
---|---|---|
id | string | Project uuid |
ListBillingProfileBillsRequest
ListProjectBillsRequest requests a list of bills
Field | Type | Description |
---|---|---|
id | string | Billing Profile uuid |
pagination | gpcore.type.v1.PaginationRequest | Pagination |
year | int32 | Optional only for the given year |
ListBillingProfileProjectsRequest
ListBillingProfileProjectsRequest requests a list of projects associated to a given billing profile.
Field | Type | Description |
---|---|---|
id | string | Billing Profile uuid |
pagination | gpcore.type.v1.PaginationRequest | Pagination |
ListCountriesRequest
Request to get all countries.
Field | Type | Description |
---|---|---|
pagination | gpcore.type.v1.PaginationRequest | Pagination |
ListDatacentersRequest
Request to get all datacenters.
Field | Type | Description |
---|---|---|
pagination | gpcore.type.v1.PaginationRequest | Pagination |
ListNodesRequest
ListNodesRequest requests the list of all available images.
Field | Type | Description |
---|---|---|
id | string | Project uuid |
pagination | gpcore.type.v1.PaginationRequest | Pagination |
search | string | Optional search term |
extended_search | gpcore.type.v1.SearchRequest | Optional extended search |
ListProjectCloudProviderResourcesRequest
Field | Type | Description |
---|---|---|
project_id | string | Project uuid |
cloud_provider_id | string | Cloud provider uuid |
pagination | gpcore.type.v1.PaginationRequest | Pagination |
ListProjectCloudProvidersRequest
ListProjectMembersRequest list all assigned cloud providers for a project.
Field | Type | Description |
---|---|---|
project_id | string | Project uuid |
pagination | gpcore.type.v1.PaginationRequest | Pagination |
ListProjectFlavoursRequest
Request to get all project flavours.
Field | Type | Description |
---|---|---|
id | string | |
datacenter_id | string | |
include_sold_out | bool | Determines if sold out flavours should be included in the response. |
pagination | gpcore.type.v1.PaginationRequest | Pagination |
ListProjectImagesRequest
Field | Type | Description |
---|---|---|
id | string | Project uuid |
pagination | gpcore.type.v1.PaginationRequest | Pagination |
ListProjectLogsRequest
ListProjectLogsRequest requests an audit log for a given project.
Field | Type | Description |
---|---|---|
id | string | Project uuid |
pagination | gpcore.type.v1.PaginationRequest | Pagination |
search | string | Optional search term |
user_id | string | Optional user uuid filter |
ListProjectSSHKeysRequest
Field | Type | Description |
---|---|---|
id | string | |
pagination | gpcore.type.v1.PaginationRequest | Pagination (ignored for now) |
ListProjectSupportPackagesRequest
@deprecated
Field | Type | Description |
---|---|---|
id | string | Deprecated. |
ListProjectSupportTicketsRequest
Ticket Board @deprecated
Field | Type | Description |
---|---|---|
id | string | Deprecated. |
ListProjectsRequest
ListProjectsRequest list the users projects.
Field | Type | Description |
---|---|---|
pagination | gpcore.type.v1.PaginationRequest | Pagination |
ListPublicImagesRequest
Request to get all public images
Field | Type | Description |
---|---|---|
flavour_id | string | Deprecated. deprecated no longer in use |
pagination | gpcore.type.v1.PaginationRequest | Pagination |
cloud_provider_type | gpcore.type.v1.CloudProviderType | Filter by cloud provider type (optional) |
ListTimezonesRequest
Request to get all timezones.
Field | Type | Description |
---|---|---|
pagination | gpcore.type.v1.PaginationRequest | Pagination |
ListUserSSHKeysRequest
Field | Type | Description |
---|---|---|
pagination | gpcore.type.v1.PaginationRequest | Pagination (ignored for now) |
PowerActionNodeRequest
Field | Type | Description |
---|---|---|
id | string | |
project_id | string | |
power_state | ServerPowerState |
ReinstallNodeRequest
ReinstallNodeRequest reinstall a previously created node.
Field | Type | Description |
---|---|---|
id | string | Node uuid |
project_id | string | Project uuid |
fqdn | string | Optional new FQDN of the hostname. Old FQDN will be used if empty. |
password | string | Optional root password which will set after provisioning. This is just a backup solution if no ssh public keys are given. If no password is given, a random password is generated. |
ssh_key_ids | string | List of ssh public keys uuids used to log in to ssh. All keys need to belong to members of the project. |
image_id | string | Image uuid |
user_data | string | Custom user data |
RemoveMemberFromProjectRequest
RemoveMemberFromProjectRequest removes the user from the project.
Field | Type | Description |
---|---|---|
id | string | Project uuid |
user_id | string | User uuid |
SubscribeNotificationsRequest
SubscribeNotificationsRequest subscribe to notifications
UpdateNodeRequest
UpdateNodeRequest updates a nodes FQDN and tags.
Field | Type | Description |
---|---|---|
id | string | Node uuid |
project_id | string | Project uuid |
fqdn | string | Optional new FQDN |
tags | UpdateNodeRequest.TagsEntry | New key/value tags to set |
UpdateNodeRequest.TagsEntry
Field | Type | Description |
---|---|---|
key | string | |
value | string |
UpdateProjectCloudProviderRequest
UpdateProjectCloudProviderRequest updates the cloud provider for a project.
Field | Type | Description |
---|---|---|
project_id | string | Project uuid |
cloud_provider_id | string | Cloud provider uuid |
api_key_id | string | API token ID to access the cloud provider (access token ID or something else) |
api_key_secret | string | API token secret to access the cloud provider (access token secret or something else) |
region | string | Region identifier of the cloud provider (optional) |
name | string | An optional name for the cloud provider reference. This is just for the user to distinguish between multiple cloud providers or to store some information. This field will not used as a reference. |
UpdateProjectRequest
UpdateProjectRequest updates a project by their given fields.
Field | Type | Description |
---|---|---|
id | string | Project uuid |
name | string | Name |
description | string | Deprecated. Deprecated. This will be removed on 2025/03/01. |
environment | ProjectEnvironment | Deprecated. Deprecated. This will be removed on 2025/03/01. |
credit_card_id | string | Credit Card ID |
billing_address_id | string | Billing Address ID TODO: Rename to billing_profile_id |
UpdateTimezoneRequest
Request to get all timezones.
Field | Type | Description |
---|---|---|
timezone | string |
gpcore/type/v1/timezone.proto
Timezone
Field | Type | Description |
---|---|---|
code | string | |
name | string |
gpcore/type/v1/country.proto
Country
Field | Type | Description |
---|---|---|
country_code | string | |
name | string | |
net_support | bool | |
tax_rate | float |
gpcore/api/cloud/v1/responses.proto
ChangeDefaultProjectResponse
ChangeNodeBillingPeriodResponse
Field | Type | Description |
---|---|---|
node | Node |
ChangeNodeRescueModeResponse
CreateNodeResponse
Field | Type | Description |
---|---|---|
nodes | Node |
CreateProjectCloudProviderResponse
CreateProjectCloudProviderResponse returns the created cloud provider reference for the project. The valid flag will be initially set to false, but after checking the credentials and the region, it will be set to true if the check was successful.
Field | Type | Description |
---|---|---|
cloud_provider | ProjectCloudProvider | Cloud provider for the project |
CreateProjectImageResponse
Field | Type | Description |
---|---|---|
image | Image |
CreateProjectResponse
CreateProjectResponse
Field | Type | Description |
---|---|---|
project | Project |
CreateUserSSHKeyResponse
Field | Type | Description |
---|---|---|
ssh_key | gpcore.type.v1.SSHKey |
DeleteProjectCloudProviderResponse
DeleteProjectCloudProviderResponse is the empty response for deleting a cloud provider reference.
DeleteProjectImageResponse
DeleteProjectImageVersionResponse
DeleteProjectResponse
DeleteProjectResponse
DeleteUserSSHKeyResponse
DestroyNodeResponse
GetBillingProfileBillDetailsResponse
Field | Type | Description |
---|---|---|
bill | Bill | |
usage | ProjectUsage |
GetBillingProfileBillPdfResponse
Field | Type | Description |
---|---|---|
gpcore.type.v1.File |
GetNodeResponse
GetNodeResponse get a single node
Field | Type | Description |
---|---|---|
node | Node | Node object |
GetNodeSearchOptionsResponse
Field | Type | Description |
---|---|---|
options | gpcore.type.v1.SearchOptions |
GetProjectCloudProviderResponse
GetProjectCloudProviderResponse returns the cloud provider for the project.
Field | Type | Description |
---|---|---|
cloud_provider | ProjectCloudProvider | Cloud provider for the project |
valid | bool | If the cloud provider is valid and can be accessed. |
GetProjectImageResponse
Field | Type | Description |
---|---|---|
image | Image |
GetProjectLocksResponse
GetProjectLocksResponse holds possible locking reasons for the project, this tells why the project is locked and no new resources can be created. If the list is empty, no locks are applied.
Field | Type | Description |
---|---|---|
lock_reasons | ProjectLockReason |
GetProjectResponse
GetProjectResponse
Field | Type | Description |
---|---|---|
project | Project | Project |
GetProjectUsageResponse
Field | Type | Description |
---|---|---|
usage | ProjectUsage |
GetRemoteConsoleAccessResponse
Field | Type | Description |
---|---|---|
token | string | |
hostname | string | |
username | string | |
password | string |
GetUserNodeLimitResponse
Field | Type | Description |
---|---|---|
user_limit | UserNodeLimit |
ImportProjectCloudProviderResourceResponse
Field | Type | Description |
---|---|---|
node | Node |
InviteMemberToProjectResponse
Field | Type | Description |
---|---|---|
member | ProjectMember |
JoinProjectResponse
LeaveProjectResponse
ListBillingProfileBillsResponse
ListProjectBillsResponse contains a list of bills.
Field | Type | Description |
---|---|---|
bills | Bill | List of bills |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
years | int32 | List of available years for other requests. |
total | int64 | Total number of bills available. |
ListBillingProfileProjectsResponse
Field | Type | Description |
---|---|---|
projects | BasicProject | List of projects |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of bills available. |
ListCountriesResponse
Field | Type | Description |
---|---|---|
countries | gpcore.type.v1.Country | |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of items available. May be differ from the number of results from this response because of the pagination. |
ListDatacentersResponse
Field | Type | Description |
---|---|---|
datacenters | Datacenter | |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of items available. May be differ from the number of results from this response because of the pagination. |
ListNodesResponse
ListNodesResponse
Field | Type | Description |
---|---|---|
nodes | Node | Node list |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of items available. May be differ from the number of results from this response because of the pagination. |
ListProjectCloudProviderResourcesResponse
Field | Type | Description |
---|---|---|
resources | CloudProviderResource | |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of resources available. May be differ from the number of results, from this response because of the pagination. |
ListProjectCloudProvidersResponse
ListProjectCloudProvidersResponse returns a list of cloud providers for the project.
Field | Type | Description |
---|---|---|
cloud_providers | ProjectCloudProvider | List of cloud providers |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of cloud providers available. May be differ from the number of results, from this response because of the pagination. |
ListProjectFlavoursResponse
Field | Type | Description |
---|---|---|
flavours | Flavour | |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of items available. May be differ from the number of results from this response because of the pagination. |
ListProjectImagesResponse
Field | Type | Description |
---|---|---|
images | BasicImage | |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of items available. May be differ from the number of results from this response because of the pagination. |
ListProjectLogsResponse
ListProjectLogsResponse
Field | Type | Description |
---|---|---|
logs | ProjectLog | All log items for page |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of project logs available. May be differ from the number of results, from this response because of the pagination. |
users | BasicUser | A list with all users |
ListProjectSSHKeysResponse
Field | Type | Description |
---|---|---|
keys | ProjectSSHKey | |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of items available. May be differ from the number of results from this response because of the pagination. |
ListProjectsResponse
ListProjectsResponse
Field | Type | Description |
---|---|---|
projects | Project | List of projects |
invites | ProjectInvite | Number of invites left |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of items available. May be differ from the number of results from this response because of the pagination. |
ListPublicImagesResponse
Field | Type | Description |
---|---|---|
operating_systems | OperatingSystem | |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of items available. May be differ from the number of results from this response because of the pagination. |
ListTimezonesResponse
Field | Type | Description |
---|---|---|
timezones | gpcore.type.v1.Timezone | |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of items available. May be differ from the number of results from this response because of the pagination. |
ListUserSSHKeysResponse
Field | Type | Description |
---|---|---|
ssh_keys | gpcore.type.v1.SSHKey | |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of items available. May be differ from the number of results from this response because of the pagination. |
PowerActionNodeResponse
ReinstallNodeResponse
Field | Type | Description |
---|---|---|
node | Node |
RemoveMemberFromProjectResponse
SubscribeNotificationsResponse
SubscribeNotificationsResponse is a stream of notifications. One single response contain one notification.
Field | Type | Description |
---|---|---|
notification | Notification | Notification |
UpdateNodeResponse
Field | Type | Description |
---|---|---|
node | Node |
UpdateProjectCloudProviderResponse
UpdateProjectCloudProviderResponse returns the updated cloud provider for the project.
Field | Type | Description |
---|---|---|
cloud_provider | ProjectCloudProvider | Updated cloud provider for the project |
UpdateProjectResponse
UpdateProjectResponse contain the updated project
Field | Type | Description |
---|---|---|
project | Project | Project |
UpdateTimezoneResponse
gpcore/api/cloud/v1/rpc.proto
CloudService
CloudService provide the basic needs to work with projects and their nodes. This is your daily driver to maintain and grow your fleet of nodes. Projects group a list of nodes. Every project can have it's own bill. Users can be part of one or more projects.
ListCountries
ListCountries lists all the supported countries in which we provide business. You can use this to check the tax rate and if we provide network support for what country. If your country is not in that list, you can not use the service.
Service Method
- Request: ListCountriesRequest
- Response: ListCountriesResponse
ListTimezones
ListTimezones lists all available timezones which can be configured as user timezone.
Service Method
- Request: ListTimezonesRequest
- Response: ListTimezonesResponse
UpdateTimezone
UpdateTimezone Updates your user timezone. Changing the timezone affects your billing periods an future bills.
Service Method
- Request: UpdateTimezoneRequest
- Response: UpdateTimezoneResponse
ListDatacenters
ListDatacenters lists all the available datacenters you can order new nodes. This list will grow over time when more datacenters are added, but it can sometimes shrink for some time if there are no hardware available in this region. Upcoming datacenters are still in that list, but has the status flag COMING_SOON. If you place a new order in a specific datacenter, make sure the status is AVAILABLE.
Service Method
- Request: ListDatacentersRequest
- Response: ListDatacentersResponse
ListPublicImages
ListPublicImages list all public OS images which can be used to install on a node. Different flavours provide a different list of images, so you need to provide a flavour ID. You get the list of available flavours for a given project from the ListProjectFlavours call.
Service Method
- Request: ListPublicImagesRequest
- Response: ListPublicImagesResponse
ListProjectFlavours
ListProjectFlavours list all the available flavours for the given project ID and the datacenter. Not all flavours are available on all datacenters.
Service Method
- Request: ListProjectFlavoursRequest
- Response: ListProjectFlavoursResponse
CreateProject
CreateProject creates a new project. This will create a new "container" for nodes, associated to an environment, billing address and payment method. After creating a project, you can further specify additional fields be using the UpdateProject call.
Service Method
- Request: CreateProjectRequest
- Response: CreateProjectResponse
ListProjects
ListProjects list all available projects. A project is a container for nodes, associated with a billing address and other settings specific for that project. To filter the result, you can provide a user_id to only get projects which the user with the user_id is part of that project (member of the project). You can further reduce the project list by providing a search term. Spaces in search are allowed to search for multiple terms (AND not OR). Use the page field in the request to set an offset. This is useful for pagination.
Service Method
- Request: ListProjectsRequest
- Response: ListProjectsResponse
GetProject
GetProject return a project by its uuid.
Service Method
- Request: GetProjectRequest
- Response: GetProjectResponse
UpdateProject
UpdateProject updates an existing project. In contrast to CreatProject you can specify more fields to change like a payment method, credit card or a billing address. The returned response will contain the changed project.
Service Method
- Request: UpdateProjectRequest
- Response: UpdateProjectResponse
DeleteProject
DeleteProject deletes a project, given by its uuid. Make sure you have the owner role and are member of that project. A project marked as default project can not be deleted. Also projects which have nodes, bills which are not payed yet or an outstanding balance can not be deleted.
Service Method
- Request: DeleteProjectRequest
- Response: DeleteProjectResponse
InviteMemberToProject
InviteMemberToProject invites a new user or service account to a project. The calling user (the one who call that endpoint) need to have the "OWNER" role of the given project Further the given identifier needs to belong to a already registered user or service account. The target user needs to confirm his project invitation, service accounts are automatically added.
Service Method
- Request: InviteMemberToProjectRequest
- Response: InviteMemberToProjectResponse
JoinProject
JoinProject accept or reject an project invite. As a prerequisite for that, the user need to be invited first with the InviteMemberToProject endpoint. If the project invite is rejected, the invite will be deleted. If the invite is accepted, the user will join the project.
Service Method
- Request: JoinProjectRequest
- Response: JoinProjectResponse
LeaveProject
LeaveProject leaves a project (the current logged in user). The project need to exit, the user need to be an active member of that project and the project itself can not be the default project. For the last condition, you can set another project to the default project to leave this project.
Service Method
- Request: LeaveProjectRequest
- Response: LeaveProjectResponse
RemoveMemberFromProject
RemoveMemberFromProject removes a user from a project. The executive user need to be part of that project and hold the owner role for that action. You can not remove yourself or the owner (mostly the same user) from the project. The removed user is no longer part of that project and need to be invited again.
Service Method
- Request: RemoveMemberFromProjectRequest
- Response: RemoveMemberFromProjectResponse
CreateProjectCloudProvider
CreateProjectCloudProvider creates a new cloud provider reference for a given project.
Service Method
- Request: CreateProjectCloudProviderRequest
- Response: CreateProjectCloudProviderResponse
GetProjectCloudProvider
GetProjectCloudProvider returns a single cloud provider for a given project. This is a reference to a external cloud provider like AWS. The returned object contain all necessary information to work with that cloud provider.
Service Method
- Request: GetProjectCloudProviderRequest
- Response: GetProjectCloudProviderResponse
ListProjectCloudProviders
ListProjectCloudProviders returns a list of all cloud providers associated to a given project.
Service Method
- Request: ListProjectCloudProvidersRequest
- Response: ListProjectCloudProvidersResponse
UpdateProjectCloudProvider
UpdateProjectCloudProvider updates a cloud provider reference for a given project. After the call, the information (access token, region) will be checked for validity. If the cloud provider is not valid, the call will succeed, but the valid flag will be set to false. In this case, the cloud provider can not be used for further actions.
Service Method
- Request: UpdateProjectCloudProviderRequest
- Response: UpdateProjectCloudProviderResponse
DeleteProjectCloudProvider
DeleteProjectCloudProvider deletes a cloud provider reference for a given project. The actual account on the cloud provider will not be touched, just the reference to GPCORE will be removed.
Service Method
- Request: DeleteProjectCloudProviderRequest
- Response: DeleteProjectCloudProviderResponse
ListProjectCloudProviderResources
ListProjectCloudProviderResources Lists all available cloud resources on that specific cloud provider account.
Service Method
- Request: ListProjectCloudProviderResourcesRequest
- Response: ListProjectCloudProviderResourcesResponse
ImportProjectCloudProviderResource
ImportProjectCloudProviderResource imports a cloud provider resource to the project. It is used to link external cloud provider resources to a node in the project.
Service Method
- Request: ImportProjectCloudProviderResourceRequest
- Response: ImportProjectCloudProviderResourceResponse
GetProjectUsage
GetProjectUsage returns the current usage of a project. This includes the current billing period total amount and the information how much of the
Service Method
- Request: GetProjectUsageRequest
- Response: GetProjectUsageResponse
ListBillingProfileBills
ListBillingProfileBills returns a list of bills associated to a given billing profile.
Service Method
- Request: ListBillingProfileBillsRequest
- Response: ListBillingProfileBillsResponse
GetProjectLocks
GetProjectLocks return a list of locks, which are currently applied to the given project. If the list is empty, no locks are applied at this point.
Service Method
- Request: GetProjectLocksRequest
- Response: GetProjectLocksResponse
ListBillingProfileProjects
ListBillingProfileProjects returns a list of projects associated to a given billing profile.
Service Method
- Request: ListBillingProfileProjectsRequest
- Response: ListBillingProfileProjectsResponse
GetBillingProfileBillDetails
GetBillingProfileBillDetails returns the details of a given bill.
Service Method
- Request: GetBillingProfileBillDetailsRequest
- Response: GetBillingProfileBillDetailsResponse
GetBillingProfileBillPdf
Service Method
- Request: GetBillingProfileBillPdfRequest
- Response: GetBillingProfileBillPdfResponse
ChangeDefaultProject
ChangeDefaultProject set a project as the new default project. The first project created is automatically the default project. Only one project can be the default project. Changing it will remove the default project flag from all other projects available. The so chosen default project will be loaded when the panel will be loaded. Use this to specify the project you are currently working on the most to your default project.
Service Method
- Request: ChangeDefaultProjectRequest
- Response: ChangeDefaultProjectResponse
ListProjectLogs
ListProjectLogs list the audit log entries for a given project. This log contain events happen on that project like membership changes, changes on settings or nodes. The executing user and the time is logged to all entries, so it can be used as an audit log. To narrow down the results, you can specify a user uuid to only show log entries for a given user. An optional search term can filter the result. If the result set is too large, only a portion will be returned. The pages_total field will indicated this.
Service Method
- Request: ListProjectLogsRequest
- Response: ListProjectLogsResponse
SubscribeNotifications
SubscribeNotifications subscribe to new notifications and return a STREAM of notification responses. A notification contain types like a user, a project or a node and will be send to all subscribers, if there are changes on one of that objects. In other words, when you subscribe to notifications, you get notified (with the changed object) when something changed on the server side on users, projects and nodes you are associated with. This can be used to trigger actions, update UI elements or revisit the changes. The stream also provides heartbeats in a interval of 5 seconds. If you don't receive any notification for more then 5 seconds, the connection should be reopened.
Service Method
- Request: SubscribeNotificationsRequest
- Response: SubscribeNotificationsResponse stream
ChangeNodeBillingPeriod
Service Method
- Request: ChangeNodeBillingPeriodRequest
- Response: ChangeNodeBillingPeriodResponse
ListNodes
ListNodes list all available nodes for a given project. If the list is too long, only a portion of the result will be returned. The pages_total field will give an indication what portion is left from the result. Use the page field to specify an offset. Use the search field to filter the results.
Service Method
- Request: ListNodesRequest
- Response: ListNodesResponse
GetNodeSearchOptions
GetNodeSearchOptions returns a list with all available search fields.
Service Method
- Request: GetNodeSearchOptionsRequest
- Response: GetNodeSearchOptionsResponse
GetNode
GetNode return a single node object. The returned node object contain everything to work with that node.
Service Method
- Request: GetNodeRequest
- Response: GetNodeResponse
CreateNode
CreateNode creates a new node. Before that, various precondition checks will be performed. If one single check fails, the complete creation process is canceled. This has no side effects. After all checks are successful, the collected data will be added to the database and a ServerInstallJob is scheduled. This has indeed side effects, but is not part of that call anymore. So keep in mind that this function can be successful, but the node creation may still can fail for some scenarios.
Service Method
- Request: CreateNodeRequest
- Response: CreateNodeResponse
UpdateNode
UpdateNode set a new FQDN and add more key/value tags to a previously created node.
Service Method
- Request: UpdateNodeRequest
- Response: UpdateNodeResponse
DestroyNode
DestroyNode deletes a node. This process includes bringing the node back to factory settings, delete all data, disconnect it from the project and release it back to the public pool of available nodes. When deleting a node, a final bill for that node will be calculated with the end date set to the time the node is deleted.
Service Method
- Request: DestroyNodeRequest
- Response: DestroyNodeResponse
ReinstallNode
ReinstallNode reinstall a given node with a given image and optional credentials. This is non-blocking call, so the new installation is triggered but may not be finished on return of that call. To check the installation state, you can use the GetNode call and examine the status field (ServerProvisioningState). To see what happen during the reinstall, you can watch the project logs with the ListProjectLogs call or use the GetNodeConsole call to watch the installation over VNC.
Service Method
- Request: ReinstallNodeRequest
- Response: ReinstallNodeResponse
PowerActionNode
GetNodeConsole return the VNC password and a JWT token to access the remote console. This only works if the node has a Platform Management interface (iLO, IPMI). Use the VNC credentials to connect to the PM and interact with the node with a virtual screen and keyboard.
Service Method
- Request: PowerActionNodeRequest
- Response: PowerActionNodeResponse
GetRemoteConsoleAccess
Service Method
- Request: GetRemoteConsoleAccessRequest
- Response: GetRemoteConsoleAccessResponse
ChangeNodeRescueMode
ChangeNodeRescueMode enable or disable the rescue mode boot for a given node. This is used in emergency situations where the node can not be accessed any more (ssh server not started on boot), the installation is broken (kernel panic), or the node is otherwise unable to boot (disk full, ...). A prepared rescue image will be booted on that node with a randomly generated ssh root password, which will be part of the response of that call. In that rescue mode, you can mount your disk, fix the problem and change the rescue mode back to normal mode.
Service Method
- Request: ChangeNodeRescueModeRequest
- Response: ChangeNodeRescueModeResponse
GetUserNodeLimit
GetUserNodeLimit return the node limit for a user. The user can not exceed the node limit. The response contains the upper limit and the number of nodes currently in use.
Service Method
- Request: GetUserNodeLimitRequest
- Response: GetUserNodeLimitResponse
ListProjectImages
ListProjectImages list all available images for that project.
Service Method
- Request: ListProjectImagesRequest
- Response: ListProjectImagesResponse
GetProjectImage
GetProjectImage return the metadata for a specific image, associated to the project.
Service Method
- Request: GetProjectImageRequest
- Response: GetProjectImageResponse
CreateProjectImage
CreateProjectImage create a new image associated to the given project.
Service Method
- Request: CreateProjectImageRequest
- Response: CreateProjectImageResponse
DeleteProjectImage
DeleteProjectImage deletes a project image.
Service Method
- Request: DeleteProjectImageRequest
- Response: DeleteProjectImageResponse
DeleteProjectImageVersion
DeleteProjectImageVersion deletes a specific version of a project image.
Service Method
- Request: DeleteProjectImageVersionRequest
- Response: DeleteProjectImageVersionResponse
ListProjectSSHKeys
ListProjectSSHKeys list all available SSH public keys for a project.
Service Method
- Request: ListProjectSSHKeysRequest
- Response: ListProjectSSHKeysResponse
ListUserSSHKeys
ListUserSHSKeys list all available SSH public keys for a user.
Service Method
- Request: ListUserSSHKeysRequest
- Response: ListUserSSHKeysResponse
CreateUserSSHKey
CreateUserSSHKey adds a new SSH public key to the user.
Service Method
- Request: CreateUserSSHKeyRequest
- Response: CreateUserSSHKeyResponse
DeleteUserSSHKey
DeleteUserSSHKey removes a SSH public key from the user.
Service Method
- Request: DeleteUserSSHKeyRequest
- Response: DeleteUserSSHKeyResponse
gpcore/api/cloud/v1/spla.proto
SplaPrice
SplaPrice represents a price for a Service Provider License Agreement
Field | Type | Description |
---|---|---|
base_price | gpcore.type.v1.Price | Base price for the first 8 cores |
additional_2_cores_price | gpcore.type.v1.Price | Additional price for 2 further CPU cores |
gpcore/api/cloud/v2/requests.proto
ListBillingProfileBillsRequest
ListProjectBillsRequest requests a list of bills
Field | Type | Description |
---|---|---|
id | string | Billing Profile uuid |
pagination | gpcore.type.v1.PaginationRequest | Pagination |
year | int32 | Optional only for the given year |
ListBillingProfileProjectsRequest
ListBillingProfileProjectsRequest requests a list of projects associated to a given billing profile.
Field | Type | Description |
---|---|---|
id | string | Billing Profile uuid |
pagination | gpcore.type.v1.PaginationRequest | Pagination |
ListNodesRequest
ListNodesRequest requests the list of all available images.
Field | Type | Description |
---|---|---|
id | string | Project uuid |
pagination | gpcore.type.v1.PaginationRequest | Pagination |
search | string | Optional search term |
extended_search | gpcore.type.v1.SearchRequest | Optional extended search |
ListProjectLogsRequest
ListProjectLogsRequest requests an audit log for a given project.
Field | Type | Description |
---|---|---|
id | string | Project uuid |
pagination | gpcore.type.v1.PaginationRequest | Pagination |
search | string | Optional search term |
user_id | string | Optional user uuid filter |
ReadinessCheckRequest
gpcore/api/cloud/v2/responses.proto
ListBillingProfileBillsResponse
ListProjectBillsResponse contains a list of bills.
Field | Type | Description |
---|---|---|
bills | gpcore.api.cloud.v1.Bill | List of bills |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
years | int32 | List of available years for other requests. |
total | int64 | Total number of bills available. |
ListBillingProfileProjectsResponse
ListBillingProfileProjectsResponse contains a list of projects.
Field | Type | Description |
---|---|---|
projects | gpcore.api.cloud.v1.BasicProject | List of projects |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of bills available. |
ListNodesResponse
ListNodesResponse
Field | Type | Description |
---|---|---|
nodes | gpcore.api.cloud.v1.Node | Node list |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of items available. May be differ from the number of results from this response because of the pagination. |
ListProjectLogsResponse
ListProjectLogsResponse contains a list of logs.
Field | Type | Description |
---|---|---|
logs | gpcore.api.cloud.v1.ProjectLog | All log items for page |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of project logs available. May be differ from the number of results, from this response because of the pagination. |
users | gpcore.api.cloud.v1.BasicUser | A list with all users |
ReadinessCheckResponse
Field | Type | Description |
---|---|---|
version | string | Version of running service |
gpcore/api/cloud/v2/rpc.proto
CloudService
CloudService provide the basic needs to work with projects and their nodes. This is your daily driver to maintain and grow your fleet of nodes. Projects group a list of nodes. Every project can have it's own bill. Users can be part of one or more projects.
ListBillingProfileBills
ListBillingProfileBills returns a list of bills associated to a given billing profile.
Service Method
- Request: ListBillingProfileBillsRequest
- Response: ListBillingProfileBillsResponse
ListBillingProfileProjects
ListBillingProfileProjects returns a list of projects associated to a given billing profile.
Service Method
- Request: ListBillingProfileProjectsRequest
- Response: ListBillingProfileProjectsResponse
ListProjectLogs
ListProjectLogs list the audit log entries for a given project. This log contain events happen on that project like membership changes, changes on settings or nodes. The executing user and the time is logged to all entries, so it can be used as an audit log. To narrow down the results, you can specify a user uuid to only show log entries for a given user. An optional search term can filter the result. If the result set is too large, only a portion will be returned. The pages_total field will indicated this.
Service Method
- Request: ListProjectLogsRequest
- Response: ListProjectLogsResponse
ListNodes
ListNodes list all available nodes for a given project. If the list is too long, only a portion of the result will be returned. The pages_total field will give an indication what portion is left from the result. Use the page field to specify an offset. Use the search field to filter the results.
Service Method
- Request: ListNodesRequest
- Response: ListNodesResponse
ReadinessCheck
ReadinessCheck is a simple health check to see if the service is up and running. It returns the version of the service.
Service Method
- Request: ReadinessCheckRequest
- Response: ReadinessCheckResponse
gpcore/api/gateway/v1/requests.proto
ImageUploadConfirmRequest
Field | Type | Description |
---|---|---|
id | string | |
size | int64 | |
compressed | bool | |
checksum | gpcore.api.cloud.v1.ImageChecksum | |
token | string | |
type | gpcore.api.cloud.v1.ImageFormatType |
ImageUploadValidateRequest
Field | Type | Description |
---|---|---|
id | string | |
token | string |
LagoWebhookRequest
Field | Type | Description |
---|---|---|
body | bytes | |
signature | string |
gpcore/api/gateway/v1/responses.proto
ImageUploadConfirmResponse
ImageUploadValidateResponse
Field | Type | Description |
---|---|---|
image_version | gpcore.api.cloud.v1.ImageVersion |
LagoWebhookResponse
gpcore/api/gateway/v1/rpc.proto
GatewayService
ImageUploadValidate
Service Method
- Request: ImageUploadValidateRequest
- Response: ImageUploadValidateResponse
ImageUploadConfirm
Service Method
- Request: ImageUploadConfirmRequest
- Response: ImageUploadConfirmResponse
LagoWebhook
Service Method
- Request: LagoWebhookRequest
- Response: LagoWebhookResponse
gpcore/api/metadata/v1/requests.proto
GetMetadataRequest
Field | Type | Description |
---|---|---|
ip_address | string |
ReportRequest
Field | Type | Description |
---|---|---|
report | gpcore.api.cloud.v1.MetadataReport |
gpcore/api/metadata/v1/responses.proto
GetMetadataResponse
Field | Type | Description |
---|---|---|
metadata | gpcore.api.cloud.v1.Metadata |
ReportResponse
gpcore/api/metadata/v1/rpc.proto
MetadataService
GetMetadata
Service Method
- Request: GetMetadataRequest
- Response: GetMetadataResponse
Report
Service Method
- Request: ReportRequest
- Response: ReportResponse
gpcore/api/network/v1/requests.proto
GetArpInformationRequest
GetDHCPInformationRequest
Field | Type | Description |
---|---|---|
mac_address | string |
ListMonitoringTargetsRequest
Field | Type | Description |
---|---|---|
pagination | gpcore.type.v1.PaginationRequest | Pagination (ignored for now) |
NotifyArpChangeRequest
Field | Type | Description |
---|---|---|
mac_address | string | |
ip_address | string |
UpdateMonitoringStatusRequest
Field | Type | Description |
---|---|---|
status | gpcore.api.cloud.v1.MonitoringStatus |
gpcore/api/network/v1/responses.proto
GetArpInformationResponse
Field | Type | Description |
---|---|---|
networks | string | |
arp_table | GetArpInformationResponse.ArpTableEntry |
GetArpInformationResponse.ArpTableEntry
Field | Type | Description |
---|---|---|
key | string | |
value | string |
GetDHCPInformationResponse
Field | Type | Description |
---|---|---|
ip_address | string | |
gateway | string | |
dns_servers | string | |
ntp_servers | string | |
lease_ttl | string |
ListMonitoringTargetsResponse
Field | Type | Description |
---|---|---|
targets | gpcore.api.cloud.v1.MonitoringTarget | |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of items available. May be differ from the number of results from this response because of the pagination. |
NotifyArpChangeResponse
Field | Type | Description |
---|---|---|
arp_ip_history | gpcore.api.admin.v1.ArpIpHistory |
UpdateMonitoringStatusResponse
gpcore/api/network/v1/rpc.proto
NetworkService
GetDHCPInformation
Service Method
- Request: GetDHCPInformationRequest
- Response: GetDHCPInformationResponse
ListMonitoringTargets
Service Method
- Request: ListMonitoringTargetsRequest
- Response: ListMonitoringTargetsResponse
UpdateMonitoringStatus
Service Method
- Request: UpdateMonitoringStatusRequest
- Response: UpdateMonitoringStatusResponse
GetArpInformation
Service Method
- Request: GetArpInformationRequest
- Response: GetArpInformationResponse
NotifyArpChange
Service Method
- Request: NotifyArpChangeRequest
- Response: NotifyArpChangeResponse
gpcore/api/payment/v1/requests.proto
AddCreditCardRequest
Field | Type | Description |
---|---|---|
billing_profile_id | string |
ChangeDefaultCreditCardRequest
Field | Type | Description |
---|---|---|
billing_profile_id | string | |
id | string |
ChangeDefaultPlanCodeRequest
ChangeDefaultPlanCodeRequest requests to change the default plan code for a given billing address.
Field | Type | Description |
---|---|---|
billing_profile_id | string | Billing Profile UUID |
plan_code | string | New lago plan code |
CreateBillingProfileRequest
Field | Type | Description |
---|---|---|
name | string | |
company | string | |
vat_id | string | |
country_code | string | |
state | string | |
street | string | |
city | string | |
postcode | string | |
billing_email | string |
DeleteBillingProfileRequest
Field | Type | Description |
---|---|---|
id | string |
GetDefaultPlanCodeRequest
GetDefaultPlanCodeRequest requests the default plan code for a given billing profile.
Field | Type | Description |
---|---|---|
billing_profile_id | string | Billing Profile UUID |
ListBillingProfilesRequest
Field | Type | Description |
---|---|---|
pagination | gpcore.type.v1.PaginationRequest | Pagination |
ListCreditCardsRequest
Field | Type | Description |
---|---|---|
billing_profile_id | string | |
pagination | gpcore.type.v1.PaginationRequest | Pagination (ignored for now) |
ListPlanCodesRequest
ListPlanCodesRequest requests a list of all plan codes available in Lago, including the default plan codes "free" and "gpcore".
Field | Type | Description |
---|---|---|
pagination | gpcore.type.v1.PaginationRequest | Pagination (ignored for now) |
RemoveCreditCardRequest
Field | Type | Description |
---|---|---|
billing_profile_id | string | |
id | string |
UpdateBillingProfileRequest
Field | Type | Description |
---|---|---|
id | string | |
name | string | |
company | string | |
vat_id | string | |
country_code | string | |
state | string | |
street | string | |
city | string | |
postcode | string | |
billing_email | string |
gpcore/type/v1/credit_card.proto
CreditCard
Field | Type | Description |
---|---|---|
id | string | |
last_4_digits | string | |
type | CreditCardType | |
active | bool | |
valid | bool | |
supports_3d_secure | bool | |
expires_at | google.protobuf.Timestamp |
CreditCardType
Enum
Name | Number | Description |
---|---|---|
CREDIT_CARD_TYPE_UNSPECIFIED | 0 | |
CREDIT_CARD_TYPE_VISA | 1 | |
CREDIT_CARD_TYPE_MASTERCARD | 2 | |
CREDIT_CARD_TYPE_AMEX | 3 | |
CREDIT_CARD_TYPE_DISCOVER | 4 | |
CREDIT_CARD_TYPE_DINERS_CLUB | 5 | |
CREDIT_CARD_TYPE_JCB | 6 |
gpcore/api/payment/v1/responses.proto
AddCreditCardResponse
Field | Type | Description |
---|---|---|
stripe_setup_ident | string |
ChangeDefaultCreditCardResponse
Field | Type | Description |
---|---|---|
credit_card | gpcore.type.v1.CreditCard |
ChangeDefaultPlanCodeResponse
ChangeDefaultPlanCodesResponse contains the new plan code set on a payment profile.
Field | Type | Description |
---|---|---|
plan_code | string | New default plan code (lago identifier) |
CreateBillingProfileResponse
Field | Type | Description |
---|---|---|
billing_profile | gpcore.api.cloud.v1.BillingProfile |
DeleteBillingProfileResponse
GetDefaultPlanCodeResponse
GetDefaultPlanCodeResponse contains the default plan, set for a payment profile. This identifier is used for newly created projects ad the plan code.
Field | Type | Description |
---|---|---|
plan_code | string | Current default plan code (lago identifier) |
ListBillingProfilesResponse
Field | Type | Description |
---|---|---|
billing_profiles | gpcore.api.cloud.v1.BillingProfile | |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of items available. May be differ from the number of results from this response because of the pagination. |
ListCreditCardsResponse
Field | Type | Description |
---|---|---|
credit_cards | gpcore.type.v1.CreditCard | |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of items available. May be differ from the number of results from this response because of the pagination. |
ListPlanCodesResponse
ListPlanCodesResponse contains the list of plans available in lago. The plans are "plan codes" in lago terms and represented as string. The list includes the default plans "free" and "gpcore".
Field | Type | Description |
---|---|---|
plan_codes | string | List of plan codes available in lago |
pagination | gpcore.type.v1.PaginationResponse | Pagination |
total | int64 | Total number of items available. May be differ from the number of results from this response because of the pagination. |
RemoveCreditCardResponse
UpdateBillingProfileResponse
Field | Type | Description |
---|---|---|
billing_profile | gpcore.api.cloud.v1.BillingProfile |
gpcore/api/payment/v1/rpc.proto
PaymentService
ListCreditCards
Service Method
- Request: ListCreditCardsRequest
- Response: ListCreditCardsResponse
AddCreditCard
Service Method
- Request: AddCreditCardRequest
- Response: AddCreditCardResponse
ChangeDefaultCreditCard
Service Method
- Request: ChangeDefaultCreditCardRequest
- Response: ChangeDefaultCreditCardResponse
RemoveCreditCard
Service Method
- Request: RemoveCreditCardRequest
- Response: RemoveCreditCardResponse
ListBillingProfiles
Service Method
- Request: ListBillingProfilesRequest
- Response: ListBillingProfilesResponse
CreateBillingProfile
Service Method
- Request: CreateBillingProfileRequest
- Response: CreateBillingProfileResponse
UpdateBillingProfile
Service Method
- Request: UpdateBillingProfileRequest
- Response: UpdateBillingProfileResponse
DeleteBillingProfile
Service Method
- Request: DeleteBillingProfileRequest
- Response: DeleteBillingProfileResponse
GetDefaultPlanCode
GetDefaultPlanCode requests the default plan code (lago identifier) for a given billing profile. The response is the lago default plan code, represented as a string. This identifier is used to set a payment plan for new projects.
Service Method
- Request: GetDefaultPlanCodeRequest
- Response: GetDefaultPlanCodeResponse
ChangeDefaultPlanCode
ChangeDefaultPlanCode changes the current default plan code on a given billing profile. The given default plan will be checked against Lago if it exists. This change only affects projects created in the future. Already created projects are not affected. To change the plan for existing projects, you need to do that directly in Lago.
Service Method
- Request: ChangeDefaultPlanCodeRequest
- Response: ChangeDefaultPlanCodeResponse
ListPlanCodes
ListPlanCodes list all available plan codes in lago, including the default plan codes "free" and "gpcore".
Service Method
- Request: ListPlanCodesRequest
- Response: ListPlanCodesResponse
gpcore/type/v1/audit_log.proto
AuditLog
Field | Type | Description |
---|---|---|
rpc_method | string | |
token | AuditLogToken | |
ip_address | string | |
user_agent | string | |
request_id | string | |
payload | bytes | |
created_at | google.protobuf.Timestamp |
AuditLogToken
Field | Type | Description |
---|---|---|
subject_id | string | |
jwt_id | string | |
session_id | string | |
expires_at | google.protobuf.Timestamp | |
issued_at | google.protobuf.Timestamp | |
issuer | string | |
type | string |
gpcore/type/v1/sentry.proto
SentryEvent
Field | Type | Description |
---|---|---|
event_id | string |