Register provider
Registers a Oneprovider in Onezone service. Upon success, a new cluster is created, with the registering user linked to it. The cluster Id is the same as Oneprovider Id.
Requires a valid provider registration token - see:
This operation has public access.
Example cURL requests
Register provider
curl -H "Content-type: application/json" -X POST -d '{
"token" : "MDAxNmxvY2F00aW9uIHJlZ2lzdHJ5CjAwM2JpZGVudGlmaW...",
"name" : "My provider",
"adminEmail" : "person@example.com",
"subdomainDelegation" : "false",
"domain" : "my-provider.example.com",
"latitude" : "50.0647",
"longitude" : "19.9450",
}' \
https://$ZONE_HOST/api/v3/onezone/providers
Request body
Provider reqistration request.
Token for registering a new Oneprovider. If Onezone allows regular users to freely register Oneproviders, it can be obtained from GUI or REST API. Otherwise, only a Onezone admin can issue such token.
Oneprovider name.
Contact email address of the Oneprovider admin.
When enabled, Oneprovider will be assigned a subdomain within Onezone's domain. In this case, the following properties must also be specified:
subdomainopWorkerIpAddresses(successor of the deprecatedipList)
If the OneS3 service is deployed, the oneS3IpAddresses and oneS3Port
properties are additionally required.
If this option is disabled, the domain property must be provided instead.
Unique subdomain in onezone's domain for the Oneprovider. Required if subdomain delegation is enabled.
The list of Oneprovider Worker IP addresses advertised by Onezone on behalf of the Oneprovider. Deprecated in favor of opWorkerIpAddresses. Either this or opWorkerIpAddresses is required if subdomain delegation is enabled.
The list of Oneprovider Worker IP addresses advertised by Onezone on behalf of the Oneprovider. Successor of the deprecated ipList. Either this or ipList is required if subdomain delegation is enabled.
The port number of Oneprovider Worker advertised by Onezone on behalf of the Oneprovider.
The list of Oneprovider OneS3 IP addresses advertised by Onezone on behalf of the Oneprovider. Must be provided alongside oneS3Port if subdomain delegation is enabled and OneS3 deployed.
The port number of Oneprovider OneS3 advertised by Onezone on behalf of the Oneprovider.
The fully qualified domain name of the Oneprovider or its IP address (only for single-node deployments or clusters with a reverse proxy). Required if subdomain delegation is disabled.
The geographical latitude of the Oneprovider's data center location.
The geographical longitude of the Oneprovider's data center location.
Request Examples
{
"token": "MDAxNmxvY2F00aW9uIHJlZ2lzdHJ5CjAwM2JpZGVudGlmaW...",
"name": "My provider",
"adminEmail": "person@example.com",
"subdomainDelegation": false,
"domain": "my-provider.example.com",
"latitude": 50.0647,
"longitude": 19.945
}Responses
Provider registered successfully.
The Id of the newly registered provider.
The Oneprovider root token - bearing its identity and full authorization.
The Id of the Onezone user that is linked to the Oneprovider panel admin account.
Invalid request.
error object Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
Example
{
"error": {
"id": "badValueString",
"details": {
"key": "name"
},
"description": "Bad value: provided \"name\" must be a string."
}
}Authentication error.
error object Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
Example
{
"error": {
"id": "badValueString",
"details": {
"key": "name"
},
"description": "Bad value: provided \"name\" must be a string."
}
}Authorization error.
error object Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
Example
{
"error": {
"id": "badValueString",
"details": {
"key": "name"
},
"description": "Bad value: provided \"name\" must be a string."
}
}Resource not found.
error object Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
Example
{
"error": {
"id": "badValueString",
"details": {
"key": "name"
},
"description": "Bad value: provided \"name\" must be a string."
}
}Internal server Error.
error object Object describing an error.
Object describing an error.
String identifying the error type. Does not change between error instances.
Human readable error description. May contain information specific to given error instance.
Details about the error instance. The object schema is specific to each error type.
Example
{
"error": {
"id": "badValueString",
"details": {
"key": "name"
},
"description": "Bad value: provided \"name\" must be a string."
}
}