Instance Resources

Get details on an account’s instances

GET /instances/

Response:

{
    "data": [
        {
            "api_key": "708b16dca77f43938621c3b078b8b850",
            "caster": null,
            "connect_string": "b7fe19ed2fc72339f180961027d5c321/syd-c0-1.objectrocket.com:55029,syd-c0-0.objectrocket.com:55029",
            "created": "2015-07-29 14:19:38",
            "id": "55b9436bc3fbcc12b1d98963",
            "name": "test666",
            "plan": 1,
            "service": "mongodb",
            "type": "mongodb_replica_set",
            "version": "2.4.6",
            "zone": "AP-Sydney"
        },
        {
            "api_key": "fb9ccdeec96d4b709867369248a29935",
            "caster": null,
            "connect_string": "syd-mongos0.objectrocket.com:35036",
            "created": "2015-07-27 09:17:33",
            "id": "55b6599ecb143c243a21ac38",
            "name": "test1234",
            "plan": 5,
            "service": "mongodb",
            "ssl_connect_string": "syd-mongos0.objectrocket.com:45036",
            "type": "mongodb_sharded",
            "version": "2.4.6",
            "zone": "AP-Sydney"
        },
        {
            "api_key": "cc6a39b8debb4d2b9bac65071050a56c",
            "caster": null,
            "clb_id": null,
            "connect_string": "redis://2dbc8a2ea54d423c992aa2bb54ab69d1.publb.rackspaceclouddb.com:6379",
            "created": "2015-05-29 09:00:35",
            "id": "55688d235b335275dd2e17cd",
            "name": "Test1234",
            "password": "C2JwY3pqvjwPGqerhADYhF9jPQTdBKJVHfca",
            "plan": 2500,
            "public_connect_string": "redis://2dbc8a2ea54d423c992aa2bb54ab69d1.publb.rackspaceclouddb.com:6379",
            "service": "redis",
            "servicenet_connect_string": "redis://4762de18916141c2b6179e38ea90b999.publb.rackspaceclouddb.com:6379",
            "state": "ACTIVE",
            "type": "redis_ha_instance",
            "version": "2.8.17",
            "zone": "US-East-IAD3"
        },
        {
            "api_key": "4aa8a323d92d4253bd02c0992d621560",
            "caster": null,
            "connect_string": "syd-mongos0.objectrocket.com:35023",
            "created": "2015-04-29 09:53:18",
            "id": "55410c7f5b335278490a5be8",
            "name": "Test123",
            "plan": 5,
            "service": "mongodb",
            "ssl_connect_string": "syd-mongos0.objectrocket.com:45023",
            "type": "mongodb_sharded",
            "version": "2.4.6",
            "zone": "AP-Sydney"
        },
        {
            "api_key": "4aa8a323d92d4253bd02c0992d621560",
            "caster": null,
            "connection_strings": {
                "public": {
                    "http": "http://iad1-10713-0.es.objectrocket.com:10713,http://iad1-10713-1.es.objectrocket.com:10713,http://iad1-10713-2.es.objectrocket.com:10713,http://iad1-10713-3.es.objectrocket.com:10713",
                    "https": "https://iad1-10713-0.es.objectrocket.com:20713,https://iad1-10713-1.es.objectrocket.com:20713,https://iad1-10713-2.es.objectrocket.com:20713,https://iad1-10713-3.es.objectrocket.com:20713",
                    "kibana_http": "http://iad1-10713-kibana.es.objectrocket.com:10713",
                    "kibana_https": "https://iad1-10713-kibana.es.objectrocket.com:20713",
                    "transport": "iad1-10713-0.es.objectrocket.com:40713,iad1-10713-1.es.objectrocket.com:40713,iad1-10713-2.es.objectrocket.com:40713,iad1-10713-3.es.objectrocket.com:40713"
                },
                "servicenet": {
                    "http": "http://iad1-sn-10713-0.es.objectrocket.com:10713,http://iad1-sn-10713-1.es.objectrocket.com:10713,http://iad1-sn-10713-2.es.objectrocket.com:10713,http://iad1-sn-10713-3.es.objectrocket.com:10713",
                    "https": "https://iad1-sn-10713-0.es.objectrocket.com:20713,https://iad1-sn-10713-1.es.objectrocket.com:20713,https://iad1-sn-10713-2.es.objectrocket.com:20713,https://iad1-sn-10713-3.es.objectrocket.com:20713",
                    "transport": "iad1-sn-10713-0.es.objectrocket.com:40713,iad1-sn-10713-1.es.objectrocket.com:40713,iad1-sn-10713-2.es.objectrocket.com:40713,iad1-sn-10713-3.es.objectrocket.com:40713"
                }
            },
            "created": "2017-02-10 22:58:54",
            "encrypted": false,
            "id": "55410c7f5b331178490a5be8",
            "name": "foobar",
            "plan": 4,
            "service": "elasticsearch",
            "settings": {},
            "state": "COMPLETED",
            "type": "elasticsearch",
            "version": "5.1.1",
            "zone": "US-East-IAD1"
        }
    ]
}

Create a new instance

POST /instances/

Note

The service field must be one of the following: elasticsearch, mongodb, or redis.

elasticsearch:

Plans available: 4, 8, 16, 32, 64, 128, 256, and 512.

Types available: elasticsearch.

Versions available: 2.4.6, 5.2.2, 5.4.3, 5.5.1, 5.6.9, 6.1.2, 6.3.2 and 6.4.1. Contact ObjectRocket support if you need a different version

Zones available: US-East-IAD1, US-Chicago-ORD2, EU-London-LON5, US-Dallas.

Encryption: Either True or False for encryption at rest (must be of boolean type).

