api/v1/common.proto
Enums
AdminRole
AdminRole specifies what role a logged in user needs to call this admin service
Name | Number | Description |
---|---|---|
ADMIN_ROLE_UNSPECIFIED | 0 | ADMIN_ROLE_UNSPECIFIED is not specified |
ADMIN_ROLE_EDITOR | 1 | ADMIN_ROLE_EDITOR the logged in user needs at least editor role to call this method |
ADMIN_ROLE_VIEWER | 2 | ADMIN_ROLE_VIEWER the logged in user needs at least viewer role to call this method |
Auditing
Auditing option specified per service method by default all service methods are included add the auditing option if you want to exclude a method in auditing
Name | Number | Description |
---|---|---|
AUDITING_UNSPECIFIED | 0 | AUDITING_UNSPECIFIED is not specified |
AUDITING_INCLUDED | 1 | AUDITING_INCLUDED if a method is annotated with this, all calls are audited |
AUDITING_EXCLUDED | 2 | AUDITING_EXCLUDED if a method is annotated with this, no calls are audited |
Chargeable
Chargable defines if calling a method requires that billing credentials are present or not
Name | Number | Description |
---|---|---|
CHARGEABLE_UNSPECIFIED | 0 | CHARGEABLE_UNSPECIFIED no chargeable option is set |
CHARGEABLE_TRUE | 1 | CHARGEABLE_TRUE if this is set on a method, calling it requires that billing credentials are present |
CHARGEABLE_FALSE | 2 | CHARGEABLE_FALSE if this is set on a method, no billing credentials are required |
OAuthProvider
OAuthProvider defines which login providers are supported
Name | Number | Description |
---|---|---|
O_AUTH_PROVIDER_UNSPECIFIED | 0 | O_AUTH_PROVIDER_UNSPECIFIED is an unknown login provider |
O_AUTH_PROVIDER_GITHUB | 1 | O_AUTH_PROVIDER_GITHUB specifies github as oauth login provider |
O_AUTH_PROVIDER_AZURE | 2 | O_AUTH_PROVIDER_AZURE specifies azure as oauth login provider |
O_AUTH_PROVIDER_GOOGLE | 3 | O_AUTH_PROVIDER_GOOGLE specifies google as oauth login provider |
ProjectRole
ProjectRole specifies what role a logged in user needs to call this project scoped service
Name | Number | Description |
---|---|---|
PROJECT_ROLE_UNSPECIFIED | 0 | PROJECT_ROLE_UNSPECIFIED is not specified |
PROJECT_ROLE_OWNER | 1 | PROJECT_ROLE_OWNER the logged in user needs at least owner role to call this method |
PROJECT_ROLE_EDITOR | 2 | PROJECT_ROLE_EDITOR the logged in user needs at least editor role to call this method |
PROJECT_ROLE_VIEWER | 3 | PROJECT_ROLE_VIEWER the logged in user needs at least viewer role to call this method |
TenantRole
TenantRole specifies what role a logged in user needs to call this tenant scoped service
Name | Number | Description |
---|---|---|
TENANT_ROLE_UNSPECIFIED | 0 | TENANT_ROLE_UNSPECIFIED is not specified |
TENANT_ROLE_OWNER | 1 | TENANT_ROLE_OWNER the logged in user needs at least owner role to call this method |
TENANT_ROLE_EDITOR | 2 | TENANT_ROLE_EDITOR the logged in user needs at least editor role to call this method |
TENANT_ROLE_VIEWER | 3 | TENANT_ROLE_VIEWER the logged in user needs at least viewer role to call this method |
TENANT_ROLE_GUEST | 4 | TENANT_ROLE_GUEST the logged in user needs at least guest role to call this method The guest role is assumed by users who are invited to a tenant's project without them having a direct membership within the tenant. |
Visibility
Visibility of a method
Name | Number | Description |
---|---|---|
VISIBILITY_UNSPECIFIED | 0 | VISIBILITY_UNSPECIFIED is not defined |
VISIBILITY_PUBLIC | 1 | VISIBILITY_PUBLIC specifies that this service is accessible without authentication |
VISIBILITY_PRIVATE | 2 | VISIBILITY_PRIVATE makes this service blocked |
VISIBILITY_SELF | 3 | VISIBILITY_SELF enable call this endpoint from the authenticated user only |
Extensions
admin_roles
AdminRoles are used to define which admin role a logged in user must provide to call this method
Extension | Type | Base | Number |
---|---|---|---|
admin_roles | AdminRole | MethodOptions | 51002 |
auditing | Auditing | MethodOptions | 51005 |
chargeable | Chargeable | MethodOptions | 51004 |
project_roles | ProjectRole | MethodOptions | 51001 |
tenant_roles | TenantRole | MethodOptions | 51000 |
visibility | Visibility | MethodOptions | 51003 |
auditing
Auditing defines if calls to this method should be audited or not
Extension | Type | Base | Number |
---|---|---|---|
admin_roles | AdminRole | MethodOptions | 51002 |
auditing | Auditing | MethodOptions | 51005 |
chargeable | Chargeable | MethodOptions | 51004 |
project_roles | ProjectRole | MethodOptions | 51001 |
tenant_roles | TenantRole | MethodOptions | 51000 |
visibility | Visibility | MethodOptions | 51003 |
chargeable
Chargeable if this is set on a method, calling it requires that billing credentials are present
Extension | Type | Base | Number |
---|---|---|---|
admin_roles | AdminRole | MethodOptions | 51002 |
auditing | Auditing | MethodOptions | 51005 |
chargeable | Chargeable | MethodOptions | 51004 |
project_roles | ProjectRole | MethodOptions | 51001 |
tenant_roles | TenantRole | MethodOptions | 51000 |
visibility | Visibility | MethodOptions | 51003 |
project_roles
ProjectRoles are used to define which project role a logged in user must provide to call this method
Extension | Type | Base | Number |
---|---|---|---|
admin_roles | AdminRole | MethodOptions | 51002 |
auditing | Auditing | MethodOptions | 51005 |
chargeable | Chargeable | MethodOptions | 51004 |
project_roles | ProjectRole | MethodOptions | 51001 |
tenant_roles | TenantRole | MethodOptions | 51000 |
visibility | Visibility | MethodOptions | 51003 |
tenant_roles
TenantRoles are used to define which tenant role a logged in user must provide to call this method
Extension | Type | Base | Number |
---|---|---|---|
admin_roles | AdminRole | MethodOptions | 51002 |
auditing | Auditing | MethodOptions | 51005 |
chargeable | Chargeable | MethodOptions | 51004 |
project_roles | ProjectRole | MethodOptions | 51001 |
tenant_roles | TenantRole | MethodOptions | 51000 |
visibility | Visibility | MethodOptions | 51003 |
visibility
Visibility defines the visibility of this method, this is used to have public, private or self visible methods
Extension | Type | Base | Number |
---|---|---|---|
admin_roles | AdminRole | MethodOptions | 51002 |
auditing | Auditing | MethodOptions | 51005 |
chargeable | Chargeable | MethodOptions | 51004 |
project_roles | ProjectRole | MethodOptions | 51001 |
tenant_roles | TenantRole | MethodOptions | 51000 |
visibility | Visibility | MethodOptions | 51003 |
api/v1/cluster.proto
Enums
Operate
Operate defines the types of reconciliation to be triggered
Name | Number | Description |
---|---|---|
OPERATE_UNSPECIFIED | 0 | OPERATE_UNSPECIFIED is not specified |
OPERATE_RECONCILE | 1 | OPERATE_RECONCILE reconcile the cluster |
OPERATE_MAINTAIN | 2 | OPERATE_MAINTAIN maintain the cluster |
OPERATE_RETRY | 3 | OPERATE_RETRY retry the reconciliation of the cluster |
Services
ClusterService
ClusterService serves kubernetes cluster related functions
Method Create
Request Type ClusterServiceCreateRequest
Response Type ClusterServiceCreateResponse
Description Create a cluster
This Language is not supported
Method Get
Request Type ClusterServiceGetRequest
Response Type ClusterServiceGetResponse
Description Get a cluster
This Language is not supported
Method List
Request Type ClusterServiceListRequest
Response Type ClusterServiceListResponse
Description List clusters
This Language is not supported
Method WatchStatus
Request Type ClusterServiceWatchStatusRequest
Response Type ClusterServiceWatchStatusResponse
Description WatchStatus of a cluster
This Language is not supported
Method Delete
Request Type ClusterServiceDeleteRequest
Response Type ClusterServiceDeleteResponse
Description Delete a cluster
This Language is not supported
Method Update
Request Type ClusterServiceUpdateRequest
Response Type ClusterServiceUpdateResponse
Description Update a cluster
This Language is not supported
Method GetCredentials
Request Type ClusterServiceGetCredentialsRequest
Response Type ClusterServiceGetCredentialsResponse
Description GetCredentials of a cluster
This Language is not supported
Method Operate
Request Type ClusterServiceOperateRequest
Response Type ClusterServiceOperateResponse
Description Operate on a cluster
This Language is not supported
api/v1/payment.proto
Enums
ProductType
ProductType defines for which type of product a price applies
Name | Number | Description |
---|---|---|
PRODUCT_TYPE_UNSPECIFIED | 0 | PRODUCT_TYPE_UNSPECIFIED is unspecified |
PRODUCT_TYPE_STORAGE | 1 | PRODUCT_TYPE_STORAGE for storage |
PRODUCT_TYPE_COMPUTE | 2 | PRODUCT_TYPE_COMPUTE for compute, e.g. machines |
PRODUCT_TYPE_NETWORK | 3 | PRODUCT_TYPE_NETWORK for network, e.g. ips and traffic |
PRODUCT_TYPE_KUBERNETES | 5 | PRODUCT_TYPE_KUBERNETES for kubernetes, e.g. the control plane |
Services
PaymentService
PaymentService serves payment related functions
Method CreateOrUpdateCustomer
Request Type PaymentServiceCreateOrUpdateCustomerRequest
Response Type PaymentServiceCreateOrUpdateCustomerResponse
Description CreateOrUpdateCustomer the payment data on the payment processor
This Language is not supported
Method GetCustomer
Request Type PaymentServiceGetCustomerRequest
Response Type PaymentServiceGetCustomerResponse
Description GetCustomer from the payment processor
This Language is not supported
Method GetCustomerWithLogin
Request Type PaymentServiceGetCustomerWithLoginRequest
Response Type PaymentServiceGetCustomerWithLoginResponse
Description GetCustomerWithLogin from the payment processor
This Language is not supported
Method CheckIfCustomerExists
Request Type PaymentServiceCheckIfCustomerExistsRequest
Response Type PaymentServiceCheckIfCustomerExistsResponse
Description CheckIfCustomerExists at the payment processor
This Language is not supported
Method HasPaymentMethod
Request Type PaymentServiceHasPaymentMethodRequest
Response Type PaymentServiceHasPaymentMethodResponse
Description HasPaymentMethod check if the customer has a payment method provided
This Language is not supported
Method DeletePaymentMethod
Request Type PaymentServiceDeletePaymentMethodRequest
Response Type PaymentServiceDeletePaymentMethodResponse
Description DeletePaymentMethod of the customer
This Language is not supported
Method GetSubscriptionUsage
Request Type PaymentServiceGetSubscriptionUsageRequest
Response Type PaymentServiceGetSubscriptionUsageResponse
Description GetSubscriptionUsage of the customer
This Language is not supported
Method GetInvoices
Request Type PaymentServiceGetInvoicesRequest
Response Type PaymentServiceGetInvoicesResponse
Description GetInvoices of the customer
This Language is not supported
Method GetDefaultPrices
Request Type PaymentServiceGetDefaultPricesRequest
Response Type PaymentServiceGetDefaultPricesResponse
Description GetDefaultPrices of the products on the platform
This Language is not supported
Method CheckAdmitted
Request Type PaymentServiceCheckAdmittedRequest
Response Type PaymentServiceCheckAdmittedResponse
Description CheckAdmitted if the customer is allowed to use the service on the platform
This Language is not supported
Method RequestAdmission
Request Type PaymentServiceRequestAdmissionRequest
Response Type PaymentServiceRequestAdmissionResponse
Description RequestAdmission for a customer to get allowed to used the service
This Language is not supported
Method HasChargeableResources
Request Type PaymentServiceHasChargeableResourcesRequest
Response Type PaymentServiceHasChargeableResourcesResponse
Description HasChargeableResources checks if the customer has resources actually consumed which are chargeable
This Language is not supported
Method SetOnboarded
Request Type PaymentServiceSetOnboardedRequest
Response Type PaymentServiceSetOnboardedResponse
Description SetOnboarded set the onboarded status
This Language is not supported
Method GetOnboarded
Request Type PaymentServiceGetOnboardedRequest
Response Type PaymentServiceGetOnboardedResponse
Description GetOnboarded get the onboarded status
This Language is not supported
api/v1/project.proto
Services
ProjectService
ProjectService serves project related functions
Method List
Request Type ProjectServiceListRequest
Response Type ProjectServiceListResponse
Description List all accessible projects
This Language is not supported
Method Get
Request Type ProjectServiceGetRequest
Response Type ProjectServiceGetResponse
Description Get a project
This Language is not supported
Method Create
Request Type ProjectServiceCreateRequest
Response Type ProjectServiceCreateResponse
Description Create a project
This Language is not supported
Method Delete
Request Type ProjectServiceDeleteRequest
Response Type ProjectServiceDeleteResponse
Description Delete a project
This Language is not supported
Method Update
Request Type ProjectServiceUpdateRequest
Response Type ProjectServiceUpdateResponse
Description Update a project
This Language is not supported
Method RemoveMember
Request Type ProjectServiceRemoveMemberRequest
Response Type ProjectServiceRemoveMemberResponse
Description RemoveMember remove a user from a project
This Language is not supported
Method UpdateMember
Request Type ProjectServiceUpdateMemberRequest
Response Type ProjectServiceUpdateMemberResponse
Description UpdateMember update a user for a project
This Language is not supported
Method Invite
Request Type ProjectServiceInviteRequest
Response Type ProjectServiceInviteResponse
Description Invite a user to a project
This Language is not supported
Method InviteAccept
Request Type ProjectServiceInviteAcceptRequest
Response Type ProjectServiceInviteAcceptResponse
Description InviteAccept is called from a user to accept a invitation
This Language is not supported
Method InviteDelete
Request Type ProjectServiceInviteDeleteRequest
Response Type ProjectServiceInviteDeleteResponse
Description InviteDelete deletes a pending invitation
This Language is not supported
Method InvitesList
Request Type ProjectServiceInvitesListRequest
Response Type ProjectServiceInvitesListResponse
Description InvitesList list all invites to a project
This Language is not supported
Method InviteGet
Request Type ProjectServiceInviteGetRequest
Response Type ProjectServiceInviteGetResponse
Description InviteGet get an invite
This Language is not supported
api/v1/volume.proto
Services
SnapshotService
SnapshotService serves snapshot related functions
Method Get
Request Type SnapshotServiceGetRequest
Response Type SnapshotServiceGetResponse
Description Get a snapshot
This Language is not supported
Method List
Request Type SnapshotServiceListRequest
Response Type SnapshotServiceListResponse
Description List snapshots
This Language is not supported
Method Delete
Request Type SnapshotServiceDeleteRequest
Response Type SnapshotServiceDeleteResponse
Description Delete a snapshot
This Language is not supported
VolumeService
VolumeService serves volume related functions
Method Get
Request Type VolumeServiceGetRequest
Response Type VolumeServiceGetResponse
Description Get a volume
This Language is not supported
Method List
Request Type VolumeServiceListRequest
Response Type VolumeServiceListResponse
Description List the volumes
This Language is not supported
Method Delete
Request Type VolumeServiceDeleteRequest
Response Type VolumeServiceDeleteResponse
Description Delete a volume
This Language is not supported
api/v1/tenant.proto
Services
TenantService
TenantService serves tenant related functions
Method Create
Request Type TenantServiceCreateRequest
Response Type TenantServiceCreateResponse
Description Create a tenant
This Language is not supported
Method CreateOrUpdate
Request Type TenantServiceCreateOrUpdateRequest
Response Type TenantServiceCreateOrUpdateResponse
Description CreateOrUpdate should only be used from within the application will check if tenant already exists and updates if necessary, otherwise create a new tenant
This Language is not supported
Method List
Request Type TenantServiceListRequest
Response Type TenantServiceListResponse
Description List tenants
This Language is not supported
Method Get
Request Type TenantServiceGetRequest
Response Type TenantServiceGetResponse
Description Get a tenant
This Language is not supported
Method Update
Request Type TenantServiceUpdateRequest
Response Type TenantServiceUpdateResponse
Description Update a tenant
This Language is not supported
Method Delete
Request Type TenantServiceDeleteRequest
Response Type TenantServiceDeleteResponse
Description Delete a tenant
This Language is not supported
Method RemoveMember
Request Type TenantServiceRemoveMemberRequest
Response Type TenantServiceRemoveMemberResponse
Description RemoveMember remove a member of a tenant
This Language is not supported
Method UpdateMember
Request Type TenantServiceUpdateMemberRequest
Response Type TenantServiceUpdateMemberResponse
Description UpdateMember update a member of a tenant
This Language is not supported
Method Invite
Request Type TenantServiceInviteRequest
Response Type TenantServiceInviteResponse
Description Invite a user to a tenant
This Language is not supported
Method InviteAccept
Request Type TenantServiceInviteAcceptRequest
Response Type TenantServiceInviteAcceptResponse
Description InviteAccept is called from a user to accept an invitation
This Language is not supported
Method InviteDelete
Request Type TenantServiceInviteDeleteRequest
Response Type TenantServiceInviteDeleteResponse
Description InviteDelete deletes a pending invitation
This Language is not supported
Method InvitesList
Request Type TenantServiceInvitesListRequest
Response Type TenantServiceInvitesListResponse
Description InvitesList list all invites to a tenant
This Language is not supported
Method InviteGet
Request Type TenantServiceInviteGetRequest
Response Type TenantServiceInviteGetResponse
Description InviteGet get an invite
This Language is not supported
api/v1/token.proto
Enums
TokenType
TokenType specifies different use cases of tokens
Name | Number | Description |
---|---|---|
TOKEN_TYPE_UNSPECIFIED | 0 | TOKEN_TYPE_UNSPECIFIED is not specified |
TOKEN_TYPE_API | 1 | TOKEN_TYPE_API is a token for api usage |
TOKEN_TYPE_CONSOLE | 2 | TOKEN_TYPE_CONSOLE is a token for console or web ui usage |
Services
TokenService
TokenService serves token related functions
Method Create
Request Type TokenServiceCreateRequest
Response Type TokenServiceCreateResponse
Description Create a token to authenticate against the platform, the secret will be only visible in the response
This Language is not supported
Method List
Request Type TokenServiceListRequest
Response Type TokenServiceListResponse
Description List all your tokens
This Language is not supported
Method Revoke
Request Type TokenServiceRevokeRequest
Response Type TokenServiceRevokeResponse
Description Revoke a token, no further usage is possible afterwards
This Language is not supported
api/v1/assets.proto
Services
AssetService
AssetService serves asset related functions
Method List
Request Type AssetServiceListRequest
Response Type AssetServiceListResponse
Description List available assets
This Language is not supported
api/v1/health.proto
Enums
Service
Service defines the service for which the healtyness is reported
Name | Number | Description |
---|---|---|
SERVICE_UNSPECIFIED | 0 | SERVICE_UNSPECIFIED is a unknown service |
SERVICE_CLUSTER | 1 | SERVICE_CLUSTER the kubernetes cluster service |
SERVICE_VOLUME | 2 | SERVICE_VOLUME the volume/storage service |
SERVICE_MACHINES | 3 | SERVICE_MACHINES the machine service |
ServiceStatus
ServiceStatus defines the status of a service
Name | Number | Description |
---|---|---|
SERVICE_STATUS_UNSPECIFIED | 0 | SERVICE_STATUS_UNSPECIFIED service status is not known or unspecified |
SERVICE_STATUS_DEGRADED | 1 | SERVICE_STATUS_DEGRADED the service is in degraded status, not the whole functionality is available |
SERVICE_STATUS_UNHEALTHY | 2 | SERVICE_STATUS_UNHEALTHY the service is in unhealthy status, serious impact is expected |
SERVICE_STATUS_HEALTHY | 3 | SERVICE_STATUS_HEALTHY the service is in healthy status e.g. fully functional |
Services
HealthService
HealthService serves health related functions
Method Get
Request Type HealthServiceGetRequest
Response Type HealthServiceGetResponse
Description Get the health of the platform
This Language is not supported
api/v1/ip.proto
Enums
IPType
IPType specifies different ip address types
Name | Number | Description |
---|---|---|
IP_TYPE_UNSPECIFIED | 0 | IP_TYPE_UNSPECIFIED is not specified |
IP_TYPE_EPHEMERAL | 1 | IP_TYPE_EPHEMERAL defines a ephemeral ip address which is freed/deleted after usage |
IP_TYPE_STATIC | 2 | IP_TYPE_STATIC defines a static ip address which must be freed/deleted explicitly |
Services
IPService
IPService serves ip address related functions
This Language is not supported
Method Allocate
Request Type IPServiceAllocateRequest
Response Type IPServiceAllocateResponse
Description Allocate a ip
This Language is not supported
Method Update
Request Type IPServiceUpdateRequest
Response Type IPServiceUpdateResponse
Description Update a ip
This Language is not supported
Method List
Request Type IPServiceListRequest
Response Type IPServiceListResponse
Description List all ips
This Language is not supported
Method Delete
Request Type IPServiceDeleteRequest
Response Type IPServiceDeleteResponse
Description Delete a ip
This Language is not supported
api/v1/methods.proto
Services
MethodService
MethodService serves method related functions methods are functions in services
Method List
Request Type MethodServiceListRequest
Response Type MethodServiceListResponse
Description List all public visible methods
This Language is not supported
Method TokenScopedList
Request Type MethodServiceTokenScopedListRequest
Response Type MethodServiceTokenScopedListResponse
Description TokenScopedList all methods callable with the token present in the request
This Language is not supported
api/v1/user.proto
Services
UserService
UserService exposes rpc calls for users
Method Get
Request Type UserServiceGetRequest
Response Type UserServiceGetResponse
Description Get a User
This Language is not supported
api/v1/version.proto
Services
VersionService
VersionService serves version related functions
Method Get
Request Type VersionServiceGetRequest
Response Type VersionServiceGetResponse
Description Get the version
This Language is not supported
status/v1/message.proto
Enums
MessageKind
MessageKind defines what type of message it is
Name | Number | Description |
---|---|---|
MESSAGE_KIND_UNSPECIFIED | 0 | MESSAGE_KIND_UNSPECIFIED is not specified |
MESSAGE_KIND_INFO | 1 | MESSAGE_KIND_INFO is a informational message |
MESSAGE_KIND_INCIDENT | 2 | MESSAGE_KIND_INCIDENT is a incident message |
MESSAGE_KIND_CHANGE | 3 | MESSAGE_KIND_CHANGE is a change message |
MESSAGE_KIND_RESOLVED | 4 | MESSAGE_KIND_RESOLVED is a resolved message |
MESSAGE_KIND_UPDATE | 5 | MESSAGE_KIND_UPDATE is a update message |
Services
MessageService
MessageService serves status message related functions this service is used as backend for the status dashboard
Method List
Request Type MessageServiceListRequest
Response Type MessageServiceListResponse
Description List returns all messages of interest
This Language is not supported
status/v1/status.proto
Services
StatusService
StatusService serves status related functions this service is used as backend for the status dashboard
Method Get
Request Type StatusServiceGetRequest
Response Type StatusServiceGetResponse
Description Get the system status
This Language is not supported
Scalar Value Types
.proto Type | Go | Typescript |
---|---|---|
double | float64 | number |
float | float32 | number |
int32 | int32 | number |
int64 | int64 | number |
uint32 | uint32 | number |
uint64 | uint64 | number |
sint32 | int32 | number |
sint64 | int64 | number |
fixed32 | uint32 | number |
fixed64 | uint64 | number |
sfixed32 | int32 | number |
sfixed64 | int64 | number |
bool | bool | boolean |
string | string | string |
bytes | []byte | Uint8Array |