-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
369 additions
and
369 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,43 +1,43 @@ | ||
# Roblox Open Cloud CLI   ![Logo](imgs/icon_32_bottom.png) | ||
[![CI](https://github.com/Sleitnick/rbxcloud/actions/workflows/ci.yaml/badge.svg)](https://github.com/Sleitnick/rbxcloud/actions/workflows/ci.yaml) | ||
[![Release](https://github.com/Sleitnick/rbxcloud/actions/workflows/release.yaml/badge.svg?event=push)](https://github.com/Sleitnick/rbxcloud/actions/workflows/release.yaml) | ||
[![Crate](https://img.shields.io/crates/v/rbxcloud.svg)](https://crates.io/crates/rbxcloud) | ||
[![Docs](https://docs.rs/rbxcloud/badge.svg)](https://docs.rs/rbxcloud) | ||
|
||
The `rbxcloud` CLI lets developers easily communicate with the Roblox Open Cloud APIs. The underlying library can also be used to build tools and applications that utilize the various APIs. | ||
|
||
Possible use-cases: | ||
- Deployment pipelines | ||
- Live-ops | ||
- Custom analytics | ||
- Handling data removal requests (see [GDPR & CCPA info](https://create.roblox.com/docs/production/publishing/about-GDPR-and-CCPA)) | ||
- Debugging DataStores | ||
|
||
## Install CLI | ||
### Aftman | ||
Run the `aftman add` command within your project directory. This will add `rbxcloud` to the project's `aftman.toml` file (or create one if it doesn't yet exist). | ||
```sh | ||
$ aftman add Sleitnick/[email protected] | ||
``` | ||
|
||
### From Release | ||
Download and unzip the tool for your OS from the [releases](https://github.com/Sleitnick/rbxcloud/releases) page. You will then need to put it in your desired location and point your path variable to the executable location. | ||
|
||
## CLI Documentation | ||
Visit the documentation site for information on installation and usage: https://sleitnick.github.io/rbxcloud/ | ||
|
||
## Install Rust Library | ||
### Add Dependency | ||
|
||
To use `rbxcloud` in a Rust project, simply add `rbxcloud` to the `Cargo.toml` dependency list. | ||
```toml | ||
[dependencies] | ||
rbxcloud = "0.2.2" | ||
``` | ||
|
||
Alternatively, use `cargo add`. | ||
```sh | ||
$ cargo add rbxcloud | ||
``` | ||
|
||
See the [docs.rs](https://docs.rs/rbxcloud/latest/rbxcloud/) page for library documentation. | ||
# Roblox Open Cloud CLI   ![Logo](imgs/icon_32_bottom.png) | ||
[![CI](https://github.com/Sleitnick/rbxcloud/actions/workflows/ci.yaml/badge.svg)](https://github.com/Sleitnick/rbxcloud/actions/workflows/ci.yaml) | ||
[![Release](https://github.com/Sleitnick/rbxcloud/actions/workflows/release.yaml/badge.svg?event=push)](https://github.com/Sleitnick/rbxcloud/actions/workflows/release.yaml) | ||
[![Crate](https://img.shields.io/crates/v/rbxcloud.svg)](https://crates.io/crates/rbxcloud) | ||
[![Docs](https://docs.rs/rbxcloud/badge.svg)](https://docs.rs/rbxcloud) | ||
|
||
The `rbxcloud` CLI lets developers easily communicate with the Roblox Open Cloud APIs. The underlying library can also be used to build tools and applications that utilize the various APIs. | ||
|
||
Possible use-cases: | ||
- Deployment pipelines | ||
- Live-ops | ||
- Custom analytics | ||
- Handling data removal requests (see [GDPR & CCPA info](https://create.roblox.com/docs/production/publishing/about-GDPR-and-CCPA)) | ||
- Debugging DataStores | ||
|
||
## Install CLI | ||
### Aftman | ||
Run the `aftman add` command within your project directory. This will add `rbxcloud` to the project's `aftman.toml` file (or create one if it doesn't yet exist). | ||
```sh | ||
$ aftman add Sleitnick/[email protected] | ||
``` | ||
|
||
### From Release | ||
Download and unzip the tool for your OS from the [releases](https://github.com/Sleitnick/rbxcloud/releases) page. You will then need to put it in your desired location and point your path variable to the executable location. | ||
|
||
## CLI Documentation | ||
Visit the documentation site for information on installation and usage: https://sleitnick.github.io/rbxcloud/ | ||
|
||
## Install Rust Library | ||
### Add Dependency | ||
|
||
To use `rbxcloud` in a Rust project, simply add `rbxcloud` to the `Cargo.toml` dependency list. | ||
```toml | ||
[dependencies] | ||
rbxcloud = "0.2.2" | ||
``` | ||
|
||
Alternatively, use `cargo add`. | ||
```sh | ||
$ cargo add rbxcloud | ||
``` | ||
|
||
See the [docs.rs](https://docs.rs/rbxcloud/latest/rbxcloud/) page for library documentation. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,138 +1,138 @@ | ||
# DataStore API | ||
|
||
## List Stores | ||
List all DataStores within a given experience. | ||
``` | ||
USAGE: | ||
rbxcloud datastore list-stores [OPTIONS] --universe-id <UNIVERSE_ID> --api-key <API_KEY> | ||
OPTIONS: | ||
-a, --api-key <API_KEY> Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] | ||
-c, --cursor <CURSOR> Cursor for the next set of data | ||
-h, --help Print help information | ||
-l, --limit <LIMIT> Maximum number of items to return | ||
-p, --prefix <PREFIX> Return only DataStores with this prefix | ||
-u, --universe-id <UNIVERSE_ID> Universe ID of the experience | ||
``` | ||
|
||
## List Keys | ||
List all keys within a given DataStore. | ||
``` | ||
USAGE: | ||
rbxcloud datastore list [OPTIONS] --datastore-name <DATASTORE_NAME> --universe-id <UNIVERSE_ID> --api-key <API_KEY> | ||
OPTIONS: | ||
-a, --api-key <API_KEY> Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] | ||
-c, --cursor <CURSOR> Cursor for the next set of data | ||
-d, --datastore-name <DATASTORE_NAME> DataStore name | ||
-h, --help Print help information | ||
-l, --limit <LIMIT> Maximum number of items to return | ||
-o, --all-scopes If true, return keys from all scopes | ||
-p, --prefix <PREFIX> Return only DataStores with this prefix | ||
-s, --scope <SCOPE> DataStore scope | ||
-u, --universe-id <UNIVERSE_ID> Universe ID of the experience | ||
``` | ||
|
||
## List Key Versions | ||
List all versions of the specified key. | ||
``` | ||
USAGE: | ||
rbxcloud datastore list-versions [OPTIONS] --datastore-name <DATASTORE_NAME> --key <KEY> --sort-order <SORT_ORDER> --limit <LIMIT> --universe-id <UNIVERSE_ID> --api-key <API_KEY> | ||
OPTIONS: | ||
-a, --api-key <API_KEY> Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] | ||
-c, --cursor <CURSOR> Cursor for the next set of data | ||
-d, --datastore-name <DATASTORE_NAME> DataStore name | ||
-e, --end-time <END_TIME> End time constraint (ISO UTC Datetime) | ||
-h, --help Print help information | ||
-k, --key <KEY> The key of the entry | ||
-l, --limit <LIMIT> Maximum number of items to return | ||
-o, --sort-order <SORT_ORDER> Sort order [possible values: ascending, descending] | ||
-s, --scope <SCOPE> DataStore scope | ||
-t, --start-time <START_TIME> Start time constraint (ISO UTC Datetime) | ||
-u, --universe-id <UNIVERSE_ID> Universe ID of the experience | ||
``` | ||
|
||
## Get Key | ||
Get the entry value of a specific key. | ||
``` | ||
USAGE: | ||
rbxcloud datastore get [OPTIONS] --datastore-name <DATASTORE_NAME> --key <KEY> --universe-id <UNIVERSE_ID> --api-key <API_KEY> | ||
OPTIONS: | ||
-a, --api-key <API_KEY> Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] | ||
-d, --datastore-name <DATASTORE_NAME> DataStore name | ||
-h, --help Print help information | ||
-k, --key <KEY> The key of the entry | ||
-s, --scope <SCOPE> DataStore scope | ||
-u, --universe-id <UNIVERSE_ID> Universe ID of the experience | ||
``` | ||
|
||
## Set Key | ||
Set (or create) the entry value of a specific key. | ||
``` | ||
USAGE: | ||
rbxcloud datastore set [OPTIONS] --datastore-name <DATASTORE_NAME> --key <KEY> --data <DATA> --universe-id <UNIVERSE_ID> --api-key <API_KEY> | ||
OPTIONS: | ||
-a, --api-key <API_KEY> Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] | ||
-d, --datastore-name <DATASTORE_NAME> DataStore name | ||
-D, --data <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 <MATCH_VERSION> Only update if the current version matches this | ||
-k, --key <KEY> The key of the entry | ||
-s, --scope <SCOPE> DataStore scope | ||
-t, --attributes <ATTRIBUTES> JSON-stringified attributes data | ||
-u, --universe-id <UNIVERSE_ID> Universe ID of the experience | ||
-U, --user-ids <USER_IDS> Comma-separated list of Roblox user IDs | ||
``` | ||
|
||
## Increment Key | ||
Increment (or create) the entry value of a specific key. | ||
``` | ||
USAGE: | ||
rbxcloud datastore increment [OPTIONS] --datastore-name <DATASTORE_NAME> --key <KEY> --increment-by <INCREMENT_BY> --universe-id <UNIVERSE_ID> --api-key <API_KEY> | ||
OPTIONS: | ||
-a, --api-key <API_KEY> Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] | ||
-d, --datastore-name <DATASTORE_NAME> DataStore name | ||
-h, --help Print help information | ||
-i, --increment-by <INCREMENT_BY> The amount by which the entry should be incremented | ||
-k, --key <KEY> The key of the entry | ||
-s, --scope <SCOPE> DataStore scope | ||
-t, --attributes <ATTRIBUTES> JSON-stringified attributes data | ||
-u, --universe-id <UNIVERSE_ID> Universe ID of the experience | ||
-U, --user-ids <USER_IDS> Comma-separated list of Roblox user IDs | ||
``` | ||
|
||
## Delete Key | ||
Delete the value of a specific key. Per Roblox's [documentation](https://create.roblox.com/docs/open-cloud/data-store-api#delete-entry), this creates a "tombstone" version for 30 days before being completely deleted. | ||
``` | ||
USAGE: | ||
rbxcloud datastore delete [OPTIONS] --datastore-name <DATASTORE_NAME> --key <KEY> --universe-id <UNIVERSE_ID> --api-key <API_KEY> | ||
OPTIONS: | ||
-a, --api-key <API_KEY> Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] | ||
-d, --datastore-name <DATASTORE_NAME> DataStore name | ||
-h, --help Print help information | ||
-k, --key <KEY> The key of the entry | ||
-s, --scope <SCOPE> DataStore scope | ||
-u, --universe-id <UNIVERSE_ID> Universe ID of the experience | ||
``` | ||
|
||
## Get Key Version | ||
Get a specific entry of a key given the version. | ||
``` | ||
USAGE: | ||
rbxcloud datastore get-version [OPTIONS] --datastore-name <DATASTORE_NAME> --key <KEY> --version-id <VERSION_ID> --universe-id <UNIVERSE_ID> --api-key <API_KEY> | ||
OPTIONS: | ||
-a, --api-key <API_KEY> Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] | ||
-d, --datastore-name <DATASTORE_NAME> DataStore name | ||
-h, --help Print help information | ||
-i, --version-id <VERSION_ID> The version of the key | ||
-k, --key <KEY> The key of the entry | ||
-s, --scope <SCOPE> DataStore scope | ||
-u, --universe-id <UNIVERSE_ID> Universe ID of the experience | ||
``` | ||
# DataStore API | ||
|
||
## List Stores | ||
List all DataStores within a given experience. | ||
``` | ||
USAGE: | ||
rbxcloud datastore list-stores [OPTIONS] --universe-id <UNIVERSE_ID> --api-key <API_KEY> | ||
OPTIONS: | ||
-a, --api-key <API_KEY> Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] | ||
-c, --cursor <CURSOR> Cursor for the next set of data | ||
-h, --help Print help information | ||
-l, --limit <LIMIT> Maximum number of items to return | ||
-p, --prefix <PREFIX> Return only DataStores with this prefix | ||
-u, --universe-id <UNIVERSE_ID> Universe ID of the experience | ||
``` | ||
|
||
## List Keys | ||
List all keys within a given DataStore. | ||
``` | ||
USAGE: | ||
rbxcloud datastore list [OPTIONS] --datastore-name <DATASTORE_NAME> --universe-id <UNIVERSE_ID> --api-key <API_KEY> | ||
OPTIONS: | ||
-a, --api-key <API_KEY> Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] | ||
-c, --cursor <CURSOR> Cursor for the next set of data | ||
-d, --datastore-name <DATASTORE_NAME> DataStore name | ||
-h, --help Print help information | ||
-l, --limit <LIMIT> Maximum number of items to return | ||
-o, --all-scopes If true, return keys from all scopes | ||
-p, --prefix <PREFIX> Return only DataStores with this prefix | ||
-s, --scope <SCOPE> DataStore scope | ||
-u, --universe-id <UNIVERSE_ID> Universe ID of the experience | ||
``` | ||
|
||
## List Key Versions | ||
List all versions of the specified key. | ||
``` | ||
USAGE: | ||
rbxcloud datastore list-versions [OPTIONS] --datastore-name <DATASTORE_NAME> --key <KEY> --sort-order <SORT_ORDER> --limit <LIMIT> --universe-id <UNIVERSE_ID> --api-key <API_KEY> | ||
OPTIONS: | ||
-a, --api-key <API_KEY> Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] | ||
-c, --cursor <CURSOR> Cursor for the next set of data | ||
-d, --datastore-name <DATASTORE_NAME> DataStore name | ||
-e, --end-time <END_TIME> End time constraint (ISO UTC Datetime) | ||
-h, --help Print help information | ||
-k, --key <KEY> The key of the entry | ||
-l, --limit <LIMIT> Maximum number of items to return | ||
-o, --sort-order <SORT_ORDER> Sort order [possible values: ascending, descending] | ||
-s, --scope <SCOPE> DataStore scope | ||
-t, --start-time <START_TIME> Start time constraint (ISO UTC Datetime) | ||
-u, --universe-id <UNIVERSE_ID> Universe ID of the experience | ||
``` | ||
|
||
## Get Key | ||
Get the entry value of a specific key. | ||
``` | ||
USAGE: | ||
rbxcloud datastore get [OPTIONS] --datastore-name <DATASTORE_NAME> --key <KEY> --universe-id <UNIVERSE_ID> --api-key <API_KEY> | ||
OPTIONS: | ||
-a, --api-key <API_KEY> Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] | ||
-d, --datastore-name <DATASTORE_NAME> DataStore name | ||
-h, --help Print help information | ||
-k, --key <KEY> The key of the entry | ||
-s, --scope <SCOPE> DataStore scope | ||
-u, --universe-id <UNIVERSE_ID> Universe ID of the experience | ||
``` | ||
|
||
## Set Key | ||
Set (or create) the entry value of a specific key. | ||
``` | ||
USAGE: | ||
rbxcloud datastore set [OPTIONS] --datastore-name <DATASTORE_NAME> --key <KEY> --data <DATA> --universe-id <UNIVERSE_ID> --api-key <API_KEY> | ||
OPTIONS: | ||
-a, --api-key <API_KEY> Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] | ||
-d, --datastore-name <DATASTORE_NAME> DataStore name | ||
-D, --data <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 <MATCH_VERSION> Only update if the current version matches this | ||
-k, --key <KEY> The key of the entry | ||
-s, --scope <SCOPE> DataStore scope | ||
-t, --attributes <ATTRIBUTES> JSON-stringified attributes data | ||
-u, --universe-id <UNIVERSE_ID> Universe ID of the experience | ||
-U, --user-ids <USER_IDS> Comma-separated list of Roblox user IDs | ||
``` | ||
|
||
## Increment Key | ||
Increment (or create) the entry value of a specific key. | ||
``` | ||
USAGE: | ||
rbxcloud datastore increment [OPTIONS] --datastore-name <DATASTORE_NAME> --key <KEY> --increment-by <INCREMENT_BY> --universe-id <UNIVERSE_ID> --api-key <API_KEY> | ||
OPTIONS: | ||
-a, --api-key <API_KEY> Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] | ||
-d, --datastore-name <DATASTORE_NAME> DataStore name | ||
-h, --help Print help information | ||
-i, --increment-by <INCREMENT_BY> The amount by which the entry should be incremented | ||
-k, --key <KEY> The key of the entry | ||
-s, --scope <SCOPE> DataStore scope | ||
-t, --attributes <ATTRIBUTES> JSON-stringified attributes data | ||
-u, --universe-id <UNIVERSE_ID> Universe ID of the experience | ||
-U, --user-ids <USER_IDS> Comma-separated list of Roblox user IDs | ||
``` | ||
|
||
## Delete Key | ||
Delete the value of a specific key. Per Roblox's [documentation](https://create.roblox.com/docs/open-cloud/data-store-api#delete-entry), this creates a "tombstone" version for 30 days before being completely deleted. | ||
``` | ||
USAGE: | ||
rbxcloud datastore delete [OPTIONS] --datastore-name <DATASTORE_NAME> --key <KEY> --universe-id <UNIVERSE_ID> --api-key <API_KEY> | ||
OPTIONS: | ||
-a, --api-key <API_KEY> Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] | ||
-d, --datastore-name <DATASTORE_NAME> DataStore name | ||
-h, --help Print help information | ||
-k, --key <KEY> The key of the entry | ||
-s, --scope <SCOPE> DataStore scope | ||
-u, --universe-id <UNIVERSE_ID> Universe ID of the experience | ||
``` | ||
|
||
## Get Key Version | ||
Get a specific entry of a key given the version. | ||
``` | ||
USAGE: | ||
rbxcloud datastore get-version [OPTIONS] --datastore-name <DATASTORE_NAME> --key <KEY> --version-id <VERSION_ID> --universe-id <UNIVERSE_ID> --api-key <API_KEY> | ||
OPTIONS: | ||
-a, --api-key <API_KEY> Roblox Open Cloud API Key [env: RBXCLOUD_API_KEY=] | ||
-d, --datastore-name <DATASTORE_NAME> DataStore name | ||
-h, --help Print help information | ||
-i, --version-id <VERSION_ID> The version of the key | ||
-k, --key <KEY> The key of the entry | ||
-s, --scope <SCOPE> DataStore scope | ||
-u, --universe-id <UNIVERSE_ID> Universe ID of the experience | ||
``` |
Oops, something went wrong.