mongodb:

Plans available: 1, 5, 20, 50, and 100.

Types available: mongodb_sharded, mongodb_replica_set, mongodb_singledb, and mongodb_jumbo_replica_set.

Versions available: 2.6.11, 3.2.8 and 3.4.2.

Zones available: US-East-IAD3, US-West, EU-London, AP-HongKong, US-Chicago, AP-Sydney, and US-Dallas.

Encryption: Either True or False for encryption at rest (must be of boolean type).

redis:

Plans available: 500, 1000, 2500, 5000, 10000, 20000, 50000, 75000, and 100000.

Types available: redis_ha_instance.

Zones available: EU-London, US-Chicago, US-East-IAD3, and US-Dallas.

Request:

{
    "name": "TEST123",
    "plan": 2,
    "service": "elasticsearch",
    "type": "elasticsearch",
    "version": "1.6.2",
    "zone": "US-East-IAD1"
}

Request Field Map:

Field

Usage

name

(Required) The name of the new instance

plan

(Required) An integer to indicate the ObjectRocket plan size n storage

service

(Required) Which service will this instance use: mongodb, redis, elasticsearch

type

(Required) Which type of instance will this be. See the note above

version

(Required) Datastore version of the new instance. See the note above

zone

(Required) Which datacenter to create this instance in

encryption

Boolean to indicate whether the instance should use encryption at rest

storage_engine

For mongodb the storage engine to use: mmapv1 or wiredtiger

acls

A list of ACLs, where each entry is a dict of the fields required for an ACL POST

Response:

{
    "data": {
        "_id": {
            "$oid": "55e0a924cb143c426df6927e"
        },
        "ansible_group": null,
        "api_key": "2f91e30a48d94ef0ba403edf017d9e60",
        "build_id": "55e0a924cb143c426df6927d",
        "dtcreated": {
            "$date": 1440761524190
        },
        "elasticsearch_version": "1.6.2",
        "instance_name_prior": null,
        "instance_service": "elasticsearch",
        "instance_type": "elasticsearch",
        "login": "donovan@heydonovan.io",
        "login_prior": null,
        "name": "TEST123",
        "plan": 2,
        "state": "REQUESTED",
        "zone": "US-East-IAD1"
    }
}

Get details on the specified instance

GET /instances/<instance_name>/

Response:

{
    "data": {
        "api_key": "4aa8a323d92d4253bd02c0992d621560",
        "caster": null,
        "connect_string": "syd-mongos0.objectrocket.com:35023",
        "created": "2015-04-29 09:53:18",
        "id": "55410c7f5b335278490a5be8",
        "name": "Test123",
        "plan": 5,
        "service": "mongodb",
        "ssl_connect_string": "syd-mongos0.objectrocket.com:45023",
        "type": "mongodb_sharded",
        "version": "2.4.6",
        "zone": "AP-Sydney"
    }
}

Delete the specified instance

DELETE /instances/<instance_name>/

Response:

{
    "data": "Successfully deleted Instance \"Test123\"."
}

Rename the specified instance

POST /instances/<instance_name>/rename/

Request:

{
    "name": "Test456"
}

Request Field Map:

Field

Usage

name

(Required) The new name for the instance

Response:

{
    "data": "Successfully renamed instance from \"Test123\" to \"Test456\"."
}

Get a list of ACLs for the given instance

GET /instances/<instance_name>/acls/

Response:

{
    "data": [
        {
            "_cls": "Acl",
            "_id": {
                "$oid": "55410e3d5b33522f64f9ca6f"
            },
            "cidr_mask": "128.0.0.0/1",
            "date_created": {
                "$date": 1430326845000
            },
            "description": "Allow Any",
            "instance": "Test123",
            "login": "donovan@heydonovan.io",
            "metadata": {},
            "port": 35023
        },
        {
            "_cls": "Acl",
            "_id": {
                "$oid": "55410e3a5b33522f64f9ca20"
            },
            "cidr_mask": "0.0.0.0/1",
            "date_created": {
                "$date": 1430326842000
            },
            "description": "Allow Any",
            "instance": "Test123",
            "login": "donovan@heydonovan.io",
            "metadata": {},
            "port": 35023
        }
    ]
}

Create a new ACL for the given instance

POST /instances/<instance_name>/acls/

Request:

{
    "cidr_mask": "123.123.123.123",
    "description": "Tesla HQ"
}

Request Field Map:

Field

Usage

cidr_mask

(Required) The specific IP (a.b.c.d) or CIDR range (a.b.c.d/x) to add

description

(Required) Description of the ACL being added

transport

Elasticsearch use only. Boolean to determine whether the ACL should also be applied to the Elasticsearch Java transport interface. Can not be used with “kibana” field

kibana

Elasticsearch use only. Boolean to determine whether the ACL should be applied to Kibana. Can not be used with “transport” field

Response:

{
    "data": "55df9d97cb143c40ddc8376f"
}

Get a specific ACL

GET /instances/<instance_name>/acls/<acl_id>/

Response:

{
    "data": {
        "_cls": "Acl",
        "_id": {
            "$oid": "55df9d97cb143c40ddc8376f"
        },
        "cidr_mask": "123.123.123.123",
        "date_created": {
            "$date": 1440718231344
        },
        "description": "Tesla HQ",
        "instance": "Test123",
        "instance_id": {
            "$oid": "55410c7f5b335278490a5be8"
        },
        "instance_type": "mongodb_sharded",
        "login": "donovan@heydonovan.io",
        "metadata": {},
        "port": 35023,
        "service_type": "mongodb"
    }
}

Delete an ACL

DELETE /instances/<instance_name>/acls/<acl_id>/

Response:

{
    "data": {}
}