HyperscaleInstance

Register a Hyperscale instance

SecurityApiKeyAuth
Request
Request Body schema: application/json
required

The parameters to register a Hyperscale instance.

name
required
string [ 1 .. 256 ] characters

Name in DCT of the Hyperscale instance.

hostname
required
string [ 1 .. 512 ] characters

Hostname of the Hyperscale instance. If the Hyperscale instance is running on a custom port (not 443), the port can be specified using the "hostname:port" format, for instance "hyperscale-1.mycompany.co:1765"

api_key
required
string or null [ 1 .. 4096 ] characters

API key to connect to the Hyperscale instance.

data_type
required
string (HyperscaleDataTypeEnum)

The data type designation for the hyperscale deployment.

Enum: "ORACLE" "MSSQL" "DELIMITED_FILES" "MONGO_DB"
insecure_ssl
boolean
Default: false

Allow connections to the hyperscale instance over HTTPs without validating the TLS certificate. Even though the connection to the hyperscale instance might be performed over HTTPs, setting this property eliminates the protection against a man-in-the-middle attach for connections to this engine. Instead, consider creating a truststore with a Certificate Authority to validate the hyperscale instance's certificate, and set the truststore_filename property.

unsafe_ssl_hostname_check
boolean
Default: false

Ignore validation of the name associated to the TLS certificate when connecting to the hyperscale instance over HTTPs. Setting this value must only be done if the TLS certificate of the hyperscale instance does not match the hostname, and the TLS configuration of the hyperscale instance cannot be fixed. Setting this property reduces the protection against a man-in-the-middle attack for connections to this engine. This is ignored if insecure_ssl is set.

truststore_filename
string or null [ 1 .. 1024 ] characters ^[a-zA-Z0-9_\.]+$

File name of a truststore which can be used to validate the TLS certificate of the hyperscale instance. The truststore must be available at /etc/config/certs/

truststore_password
string or null [ 1 .. 1024 ] characters

Password to read the truststore.

Array of objects (Tag)

The tags to be created for this engine.

make_current_account_owner
boolean
Default: true

Whether the account creating this Hyperscale instance must be configured as owner of it.

Responses
201

Created

post/hyperscale-instances
Request samples
application/json
{
  • "name": "string",
  • "hostname": "string",
  • "api_key": "string",
  • "data_type": "ORACLE",
  • "insecure_ssl": false,
  • "unsafe_ssl_hostname_check": false,
  • "truststore_filename": "string",
  • "truststore_password": "string",
  • "tags": [
    ],
  • "make_current_account_owner": true
}
Response samples
application/json
{
  • "id": "string",
  • "name": "string",
  • "hostname": "string",
  • "data_type": "ORACLE",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "tags": [
    ],
  • "api_key": "string",
  • "insecure_ssl": false,
  • "unsafe_ssl_hostname_check": false,
  • "truststore_filename": "string",
  • "truststore_password": "string",
  • "status": "CREATED",
  • "connection_status": "ONLINE",
  • "connection_status_details": "string"
}

Returns a list of Hyperscale instances.

SecurityApiKeyAuth
Request
query Parameters
limit
integer [ 1 .. 1000 ]
Default: 100

Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.

Example: limit=50
cursor
string [ 1 .. 4096 ] characters

Cursor to fetch the next or previous page of results. The value of this property must be extracted from the 'prev_cursor' or 'next_cursor' property of a PaginatedResponseMetadata which is contained in the response of list and search API endpoints.

sort
string or null

The field to sort results by. A property name with a prepended '-' signifies descending order.

Enum: "id" "-id" "name" "-name" "hostname" "-hostname" "creation_date" "-creation_date" "status" "-status" "data_type" "-data_type" "connection_status" "-connection_status" "connection_status_details" "-connection_status_details"
Example: sort=id
Responses
200

OK

get/hyperscale-instances
Response samples
application/json
{
  • "items": [
    ],
  • "response_metadata": {
    }
}

Search for Hyperscale instances.

SecurityApiKeyAuth
Request
query Parameters
limit
integer [ 1 .. 1000 ]
Default: 100

Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.

Example: limit=50
cursor
string [ 1 .. 4096 ] characters

Cursor to fetch the next or previous page of results. The value of this property must be extracted from the 'prev_cursor' or 'next_cursor' property of a PaginatedResponseMetadata which is contained in the response of list and search API endpoints.

sort
string or null

The field to sort results by. A property name with a prepended '-' signifies descending order.

Enum: "id" "-id" "name" "-name" "hostname" "-hostname" "creation_date" "-creation_date" "status" "-status" "data_type" "-data_type" "connection_status" "-connection_status" "connection_status_details" "-connection_status_details"
Example: sort=id
Request Body schema: application/json

A request body containing a filter expression. This enables searching for items matching arbitrarily complex conditions. The list of attributes which can be used in filter expressions is available in the x-filterable vendor extension.

