diff --git a/docs/cluster-configuration.md b/docs/cluster-configuration.md
index 8ca4a2c26..abe59eae4 100644
--- a/docs/cluster-configuration.md
+++ b/docs/cluster-configuration.md
@@ -18,8 +18,7 @@ cluster = Cluster(ClusterConfiguration(
worker_cpu_limits=1, # Default 1
worker_memory_requests=2, # Default 2
worker_memory_limits=2, # Default 2
- # image="", # Optional Field
- machine_types=["m5.xlarge", "g4dn.xlarge"],
+ # image="", # Default quay.io/rhoai/ray:2.23.0-py39-cu121
labels={"exampleLabel": "example", "secondLabel": "example"},
))
```
@@ -27,4 +26,4 @@ Note: 'quay.io/rhoai/ray:2.23.0-py39-cu121' is the default community image used
The `labels={"exampleLabel": "example"}` parameter can be used to apply additional labels to the RayCluster resource.
-After creating their `cluster`, a user can call `cluster.up()` and `cluster.down()` to respectively create or remove the Ray Cluster.
+For detailed instructions on the various methods that can be called for interacting with Ray Clusters see [Ray Cluster Interaction](./ray_cluster_interaction.md).
diff --git a/docs/ray_cluster_interaction.md b/docs/ray_cluster_interaction.md
new file mode 100644
index 000000000..a1cf0ce5e
--- /dev/null
+++ b/docs/ray_cluster_interaction.md
@@ -0,0 +1,71 @@
+# Ray Cluster Interaction
+
+The CodeFlare SDK offers multiple ways to interact with Ray Clusters including the below methods.
+
+## get_cluster()
+The `get_cluster()` command is used to initialise a `Cluster` object from a pre-existing Ray Cluster/AppWrapper.
+Below is an example of it's usage:
+```
+from codeflare_sdk import get_cluster
+cluster = get_cluster(cluster_name="raytest", namespace="example", is_appwrapper=False, write_to_file=False)
+-> output: Yaml resources loaded for raytest
+
+cluster.status()
+-> output:
+ ๐ CodeFlare Cluster Status ๐
+
+ โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
+ โ Name โ
+ โ raytest Active โ
โ
+ โ โ
+ โ URI: ray://raytest-head-svc.example.svc:10001 โ
+ โ โ
+ โ Dashboard๐ โ
+ โ โ
+ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
+(, True)
+
+cluster.down()
+
+cluster.up() # This method will create an exact copy of the retrieved Ray Cluster only if the Ray Cluster has been previously deleted.
+```
+
+These are the parameters the `get_cluster()` method accepts:
+* `cluster_name: str # Required` -> The name of the Ray Cluster.
+* `namespace: str # Default: "default"` -> The namespace the Cluster.
+* `is_appwrapper: bool # Default: False` -> The function will attempt to retrieve an AppWrapper instead of a Ray Cluster.
+* `write_to_file: bool # Default: False` -> The Ray Cluster/AppWrapper will be written to a file similar to how it is done in `ClusterConfiguration`.
+
+## list_all_queued()
+The `list_all_queued()` returns (and prints by default) a list of all currently queued-up Ray Clusters in a given namespace.
+It accepts the following parameters:
+* `namespace: str # Required` -> The namespace you want to retrieve the list from.
+* `print_to_console: bool # Default: True` -> Allows the user to print the list to their console.
+* `appwrapper: bool # Default: False` -> Allows the user to list queued AppWrappers.
+
+
+
+## list_all_clusters()
+The `list_all_clusters()` function will return a list of detailed descriptions of Ray Clusters to the console by default. It accepts the following parameters:
+* `namespace: str # Required` -> The namespace you want to retrieve the list from.
+* `print_to_console: bool # Default: True` -> A boolean that allows the user to print the list to their console.
+
+
+NOTE: The following methods require a `Cluster` object to be initialised see [Cluster Configuration](./cluster-configuration.md)
+
+## cluster.up()
+The `cluster.up()` method creates a Ray Cluster in the given namespace.
+
+## cluster.down()
+The `cluster.down()` method will delete the Ray Cluster in the given namespace.
+
+## cluster.status()
+The `cluster.status()` method will print out a status of the Ray Cluster's state with a link to the Ray Dashboard.
+
+## cluster.details()
+The `cluster.details()` method will print out a detailed description of the Ray Cluster's status, worker resources and a link to the Ray Dashboard.
+
+## cluster.wait_ready()
+The `cluster.wait_ready()` method waits for requested cluster to be ready, up to an optional timeout and checks every 5 seconds. It accepts the following parameters:
+* `timeout: Optional[int] # Default: None` -> Allows the user to define a timeout for the `wait_ready()` method.
+* `dashboard_check: bool # Default: True` -> If enabled the `wait_ready()` method will wait until the Ray Dashboard is ready too.