Roblox Open Cloud CLI
:warning: Under Development :warning:

The rbxcloud
CLI lets developers easily communicate with the Roblox Open Cloud APIs.
Common use-cases:
- CD pipelines
- Debugging DataStores
- TODO: More use-cases
Install
Foreman
Add rbxcloud
under the [tools]
section of your foreman.toml
file:
toml
rbxcloud = { github = "Sleitnick/rbx-cloud-cli", version = "0.1.0-alpha.4" }
Cargo
TODO: Publish to cargo
From Release
Download and unzip the tool for your OS from the releases page. You will then need to put it in your desired location and point your path variable to the executable location.
Experience
Publish
```
USAGE:
rbxcloud experience publish --filename --place-id --universe-id --version-type --api-key
OPTIONS:
-a, --api-key Roblox Open Cloud API Key
-f, --filename Filename (full or relative) of the RBXL file
-h, --help Print help information
-p, --place-id Place ID of the experience
-u, --universe-id Universe ID of the experience
-v, --version-type Version type [possible values: saved, published]
```
Messaging
Publish
```
USAGE:
rbxcloud messaging publish --topic --message --universe-id --api-key
OPTIONS:
-a, --api-key Roblox Open Cloud API Key
-h, --help Print help information
-m, --message Message to send
-t, --topic Message topic
```
DataStore
List Stores
```
USAGE:
rbxcloud datastore list-stores [OPTIONS] --universe-id --api-key
OPTIONS:
-a, --api-key Roblox Open Cloud API Key
-c, --cursor Cursor for the next set of data
-h, --help Print help information
-l, --limit Maximum number of items to return
-p, --prefix Return only DataStores with this prefix
-u, --universe-id Universe ID of the experience
```
List Keys
```
USAGE:
rbxcloud datastore list [OPTIONS] --datastore-name --universe-id --api-key
OPTIONS:
-a, --api-key Roblox Open Cloud API Key
-c, --cursor Cursor for the next set of data
-d, --datastore-name DataStore name
-h, --help Print help information
-l, --limit Maximum number of items to return
-o, --all-scopes If true, return keys from all scopes
-p, --prefix Return only DataStores with this prefix
-s, --scope DataStore scope
-u, --universe-id Universe ID of the experience
```
List Versions of Key
```
USAGE:
rbxcloud datastore list-versions [OPTIONS] --datastore-name --key --sort-order --limit --universe-id --api-key
OPTIONS:
-a, --api-key Roblox Open Cloud API Key
-c, --cursor Cursor for the next set of data
-d, --datastore-name DataStore name
-e, --end-time End time constraint (ISO UTC Datetime)
-h, --help Print help information
-k, --key The key of the entry
-l, --limit Maximum number of items to return
-o, --sort-order Sort order [possible values: ascending, descending]
-s, --scope DataStore scope
-t, --start-time Start time constraint (ISO UTC Datetime)
-u, --universe-id Universe ID of the experience
```
Get Key
```
USAGE:
rbxcloud datastore get [OPTIONS] --datastore-name --key --universe-id --api-key
OPTIONS:
-a, --api-key Roblox Open Cloud API Key
-d, --datastore-name DataStore name
-h, --help Print help information
-k, --key The key of the entry
-s, --scope DataStore scope
-u, --universe-id Universe ID of the experience
```
Set Key
```
USAGE:
rbxcloud datastore set [OPTIONS] --datastore-name --key --data --universe-id --api-key
OPTIONS:
-a, --api-key Roblox Open Cloud API Key
-d, --datastore-name DataStore name
-D, --data JSON-stringified data (up to 4MB)
-e, --exclusive-create Only create the entry if it does not exist
-h, --help Print help information
-i, --match-version Only update if the current version matches this
-k, --key The key of the entry
-s, --scope DataStore scope
-t, --attributes JSON-stringified attributes data
-u, --universe-id Universe ID of the experience
-U, --user-ids Comma-separated list of Roblox user IDs
```
Increment Key
```
USAGE:
rbxcloud datastore increment [OPTIONS] --datastore-name --key --increment-by --universe-id --api-key
OPTIONS:
-a, --api-key Roblox Open Cloud API Key
-d, --datastore-name DataStore name
-h, --help Print help information
-i, --increment-by The amount by which the entry should be incremented
-k, --key The key of the entry
-s, --scope DataStore scope
-t, --attributes JSON-stringified attributes data
-u, --universe-id Universe ID of the experience
-U, --user-ids Comma-separated list of Roblox user IDs
```
Delete Key
```
USAGE:
rbxcloud datastore delete [OPTIONS] --datastore-name --key --universe-id --api-key
OPTIONS:
-a, --api-key Roblox Open Cloud API Key
-d, --datastore-name DataStore name
-h, --help Print help information
-k, --key The key of the entry
-s, --scope DataStore scope
-u, --universe-id Universe ID of the experience
```
Get Version of Key
```
USAGE:
rbxcloud datastore get-version [OPTIONS] --datastore-name --key --version-id --universe-id --api-key
OPTIONS:
-a, --api-key Roblox Open Cloud API Key
-d, --datastore-name DataStore name
-h, --help Print help information
-i, --version-id The version of the key
-k, --key The key of the entry
-s, --scope DataStore scope
-u, --universe-id Universe ID of the experience
```