Filter Expression Overview

Note: All keywords are case-insensitive

Comparison Operators

Operator Description Example
CONTAINS Substring or membership testing for string and list attributes respectively. field3 CONTAINS 'foobar', field4 CONTAINS TRUE
IN Tests if field is a member of a list literal. List can contain a maximum of 100 values field2 IN ['Goku', 'Vegeta']
GE Tests if a field is greater than or equal to a literal value field1 GE 1.2e-2
GT Tests if a field is greater than a literal value field1 GT 1.2e-2
LE Tests if a field is less than or equal to a literal value field1 LE 9000
LT Tests if a field is less than a literal value field1 LT 9.02
NE Tests if a field is not equal to a literal value field1 NE 42
EQ Tests if a field is equal to a literal value field1 EQ 42

Search Operator

The SEARCH operator filters for items which have any filterable attribute that contains the input string as a substring, comparison is done case-insensitively. This is not restricted to attributes with string values. Specifically SEARCH '12' would match an item with an attribute with an integer value of 123.

Logical Operators

Ordered by precedence.

Operator Description Example
NOT Logical NOT (Right associative) NOT field1 LE 9000
AND Logical AND (Left Associative) field1 GT 9000 AND field2 EQ 'Goku'
OR Logical OR (Left Associative) field1 GT 9000 OR field2 EQ 'Goku'

Grouping

Parenthesis () can be used to override operator precedence.

For example: NOT (field1 LT 1234 AND field2 CONTAINS 'foo')

Literal Values

Literal Description Examples
Nil Represents the absence of a value nil, Nil, nIl, NIL
Boolean true/false boolean true, false, True, False, TRUE, FALSE
Number Signed integer and floating point numbers. Also supports scientific notation. 0, 1, -1, 1.2, 0.35, 1.2e-2, -1.2e+2
String Single or double quoted "foo", "bar", "foo bar", 'foo', 'bar', 'foo bar'
Datetime Formatted according to RFC3339 2018-04-27T18:39:26.397237+00:00
List Comma-separated literals wrapped in square brackets [0], [0, 1], ['foo', "bar"]

Limitations

  • A maximum of 8 unique identifiers may be used inside a filter expression.
filter_expression
string [ 5 .. 2000 ] characters
Responses
200

OK

post/hyperscale-instances/search
Request samples
application/json

An example of a nested Object comparison testing that at least one repository has a version which is equal to 19.0.0.

{
  • "filter_expression": "repositories CONTAINS {version eq '19.0.0'}"
}
Response samples
application/json
{
  • "items": [
    ],
  • "response_metadata": {
    }
}

Returns a Hyperscale Instance by ID.

SecurityApiKeyAuth
Request
path Parameters
hyperscaleInstanceId
required
string

The ID of hyperscale instance.

Responses
200

OK

get/hyperscale-instances/{hyperscaleInstanceId}
Response samples
application/json
{
  • "id": "string",
  • "name": "string",
  • "hostname": "string",
  • "data_type": "ORACLE",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "tags": [
    ],
  • "api_key": "string",
  • "insecure_ssl": false,
  • "unsafe_ssl_hostname_check": false,
  • "truststore_filename": "string",
  • "truststore_password": "string",
  • "status": "CREATED",
  • "connection_status": "ONLINE",
  • "connection_status_details": "string"
}

Update an Hyperscale Instance

SecurityApiKeyAuth
Request
path Parameters
hyperscaleInstanceId
required
string

The ID of hyperscale instance.

Request Body schema: application/json
required

Update parameters for a hyperscale instance.

name
string [ 1 .. 256 ] characters

Name in DCT of the Hyperscale instance.

hostname
string [ 1 .. 512 ] characters

Hostname of the Hyperscale instance. If the Hyperscale instance is running on a custom port (not 443), the port can be specified using the "hostname:port" format, for instance "hyperscale-1.mycompany.co:1765"

api_key
string or null [ 1 .. 4096 ] characters

API key to connect to the Hyperscale instance.

data_type
string (HyperscaleDataTypeEnum)

The data type designation for the hyperscale deployment.

Enum: "ORACLE" "MSSQL" "DELIMITED_FILES" "MONGO_DB"
insecure_ssl
boolean

Allow connections to the hyperscale instance over HTTPs without validating the TLS certificate. Even though the connection to the hyperscale instance might be performed over HTTPs, setting this property eliminates the protection against a man-in-the-middle attach for connections to this engine. Instead, consider creating a truststore with a Certificate Authority to validate the hyperscale instance's certificate, and set the truststore_filename property.

unsafe_ssl_hostname_check
boolean

Ignore validation of the name associated to the TLS certificate when connecting to the hyperscale instance over HTTPs. Setting this value must only be done if the TLS certificate of the hyperscale instance does not match the hostname, and the TLS configuration of the hyperscale instance cannot be fixed. Setting this property reduces the protection against a man-in-the-middle attack for connections to this engine. This is ignored if insecure_ssl is set.

