is_authenticated
@client_app.command("is_authenticated",
help="Verify auth credentials are valid")
def is_authenticated()perform_type_query
def perform_type_query(query_type: str,
print: bool = True,
to_file: Optional[Path] = None,
**kwargs) -> ListArguments:
query_type- The type of query to perform (Edge, Node, Workspace, etc...)print- Print the search response to the console. Defaults to True.to_file- Path to write the search response to. Does not write by default.kwargs- Additional kwargs to pass to the search.
Returns:
get_nodes_cli
@client_get_app.command("nodes",
context_settings={
"allow_extra_args": True,
"ignore_unknown_options": True
})
def get_nodes_cli(
ctx: typer.Context,
name: Optional[Annotated[
str, typer.Option(..., "--name", "-n", help="Name of node")]] = None,
namespace: Optional[Annotated[
str,
typer.Option(None, "--namespace", "-ns", help="Namespace of node"
)]] = None,
print: Annotated[
bool, typer.Option(..., "--p", help=f"Print nodes to console")] = True,
to_file: Optional[Annotated[
Path, typer.Option(None, "--f", help="Write nodes to file")]] = None)Retrieve nodes from The Guide
You can pass additional arguments to the search by passing them after a -- in the command line. For example:
- grai get nodes --is_active True --name my_node
- grai get nodes --metadata__grai__node_type Table
NOTE: Not all request parameters are supported by the REST api. See the documentation for more details.
Arguments:
ctx- Typer context primarily used for passing additional keyword arguments to the search.name- The name of the node to retrieve. By default it will not search any specific name.namespace- The namespace of the node to retrieve. By default it will not search and specific namespace.print- Print the search response to the console. Defaults to True.to_file- Path to write the search response to. Does not write by default.**kwargs- Additional kwargs to pass to the search.
Returns:
get_edges
@client_get_app.command("edges",
context_settings={
"allow_extra_args": True,
"ignore_unknown_options": True
})
def get_edges(
ctx: typer.Context,
name: Optional[Annotated[
str, typer.Option(..., "--name", "-n", help="Name of edge")]] = None,
namespace: Optional[Annotated[
str,
typer.Option(None, "--namespace", "-ns", help="Namespace of edge"
)]] = None,
print: Annotated[
bool, typer.Option(..., "--p", help=f"Print edges to console")] = True,
to_file: Optional[Annotated[
Path, typer.Option(None, "--f", help="Write edges to file")]] = None)Performs a parameterized edge query against the guide.
Arguments:
ctx- Typer context primarily used for passing additional keyword arguments to the search.name- The name of the edge to retrieve. By default it will not search any specific name.namespace- The namespace of the edge to retrieve. By default it will not search and specific namespace.print- Print the search response to the console. Defaults to True.to_file- Path to write the search response to. Does not write by default.**kwargs- Additional kwargs to pass to the search.
Returns:
A list of edges matching the specified search query.
get_workspaces
@client_get_app.command(
"workspaces",
help=f"Grab active {default_styler('workspaces')} from the guide.")
def get_workspaces(
ctx: typer.Context,
name: str = typer.Argument(None),
print: bool = typer.Option(True,
"--p",
help=f"Print workspaces to console"),
to_file: Optional[Path] = typer.Option(None,
"--f",
help="Write workspaces to file"))Arguments:
ctx- Typer context primarily used for passing additional keyword arguments to the search.namestr, optional - (Default value = typer.Argument(None))printbool, optional - (Default value = typer.Option(True, "--p", help=f"Print workspaces to console"))to_fileOptional[Path], optional - (Default value = typer.Option(None, "--f", help="Write workspaces to file"))
Returns:
apply
@app.command(help="Apply a configuration to The Guide by file name")
@requires_config_decorator
def apply(file: Path = typer.Argument(...),
dry_run: bool = typer.Option(False,
"--d",
help="Dry run of file application"))Apply a file to The Guide either creating or modifying the associated resource.
Arguments:
file- yaml file to applydry_run- Print the resulting yaml to the console without applying it to the guide.
Returns:
delete
@app.command("delete",
help="Delete a configuration from The Guide by file name")
@requires_config_decorator
def delete(file: Path = typer.Argument(...),
dry_run: bool = typer.Option(False,
"--d",
help="Dry run of file application"))Arguments:
file- yaml file to deletedry_run- Print the resulting yaml to the console without deleting resources from the guide.
Returns: