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": {}
}