truststore_filename
string or null <= 1024 characters ^[a-zA-Z0-9_\.]*$

File name of a truststore which can be used to validate the TLS certificate of the hyperscale instance. The truststore must be available at /etc/config/certs/. Set this property to an empty string to clear the value.

truststore_password
string or null <= 1024 characters

Password to read the truststore. Set this property to an empty string to clear the value.

Responses
200

OK

patch/hyperscale-instances/{hyperscaleInstanceId}
Request samples
application/json
{
  • "name": "string",
  • "hostname": "string",
  • "api_key": "string",
  • "data_type": "ORACLE",
  • "insecure_ssl": true,
  • "unsafe_ssl_hostname_check": true,
  • "truststore_filename": "string",
  • "truststore_password": "string"
}
Response samples
application/json
{
  • "id": "string",
  • "name": "string",
  • "hostname": "string",
  • "data_type": "ORACLE",
  • "creation_date": "2019-08-24T14:15:22Z",
  • "tags": [
    ],
  • "api_key": "string",
  • "insecure_ssl": false,
  • "unsafe_ssl_hostname_check": false,
  • "truststore_filename": "string",
  • "truststore_password": "string",
  • "status": "CREATED",
  • "connection_status": "ONLINE",
  • "connection_status_details": "string"
}

Unregister a Hyperscale Instance.

SecurityApiKeyAuth
Request
path Parameters
hyperscaleInstanceId
required
string

The ID of hyperscale instance.

Responses
200

OK

delete/hyperscale-instances/{hyperscaleInstanceId}
Response samples
application/json
{
  • "job": {
    }
}

Create tags for a Hyperscale Instance.

SecurityApiKeyAuth
Request
path Parameters
hyperscaleInstanceId
required
string

The ID of hyperscale instance.

Request Body schema: application/json
required

Tags information for Hyperscale Instance.

required
Array of objects (Tag) [ 1 .. 1000 ] items unique

Array of tags with key value pairs

Responses
201

Created

post/hyperscale-instances/{hyperscaleInstanceId}/tags
Request samples
application/json
{
  • "tags": [
    ]
}
Response samples
application/json
{
  • "tags": [
    ]
}

Get tags for a Hyperscale Instance.

SecurityApiKeyAuth
Request
path Parameters
hyperscaleInstanceId
required
string

The ID of hyperscale instance.

Responses
200

Ok

get/hyperscale-instances/{hyperscaleInstanceId}/tags
Response samples
application/json
{
  • "tags": [
    ]
}

Delete tags for a Hyperscale Instance.

SecurityApiKeyAuth
Request
path Parameters
hyperscaleInstanceId
required
string

The ID of hyperscale instance.

Request Body schema: application/json

The parameters to delete tags

key
string [ 1 .. 4000 ] characters

Key of the tag

value
string [ 1 .. 4000 ] characters

Value of the tag

Array of objects (Tag) [ 1 .. 1000 ] items unique

List of tags to be deleted

Responses
204

No Content

post/hyperscale-instances/{hyperscaleInstanceId}/tags/delete
Request samples
application/json

Delete all tags for given object - No request body required

{ }

Sync the global object from a source engine to engines on a Hyperscale Instance.

SecurityApiKeyAuth
Request
path Parameters
hyperscaleInstanceId
required
string

The ID of hyperscale instance.

Request Body schema: application/json
source_engine_id
required
string [ 1 .. 256 ] characters

The ID of the engine to copy the data from.

target_engine_ids
required
Array of strings non-empty

The IDs of the target engines to copy the data into.

Responses
200

OK

post/hyperscale-instances/{hyperscaleInstanceId}/sync-engines
Request samples
application/json
{
  • "source_engine_id": "1",
  • "target_engine_ids": [
    ]
}
Response samples
application/json
{
  • "job": {
    }
}

Add an engine to a Hyperscale Instance.

SecurityApiKeyAuth
Request
path Parameters
hyperscaleInstanceId
required
string

The ID of hyperscale instance.

Request Body schema: application/json
required

Body containing the ID of the registered engine.

engine_id
string non-empty
Responses
200

OK

post/hyperscale-instances/{hyperscaleInstanceId}/add-engine
Request samples
application/json
{
  • "engine_id": "1"
}
Response samples
application/json
{
  • "job": {
    }
}

Remove an engine from a Hyperscale Instance.

SecurityApiKeyAuth
Request
path Parameters
hyperscaleInstanceId
required
string

The ID of hyperscale instance.

Request Body schema: application/json
required

Body containing the ID of the registered engine.

engine_id
string non-empty
Responses
200

OK

post/hyperscale-instances/{hyperscaleInstanceId}/remove-engine
Request samples
application/json
{
  • "engine_id": "1"
}
Response samples
application/json
{
  • "job": {
    }
}