Metadata-Version: 2.1
Name: yeedu-cli
Version: 4.5.4
Summary: Universal Command Line Interface for Yeedu.
Home-page: https://github.com/yeedu-io
Author: Yeedu
Author-email: yeedu@yeedu.com
License: All Rights Reserved
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
Requires-Dist: argparse ==1.4.0
Requires-Dist: requests ==2.28.1
Requires-Dist: python-dotenv ==1.0.0
Requires-Dist: PyYAML ==6.0
Requires-Dist: setuptools ==59.6.0

.. _yeedu-command-line-interface:

Yeedu Command-Line-Interface
============================

Yeedu CLI(Command Line Interface) is a standard CLI to run interactively
with Yeedu's `RESTful-API <https://github.com/yeedu-io/RESTful-API>`__.

Table of Contents
=================

-  `Requirements <#requirements>`__
-  `CLI Setup <#cli-setup>`__

   - `PyPI <#pypi>`__

   -  `Windows <#windows>`__

      -  `Generate Executable file for yeedu
         CLI <#generate-executable-file-for-yeedu-cli>`__

   -  `Linux <#linux>`__
   -  `Environment Variable Setup <#environment-variable-setup>`__
   -  `Authentication Setup <#authentication-setup>`__

      -  `Storing the credentials as Environment
         Variables <#storing-the-credentials-as-environment-variables>`__
      -  `Storing the credentials inside a yeedu_credentials.config
         file <#storing-the-credentials-inside-a-yeedu-credentialsconfig-file>`__
      -  `Storing the Yeedu Session Token inside a
         file <#storing-the-yeedu-session-token-inside-a-file>`__
      -  `configure <#configure>`__
      -  `list-tenants <#list-tenants>`__
      -  `associate-tenant <#associate-tenant>`__

-  `Resources <#resources>`__

   -  `Lookup <#lookup>`__

      -  `list-providers <#list-providers>`__
      -  `get-provider <#get-provider>`__
      -  `list-provider-availability-zones <#list-provider-availability-zones>`__
      -  `get-provider-availability-zone <#get-provider-availability-zone>`__
      -  `list-provider-machine-types <#list-provider-machine-types>`__
      -  `get-provider-machine-type <#get-provider-machine-type>`__
      -  `list-disk-machine-types <#list-disk-machine-types>`__
      -  `list-credential-types <#list-credential-types>`__
      -  `list-engine-cluster-instance-status <#list-engine-cluster-instance-status>`__
      -  `list-spark-compute-types <#list-spark-compute-types>`__
      -  `list-spark-infra-versions <#list-spark-infra-versions>`__
      -  `list-spark-job-status <#list-spark-job-status>`__
      -  `list-workflow-execution-states <#list-workflow-execution-states>`__
      -  `list-workflow-types <#list-workflow-types>`__

   -  `Volume Configuration <#volume-configuration>`__

      -  `create-volume-conf <#create-volume-conf>`__
      -  `list-volume-confs <#list-volume-confs>`__
      -  `get-volume-conf <#get-volume-conf>`__
      -  `edit-volume-conf <#edit-volume-conf>`__

   -  `Network Configuration <#network-configuration>`__

      -  `create-network-conf <#create-network-conf>`__
      -  `list-network-confs <#list-network-confs>`__
      -  `get-network-conf <#get-network-conf>`__
      -  `edit-network-conf <#edit-network-conf>`__

   -  `Boot Disk Image Config <#boot-disk-image-config>`__

      -  `create-boot-disk-image-conf <#create-boot-disk-image-conf>`__
      -  `get-boot-disk-image-conf <#get-boot-disk-image-conf>`__
      -  `list-boot-disk-image-confs <#list-boot-disk-image-confs>`__

   -  `Machine Configuration <#machine-configuration>`__

      -  `create-machine-conf <#create-machine-conf>`__
      -  `list-machine-confs <#list-machine-confs>`__
      -  `get-machine-conf <#get-machine-conf>`__
      -  `edit-machine-conf <#edit-machine-conf>`__

   -  `Credentials Configuration <#credentials-configuration>`__

      -  `create-credential-conf <#create-credential-conf>`__
      -  `list-credential-confs <#list-credential-confs>`__
      -  `get-credential-conf <#get-credential-conf>`__
      -  `edit-credential-conf <#edit-credential-conf>`__
      -  `delete-credential-conf <#delete-credential-conf>`__

   -  `Object Storage Manager <#object-storage-manager>`__

      -  `create-object-storage-manager <#create-object-storage-manager>`__
      -  `list-object-storage-managers <#list-object-storage-managers>`__
      -  `get-object-storage-manager <#get-object-storage-manager>`__
      -  `edit-object-storage-manager <#edit-object-storage-manager>`__
      -  `delete-object-storage-manager <#delete-object-storage-manager>`__

   -  `Object Storage Manager Files <#object-storage-manager-files>`__

      -  `create-object-storage-manager-file <#create-object-storage-manager-file>`__
      -  `list-object-storage-manager-files <#list-object-storage-manager-files>`__
      -  `get-object-storage-manager-file <#get-object-storage-manager-file>`__
      -  `delete-object-storage-manager-file <#delete-object-storage-manager-file>`__

   -  `Hive Metastore Configuration <#hive-metastore-configuration>`__

      -  `create-hive-metastore-conf <#create-hive-metastore-conf>`__
      -  `list-hive-metastore-confs <#list-hive-metastore-confs>`__
      -  `get-hive-metastore-conf <#get-hive-metastore-conf>`__
      -  `edit-hive-metastore-conf <#edit-hive-metastore-conf>`__
      -  `delete-hive-metastore-conf <#delete-hive-metastore-conf>`__

-  `Cluster <#cluster>`__

   -  `Cluster Configuration <#cluster-configuration>`__

      -  `create-conf <#create-conf>`__
      -  `list-confs <#list-confs>`__
      -  `get-conf <#get-conf>`__
      -  `edit-conf <#edit-conf>`__

   -  `Cluster Instance <#cluster-instance>`__

      -  `create <#create>`__
      -  `list <#list>`__
      -  `get <#get>`__
      -  `edit <#edit>`__
      -  `start <#start>`__
      -  `stop <#stop>`__
      -  `destroy <#destroy>`__
      -  `get-stats <#get-stats>`__
      -  `logs <#logs>`__

-  `Job <#job>`__

   -  `Spark Job Configuration <#spark-job-configuration>`__

      -  `create-conf <#create-conf-1>`__
      -  `list-confs <#list-confs-1>`__
      -  `get-conf <#get-conf-1>`__
      -  `edit-conf <#edit-conf-1>`__
      -  `delete-conf <#delete-conf>`__

   -  `Spark Job Instance <#spark-job-instance>`__

      -  `start <#start-1>`__
      -  `list <#list-1>`__
      -  `get <#get-1>`__
      -  `kill <#kill>`__
      -  `logs <#logs-1>`__

   -  `Workflow Details By Spark Job Application
      ID <#workflow-details-by-spark-job-application-id>`__

      -  `get-workflow-job-instance <#get-workflow-job-instance>`__

-  `IAM (Identity and Access
   Management) <#iam--identity-and-access-management->`__

   -  `User <#user>`__

      -  `get-user-info <#get-user-info>`__
      -  `get-user-roles <#get-user-roles>`__

   -  `Shared Platform and Admin <#shared-platform-and-admin>`__

      -  `sync-user <#sync-user>`__
      -  `sync-group <#sync-group>`__
      -  `list-user-groups <#list-user-groups>`__
      -  `list-users <#list-users>`__
      -  `list-group-users <#list-group-users>`__
      -  `list-groups <#list-groups>`__

   -  `Lookup <#lookup-1>`__

      -  `list-resources <#list-resources>`__
      -  `get-resource <#get-resource>`__
      -  `list-permissions <#list-permissions>`__
      -  `get-permission <#get-permission>`__
      -  `list-roles <#list-roles>`__
      -  `get-role <#get-role>`__
      -  `list-rules <#list-rules>`__
      -  `get-rule <#get-rule>`__

-  `Platform-Admin <#platform-admin>`__

   -  `Tenant <#tenant>`__

      -  `create-tenant <#create-tenant>`__
      -  `list-tenants <#list-tenants-1>`__
      -  `get-tenant <#get-tenant>`__
      -  `edit-tenant <#edit-tenant>`__
      -  `delete-tenant <#delete-tenant>`__

   -  `User <#user-1>`__

      -  `list-user-tenants <#list-user-tenants>`__
      -  `list-tenant-users <#list-tenant-users>`__
      -  `get-tenant-user <#get-tenant-user>`__
      -  `get-user-roles <#get-user-roles-1>`__
      -  `list-users-roles <#list-users-roles>`__
      -  `get-role-users <#get-role-users>`__
      -  `create-user-role <#create-user-role>`__
      -  `delete-user-role <#delete-user-role>`__

   -  `Group <#group>`__

      -  `list-tenant-groups <#list-tenant-groups>`__
      -  `get-tenant-group <#get-tenant-group>`__
      -  `get-group-roles <#get-group-roles>`__
      -  `list-groups-roles <#list-groups-roles>`__
      -  `get-role-groups <#get-role-groups>`__
      -  `create-group-role <#create-group-role>`__
      -  `delete-group-role <#delete-group-role>`__

-  `Admin <#admin>`__

   -  `User <#user-2>`__

      -  `list-users <#list-users-1>`__
      -  `get-user <#get-user>`__
      -  `get-user-roles <#get-user-roles-2>`__
      -  `list-users-roles <#list-users-roles-1>`__
      -  `get-role-users <#get-role-users-1>`__
      -  `create-user-role <#create-user-role-1>`__
      -  `delete-user-role <#delete-user-role-1>`__

   -  `Group <#group-1>`__

      -  `list-groups <#list-groups-1>`__
      -  `get-group <#get-group>`__
      -  `get-group-roles <#get-group-roles-1>`__
      -  `list-groups-roles <#list-groups-roles-1>`__
      -  `get-role-groups <#get-role-groups-1>`__
      -  `create-group-role <#create-group-role-1>`__
      -  `delete-group-role <#delete-group-role-1>`__

Requirements
============

The yeedu-cli package works on Python version:

-  3.8.x and greater


CLI Setup
=========

Need to run below command from the project directory to setup the yeedu
CLI on the environment.

PyPI
----

.. code-block:: bash

   pip install yeedu-cli


Windows
-------

.. code-block:: bash

   pip install --editable .

Generate Executable file for yeedu CLI
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-  Need to install ``pyinstaller`` using below mentioned command

.. code-block:: bash

   pip install pyinstaller

-  From project directory execute below mention command

.. code-block:: bash

   pyinstaller --onefile yeedu.py

Traverse to ``\dist`` directory and get the executable file
``yeedu.exe``

-  The yeedu.exe commands can be formed as shown below:

.. code-block:: bash

   yeedu.exe [-h]
   yeedu.exe <command> [-h]
   yeedu.exe <command> <subcommand> [-h]

-  Example of yeedu CLI command using executable file

.. code-block:: bash

   yeedu.exe resource list-providers

Linux
-----

-  WSL

.. code-block:: bash

   sudo apt install python3-pip

.. code-block:: bash

   pip3 install --editable .

-  Bash

.. code-block:: bash

   sudo python3 setup.py develop

Environment Variable Setup
--------------------------

Create a ``.env`` file in the project directory and provide below
environment variables.

.. code-block:: bash

   # Below mentioned values are the default values of Environment Variables 
   YEEDU_RESTAPI_URL="http://localhost:8080"
   YEEDU_CLI_LOG_DIR=~/.yeedu/cli/logs/
   YEEDU_CLI_MAX_LOG_FILES=5         # Number 0f log files as an integer
   YEEDU_CLI_MAX_LOG_FILE_SIZE=30    # Log file size in MB as an integer
   YEEDU_USERNAME=USER
   YEEDU_PASSWORD=PASS
   YEEDU_RESTAPI_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFiY2RlZiIsImlkIjoiMSIsImlhdCI6MTY2NzgwOTYwMX0.HwhdTHBttnR0NFtmUDjcxTLMSLfyNuBs7t7GO9zOf08
   YEEDU_RESTAPI_TOKEN_FILE_PATH=/home/user/yeedu_cli.config

Alternative of ``.env`` file

-  Windows CMD

.. code-block:: bash

   SET YEEDU_RESTAPI_URL="http://localhost:8080"
   SET YEEDU_CLI_LOG_DIR=~/.yeedu/cli/logs/
   SET YEEDU_CLI_MAX_LOG_FILES=5
   SET YEEDU_CLI_MAX_LOG_FILE_SIZE=30
   SET YEEDU_USERNAME=USER
   SET YEEDU_PASSWORD=PASS
   SET YEEDU_RESTAPI_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFiY2RlZiIsImlkIjoiMSIsImlhdCI6MTY2NzgwOTYwMX0.HwhdTHBttnR0NFtmUDjcxTLMSLfyNuBs7t7GO9zOf08
   SET YEEDU_RESTAPI_TOKEN_FILE_PATH=/home/user/yeedu_cli.config

-  Linux

.. code-block:: bash

   export YEEDU_RESTAPI_URL="http://localhost:8080"
   export YEEDU_CLI_LOG_DIR=~/.yeedu/cli/logs/
   export YEEDU_CLI_MAX_LOG_FILES=5
   export YEEDU_CLI_MAX_LOG_FILE_SIZE=30
   export YEEDU_USERNAME=USER
   export YEEDU_PASSWORD=PASS
   export YEEDU_RESTAPI_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFiY2RlZiIsImlkIjoiMSIsImlhdCI6MTY2NzgwOTYwMX0.HwhdTHBttnR0NFtmUDjcxTLMSLfyNuBs7t7GO9zOf08
   export YEEDU_RESTAPI_TOKEN_FILE_PATH=/home/user/yeedu_cli.config

Authentication Setup
--------------------

-  Below mentions ways of storing the credentials which will be used
   [Environment Variables will be given a priority] to generate the
   token.

Storing the credentials as Environment Variables
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   YEEDU_USERNAME=USER
   YEEDU_PASSWORD=PASS

.. _storing-the-credentials-inside-a-yeedu_credentialsconfig-file:

Storing the credentials inside a ``yeedu_credentials.config`` file
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-  The yeedu_credentials.config file needs to be created inside the
   directory **home/user/.yeedu/** which consists of JSON as shown
   below:

.. code-block:: JSON

   {
     "YEEDU_USERNAME": "USER",
     "YEEDU_PASSWORD": "PASS"
   }

Storing the Yeedu Session Token inside a file
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-  If the user is already having the Yeedu Session Token. Then user can
   save the token at the any location and provide the file path in
   enviroment variable ``YEEDU_RESTAPI_TOKEN_FILE_PATH``

   -  For example
      ``YEEDU_RESTAPI_TOKEN_FILE_PATH="/home/user/Documents/YeeduToken/{FileName}"``

-  Format to store the token is as shown below:

.. code-block:: JSON

   {
     "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJpYXQiOjE2ODg3MjA0MjIsImV4cCI6MTY4ODg5MzIyMn0.EfxuXKPBISQB4ep-sPQbo6R7tg2irlnAC_krqnuXJ5Q"
   }

+----------------------------------+----------------------------------+
| Command Name                     | Utility                          |
+==================================+==================================+
| `configure <#configure>`__       | Used to generate the token.      |
+----------------------------------+----------------------------------+
| `list-tenants <#list-tenants>`__ | To list all the available        |
|                                  | tenants for the session user.    |
+----------------------------------+----------------------------------+
| `associate-tenant <#associate-te | To associate tenant with the     |
| nant>`__                         | current users session Token.     |
+----------------------------------+----------------------------------+

configure
~~~~~~~~~

.. code-block:: bash

   yeedu configure -h

.. code-block:: bash

   Yeedu CLI

   positional arguments:
     {configure}

   options:
     -h, --help            Show this help message and exit.
     --timeout [TIMEOUT]   Provide token expiration timeout in hour Example: --timeout=24,
                           --timeout=infinity (infinity for no expiration time) to
                           generate Yeedu Token. (default: 48)
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  User can provide the file path to stored the configured token using
   the environment variable ``YEEDU_RESTAPI_TOKEN_FILE_PATH``.

   -  For example
      ``YEEDU_RESTAPI_TOKEN_FILE_PATH="/home/user/Documents/YeeduToken/{FileName}"``

-  configure example with optional argument passed.

.. code-block:: bash

   yeedu configure --timeout=72

-  Console output

.. code-block:: bash

   {
     "message": "The token has been configured for the username: USER and stored at location: /home/user/.yeedu/yeedu_cli.config"
   }

The generated token will be used internally for accessing the yeedu
features based on the acess level provided to the given username

-  To list the tenants a user has access to, execute the
   ``yeedu iam list-tenants`` command.

list-tenants
~~~~~~~~~~~~

.. code-block:: bash

   yeedu iam list-tenants -h

.. code-block:: bash

   usage:  list-tenants [-h] [--json-output [{pretty,default}]]
                        [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-tenants example without optional arguments passed for output
   format.

.. code-block:: bash

   yeedu iam list-tenants

-  Console output

.. code-block:: bash

   [
     {
       "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
       "name": "tenant1",
       "description": "Yeedu Tenant 1"
     },
     {
       "tenant_id": "066a702d-6b9d-4176-afc5-51c24a651739",
       "name": "tenant2",
       "description": "Yeedu Tenant 2"
     },
     {
       "tenant_id": "328aba9a-92ac-458d-8c27-fe9ea6e5e9ab",
       "name": "tenant3",
       "description": "Yeedu Tenant 3"
     },
     {
       "tenant_id": "6b682ef1-ede4-4d96-bab6-cd008aadd534",
       "name": "tenant4",
       "description": "Yeedu Tenant 4"
     }
   ]

-  Execute ``yeedu iam associate-tenant --tenant_id={tenant_id}`` to
   associate a tenant id from the ``yeedu iam list-tenants`` response to
   the session token.

associate-tenant
~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu iam associate-tenant -h

.. code-block:: bash

   usage:  associate-tenant [-h] --tenant_id TENANT_ID [--json-output [{pretty,default}]]
                            [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide tenant_id to associate it with session token
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  associate-tenant example with required argument '--tenant_id' passed.

.. code-block:: bash

   yeedu iam associate-tenant --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538"

-  Console output

.. code-block:: bash

   {
     "message": "Successfully associated Tenant"
   }

Resources
=========

Lookup
------

+-----------------------------------------+----------------------------------+
| Command Name                            | Utility                          |
+=========================================+==================================+
| `list-providers <#list-providers>`__    | To get information about all     |
|                                         | Cloud Providers.                 |
+-----------------------------------------+----------------------------------+
| `get-provider <#get-provider>`__        | To get information about a       |
|                                         | specific Cloud Provider.         |
+-----------------------------------------+----------------------------------+
| `list-provider-availability-zones <#lis | To get information about         |
| t-provider-availability-zones>`__       | Availability Zones for a specific|
|                                         | Cloud Provider.                  |
+-----------------------------------------+----------------------------------+
| `get-provider-availability-zone <#get-p | To get information about a       |
| rovider-availability-zone>`__           | specific Availability Zone for a |
|                                         | specific Cloud Provider.         |
+-----------------------------------------+----------------------------------+
| `list-provider-machine-types  <#list-pr | To get information about Machine |
| ovider-machine-types>`__                | Types for a specific Cloud       |
|                                         | Provider.                        |
+-----------------------------------------+----------------------------------+
| `get-provider-machine-type <#get-provid | To get information about a       |
| er-machine-type>`__                     | specific Machine Type for a      |
|                                         | specific Cloud Provider.         |
+-----------------------------------------+----------------------------------+
| `list-disk-machine-types <#list-disk-ma | To get information about all     |
| chine-types>`__                         | disk machine types.              |
+-----------------------------------------+----------------------------------+
| `list-credential-types <#list-credentia | To get information about all     |
| l-types>`__                             | credential types.                |
+-----------------------------------------+----------------------------------+
| `list-engine-cluster-instance-status <# | To get information about         |
| list-engine-cluster-instance-status>`__ | available engine cluster         |
|                                         | instance status.                 |
+-----------------------------------------+----------------------------------+
| `list-spark-compute-types <#list-spark- | To get information about all     |
| compute-types>`__                       | spark compute types.             |
+-----------------------------------------+----------------------------------+
| `list-spark-infra-versions <#list-spark | To get information about spark   |
| -infra-versions>`__                     | infra version.                   |
+-----------------------------------------+----------------------------------+
| `list-spark-job-status <#list-spark-job | To get information about spark   |
| -status>`__                             | job status.                      |
+-----------------------------------------+----------------------------------+
| `list-workflow-execution-states <#list- | To get information about         |
| workflow-execution-states>`__           | workflow execution state.        |
+-----------------------------------------+----------------------------------+
| `list-workflow-types <#list-workflow-ty | To get information about         |
| pes>`__                                 | workflow type.                   |
+-----------------------------------------+----------------------------------+


list-providers
~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-providers -h

.. code-block:: bash

   usage:  list-providers [-h] [--json-output [{pretty,default}]]
                          [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-providers example without any optional argument passed for
   output format.

.. code-block:: bash

   yeedu resource list-providers

-  Console output

.. code-block:: bash

   [
     {
       "cloud_provider_id": "0",
       "name": "gcp",
       "description": "Provider for creating infrastructure on Google Cloud Platform",
       "from_date": "2023-07-14T13:44:16.300Z",
       "to_date": null
     },
     {
       "cloud_provider_id": "1",
       "name": "aws",
       "description": "Provider for creating infrastructure on Amazon Web Services",
       "from_date": "2023-07-14T13:44:16.300Z",
       "to_date": null
     },
     {
       "cloud_provider_id": "2",
       "name": "azure",
       "description": "Provider for creating infrastructure on Azure Cloud Platform",
       "from_date": "2023-07-14T13:44:16.300Z",
       "to_date": null
     }
   ]

get-provider
~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource get-provider -h

.. code-block:: bash

   usage:  get-provider [-h] --cloud_provider_id CLOUD_PROVIDER_ID
                        [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cloud_provider_id CLOUD_PROVIDER_ID
                           Provide specific cloud provider id to get-provider.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-provider example with required '--cloud_provider_id' argument
   passed.

.. code-block:: bash

   yeedu resource get-provider --cloud_provider_id=0

-  Console output

.. code-block:: bash

   {
     "cloud_provider_id": "0",
     "name": "gcp",
     "description": "Provider for creating infrastructure on Google Cloud Platform",
     "from_date": "2023-07-14T13:44:16.300Z",
     "to_date": null
   }

list-provider-availability-zones
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-provider-availability-zones -h

.. code-block:: bash

   usage:  list-provider-availability-zones [-h] --cloud_provider_id CLOUD_PROVIDER_ID
                                            [--json-output [{pretty,default}]]
                                            [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cloud_provider_id CLOUD_PROVIDER_ID
                           Provide specific Cloud Provider id to list-provider-
                           availability-zones.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-provider-availability-zones example with required
   '--cloud_provider_id' argument passed.

.. code-block:: bash

   yeedu resource list-provider-availability-zones --cloud_provider_id=0

-  Console output

.. code-block:: bash

   [
     {
       "availability_zone_id": "0",
       "cloud_provider": {
         "name": "gcp",
         "description": "Provider for creating infrastructure on Google Cloud Platform"
       },
       "name": "asia-east1-a",
       "region": "asia-east1",
       "description": "Changhua County, Taiwan, APAC",
       "from_date": "2023-07-14T13:44:19.583Z",
       "to_date": null
     },
     ...
     {
       "availability_zone_id": "102",
       "cloud_provider": {
         "name": "gcp",
         "description": "Provider for creating infrastructure on Google Cloud Platform"
       },
       "name": "us-south1-c",
       "region": "us-south1",
       "description": "Dallas, Texas, North America",
       "from_date": "2023-07-14T13:44:19.583Z",
       "to_date": null
     }
   ]

get-provider-availability-zone
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource get-provider-availability-zone -h

.. code-block:: bash

   usage:  get-provider-availability-zone [-h] --cloud_provider_id CLOUD_PROVIDER_ID
                                          --availability_zone_id AVAILABILITY_ZONE_ID
                                          [--json-output [{pretty,default}]]
                                          [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cloud_provider_id CLOUD_PROVIDER_ID
                           Provide specific cloud provider id to get-provider-availability-
                           zone.
     --availability_zone_id AVAILABILITY_ZONE_ID
                           Provide specific Availability Zone id to get-provider-
                           availability-zone.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-provider-availability-zone example with required arguments
   passed.

.. code-block:: bash

   yeedu resource get-provider-availability-zone --cloud_provider_id=1 --availability_zone_id=116

-  Console output

.. code-block:: bash

   {
     "availability_zone_id": "116",
     "cloud_provider": {
       "name": "aws",
       "description": "Provider for creating infrastructure on Amazon Web Services"
     },
     "name": "Canada",
     "region": "ca-central-1",
     "description": "central",
     "from_date": "2023-07-14T13:44:19.583Z",
     "to_date": null
   }

list-provider-machine-types
~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-provider-machine-types -h

.. code-block:: bash

   usage:  list-provider-machine-types [-h] --cloud_provider_id CLOUD_PROVIDER_ID
                                       [--json-output [{pretty,default}]]
                                       [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cloud_provider_id CLOUD_PROVIDER_ID
                           Provide specific cloud provider id to list-provider-machine-
                           types.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-provider-machine-types example with required
   '--cloud_provider_id' argument passed.

.. code-block:: bash

   yeedu resource list-provider-machine-types --cloud_provider_id=0

-  Console output

.. code-block:: bash

   [
     {
       "machine_type_id": "0",
       "cloud_provider": {
         "name": "gcp",
         "description": "Provider for creating infrastructure on Google Cloud Platform"
       },
       "name": "a2-highgpu-1g",
       "vcpus": 12,
       "memory": "85 GiB",
       "has_cuda": false,
       "gpu_model": null,
       "gpus": null,
       "gpu_memory": null,
       "from_date": "2023-07-14T13:44:18.310Z",
       "to_date": null
     },
     ...
     {
       "machine_type_id": "723",
       "cloud_provider": {
         "name": "gcp",
         "description": "Provider for creating infrastructure on Google Cloud Platform"
       },
       "name": "n1-standard-4-4g",
       "vcpus": 4,
       "memory": "15 GiB",
       "has_cuda": true,
       "gpu_model": "nvidia-tesla-t4",
       "gpus": 4,
       "gpu_memory": "64 GB GDDR6",
       "from_date": "2023-07-14T13:44:18.310Z",
       "to_date": null
     }
   ]

get-provider-machine-type
~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource get-provider-machine-type -h

.. code-block:: bash

   usage:  get-provider-machine-type [-h] --cloud_provider_id CLOUD_PROVIDER_ID
                                     --machine_type_id MACHINE_TYPE_ID
                                     [--json-output [{pretty,default}]]
                                     [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cloud_provider_id CLOUD_PROVIDER_ID
                           Provide specific cloud provider id to get-provider-machine-type.
     --machine_type_id MACHINE_TYPE_ID
                           Provide specific machine type id to get-provider-machine-type.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-provider-machine-type example with all the required arguments
   passed.

.. code-block:: bash

   yeedu resource get-provider-machine-type --cloud_provider_id=0 --machine_type_id=108

-  Console output

.. code-block:: bash

   {
     "machine_type_id": "108",
     "cloud_provider": {
       "name": "gcp",
       "description": "Provider for creating infrastructure on Google Cloud Platform"
     },
     "name": "n2d-highmem-64",
     "vcpus": 64,
     "memory": "512 GiB",
     "has_cuda": false,
     "gpu_model": null,
     "gpus": null,
     "gpu_memory": null,
     "from_date": "2023-07-14T13:44:18.310Z",
     "to_date": null
   }

list-disk-machine-types
~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-disk-machine-types -h

.. code-block:: bash

   usage:  list-disk-machine-types [-h] [--json-output [{pretty,default}]]
                                   [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-disk-machine-types example without optional argument passed for
   output format.

.. code-block:: bash

   yeedu resource list-disk-machine-types

-  Console output

.. code-block:: bash

   [
     {
       "disk_type_id": "0",
       "cloud_provider": {
         "name": "gcp",
         "description": "Provider for creating infrastructure on Google Cloud Platform"
       },
       "name": "pd-ssd",
       "has_fixed_size": false,
       "min_size": 10,
       "max_size": 64000,
       "from_date": "2023-07-14T13:44:19.081Z",
       "to_date": null
     },
     ...
     {
       "disk_type_id": "15",
       "cloud_provider": {
         "name": "azure",
         "description": "Provider for creating infrastructure on Azure Cloud Platform"
       },
       "name": "UltraSSD_LRS",
       "has_fixed_size": false,
       "min_size": 4,
       "max_size": 65536,
       "from_date": "2023-07-14T13:44:19.081Z",
       "to_date": null
     }
   ]

list-credential-types
~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-credential-types -h

.. code-block:: bash

   usage:  list-credential-types [-h] [--json-output [{pretty,default}]]
                                 [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-credential-types example without optional argument passed for
   output format.

.. code-block:: bash

   yeedu resource list-credential-types

-  Console output

.. code-block:: bash

   [
     {
       "credential_type_id": "0",
       "name": "gcp",
       "cloud_provider": {
         "name": "gcp",
         "description": "Provider for creating infrastructure on Google Cloud Platform"
       },
       "from_date": "2023-07-14T13:44:17.305Z",
       "to_date": null
     },
     {
       "credential_type_id": "1",
       "name": "aws",
       "cloud_provider": {
         "name": "aws",
         "description": "Provider for creating infrastructure on Amazon Web Services"
       },
       "from_date": "2023-07-14T13:44:17.305Z",
       "to_date": null
     },
     {
       "credential_type_id": "2",
       "name": "azure",
       "cloud_provider": {
         "name": "azure",
         "description": "Provider for creating infrastructure on Azure Cloud Platform"
       },
       "from_date": "2023-07-14T13:44:17.305Z",
       "to_date": null
     }
   ]

list-engine-cluster-instance-status
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-engine-cluster-instance-status -h

.. code-block:: bash

   usage:  list-engine-cluster-instance-status [-h] [--json-output [{pretty,default}]]
                                               [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-engine-cluster-instance-status example without optional argument
   passed for output format.

.. code-block:: bash

   yeedu resource list-engine-cluster-instance-status

-  Console output

.. code-block:: bash

   [
     {
       "engine_cluster_instance_status_id": "0",
       "name": "INITIATING",
       "description": "Cluster will be eventually created",
       "from_date": "2023-07-14T13:44:16.802Z",
       "to_date": null
     },
     ...
     {
       "engine_cluster_instance_status_id": "8",
       "name": "RESIZING_DOWN",
       "description": "The cluster instance will scale down",
       "from_date": "2023-07-14T13:44:16.802Z",
       "to_date": null
     }
   ]

list-spark-compute-types
~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-spark-compute-types -h

.. code-block:: bash

   usage:  list-spark-compute-types [-h] [--json-output [{pretty,default}]]
                                    [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-spark-compute-types example without optional argument passed for
   output format.

.. code-block:: bash

   yeedu resource list-spark-compute-types

-  Console output

.. code-block:: bash

   [
     {
       "spark_compute_type_id": "0",
       "name": "YEEDU",
       "description": null,
       "from_date": "2023-07-14T13:44:21.102Z",
       "to_date": null
     }
   ]

list-spark-infra-versions
~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-spark-infra-versions -h

.. code-block:: bash

   usage:  list-spark-infra-versions [-h] [--json-output [{pretty,default}]]
                                     [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-spark-infra-versions example without optional argument passed
   for output format.

.. code-block:: bash

   yeedu resource list-spark-infra-versions

-  Console output

.. code-block:: bash

   [
     {
       "spark_infra_version_id": "0",
       "spark_version": "2.4.8",
       "hive_version": "3.2.3",
       "hadoop_version": "2.10.1",
       "scala_version": "2.11.10",
       "from_date": "2023-07-14T13:44:17.808Z",
       "to_date": null
     },
     {
       "spark_infra_version_id": "1",
       "spark_version": "3.2.2",
       "hive_version": "3.2.3",
       "hadoop_version": "3.2.4",
       "scala_version": "2.12.15",
       "from_date": "2023-07-14T13:44:17.808Z",
       "to_date": null
     }
   ]

list-spark-job-status
~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-spark-job-status -h

.. code-block:: bash

   usage:  list-spark-job-status [-h] [--json-output [{pretty,default}]]
                                 [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-spark-job-status example without optional argument passed for
   output format.

.. code-block:: bash

   yeedu resource list-spark-job-status

-  Console output

.. code-block:: bash

   [
     {
       "spark_job_status_id": "0",
       "name": "SUBMITTED",
       "description": "Job was submitted, waiting for Application ID",
       "from_date": "2023-07-14T13:44:21.604Z",
       "to_date": null
     },
     ...
     {
       "spark_job_status_id": "8",
       "name": "KILLED",
       "description": "The process was killed",
       "from_date": "2023-07-14T13:44:21.604Z",
       "to_date": null
     }
   ]

list-workflow-execution-states
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-workflow-execution-states -h

.. code-block:: bash

   usage:  list-workflow-execution-states [-h] [--json-output [{pretty,default}]]
                                          [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-workflow-execution-states example without optional argument
   passed for output format.

.. code-block:: bash

   yeedu resource list-workflow-execution-states

-  Console output

.. code-block:: bash

   [
     {
       "workflow_execution_state_id": -1,
       "name": "NONE",
       "description": "NONE",
       "from_date": "2023-07-14T13:44:20.097Z",
       "to_date": null
     },
     ...
     {
       "workflow_execution_state_id": 99,
       "name": "DONE",
       "description": "NONE",
       "from_date": "2023-07-14T13:44:20.097Z",
       "to_date": null
     }
   ]

list-workflow-types
~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-workflow-types -h

.. code-block:: bash

   usage:  list-workflow-types [-h] [--json-output [{pretty,default}]]
                               [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-workflow-types example without optional argument passed for
   output format.

.. code-block:: bash

   yeedu resource list-workflow-types

-  Console output

.. code-block:: bash

   [
     {
       "workflow_type_id": "0",
       "name": "spark_start",
       "queue_name": "yeedu.workflows.usi.start",
       "description": null,
       "from_date": "2023-07-14T13:44:20.600Z",
       "to_date": null
     },
     ...
     {
       "workflow_type_id": "8",
       "name": "cosi_resize_down",
       "queue_name": "yeedu.workflows.cosi",
       "description": null,
       "from_date": "2023-07-14T13:44:20.600Z",
       "to_date": null
     }
   ]

Volume Configuration
--------------------

+----------------------------------+----------------------------------+
| Command Name                     | Utility                          |
+==================================+==================================+
| `create-volume-conf <#create-vol | To create the Volume             |
| ume-conf>`__                     | Configuration.                   |
+----------------------------------+----------------------------------+
| `list-volume-confs <#list-volume | To list all the available Volume |
| -confs>`__                       | Configurations.                  |
+----------------------------------+----------------------------------+
| `get-volume-conf <#get-volume-co | To get information about a       |
| nf>`__                           | specific Volume Configuration.   |
+----------------------------------+----------------------------------+
| `edit-volume-conf <#edit-volume- | To edit a specific Volume        |
| conf>`__                         | Configuration.                   |
+----------------------------------+----------------------------------+

create-volume-conf
~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource create-volume-conf -h

.. code-block:: bash

   usage:  create-volume-conf [-h] --name [NAME] --availability_zone_id
                              AVAILABILITY_ZONE_ID --encrypted true,false [--size [SIZE]]
                              --disk_type_id DISK_TYPE_ID --machine_volume_num
                              MACHINE_VOLUME_NUM --machine_volume_strip_num
                              MACHINE_VOLUME_STRIP_NUM [--json-output [{pretty,default}]]
                              [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --name [NAME]         Provide name to create-volume-conf.
     --availability_zone_id AVAILABILITY_ZONE_ID
                           Provide availability_zone_id to create-volume-conf.
     --encrypted true,false
                           Provide encrypted to create-volume-conf.
     --size [SIZE]         Provide size to create-volume-conf.
     --disk_type_id DISK_TYPE_ID
                           Provide disk_type to create-volume-conf.
     --machine_volume_num MACHINE_VOLUME_NUM
                           Provide machine_volume_num to create-volume-conf.
     --machine_volume_strip_num MACHINE_VOLUME_STRIP_NUM
                           Provide machine_volume_strip_num to create-volume-conf.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  create-volume-conf example with all the required arguments passed.

.. code-block:: bash

   yeedu resource create-volume-conf --name="yeedu volume" --availability_zone_id=75 --encrypted=false --disk_type_id=4  --machine_volume_num=1 --machine_volume_strip_num=1

-  Console output

.. code-block:: bash

   {
     "volume_conf_id": "1",
     "name": "yeedu volume",
     "availability_zone_id": "75",
     "encrypted": false,
     "size": "375",
     "disk_type_id": "4",
     "disk_type_name": "local-ssd",
     "machine_volume_num": 1,
     "machine_volume_strip_num": 1,
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T10:57:08.387Z",
     "from_date": "2023-07-20T10:57:08.387Z",
     "to_date": null
   }

list-volume-confs
~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-volume-confs -h

.. code-block:: bash

   usage:  list-volume-confs [-h] [--cloud_provider [{GCP,AWS,AZURE}]]
                             [--json-output [{pretty,default}]]
                             [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cloud_provider [{GCP,AWS,AZURE}]
                           Cloud Provider that will be used for filtering list.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-volume-confs example with optional arguments passed for output
   format.

.. code-block:: bash

   yeedu resource list-volume-confs --cloud_provider="GCP"

-  Console output

.. code-block:: bash

   [
     {
       "volume_conf_id": "1",
       "name": "yeedu volume",
       "availability_zone": {
         "name": "us-central1-a",
         "region": "us-central1",
         "description": "Council Bluffs, Iowa, North America"
       },
       "encrypted": false,
       "size": "375",
       "disk_type": {
         "name": "local-ssd",
         "has_fixed_size": true,
         "min_size": 375,
         "max_size": 375
       },
       "machine_volume_num": 1,
       "machine_volume_strip_num": 1,
       "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
       "created_by": {
         "user_id": "1",
         "username": "YSU0000"
       },
       "modified_by": {
         "user_id": "1",
         "username": "YSU0000"
       },
       "last_update_date": "2023-07-20T10:57:08.387Z",
       "from_date": "2023-07-20T10:57:08.387Z",
       "to_date": null
     }
   ]

get-volume-conf
~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource get-volume-conf -h

.. code-block:: bash

   usage:  get-volume-conf [-h] --volume_conf_id VOLUME_CONF_ID
                           [--json-output [{pretty,default}]]
                           [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --volume_conf_id VOLUME_CONF_ID
                           Provide volume_conf_id to get information about a specific
                           Volume Configuration.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-volume-conf example with the required argument '--volume_conf_id'
   passed.

.. code-block:: bash

   yeedu resource get-volume-conf --volume_conf_id=1

-  Console output

.. code-block:: bash

   {
     "volume_conf_id": "1",
     "name": "yeedu volume",
     "availability_zone": {
       "name": "us-central1-a",
       "region": "us-central1",
       "description": "Council Bluffs, Iowa, North America"
     },
     "encrypted": false,
     "size": "375",
     "disk_type": {
       "name": "local-ssd",
       "has_fixed_size": true,
       "min_size": 375,
       "max_size": 375
     },
     "machine_volume_num": 1,
     "machine_volume_strip_num": 1,
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "modified_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "last_update_date": "2023-07-20T10:57:08.387Z",
     "from_date": "2023-07-20T10:57:08.387Z",
     "to_date": null
   }

edit-volume-conf
~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource edit-volume-conf -h

.. code-block:: bash

   usage:  edit-volume-conf [-h] --volume_conf_id VOLUME_CONF_ID [--name [NAME]]
                            [--encrypted [true,false]]
                            [--machine_volume_num MACHINE_VOLUME_NUM]
                            [--machine_volume_strip_num MACHINE_VOLUME_STRIP_NUM]
                            [--json-output [{pretty,default}]]
                            [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --volume_conf_id VOLUME_CONF_ID
                           Provide specific volume_conf_id to edit-volume-conf.
     --name [NAME]         Provide name to edit-volume-conf.
     --encrypted [true,false]
                           Provide encrypted to edit-volume-conf.
     --machine_volume_num MACHINE_VOLUME_NUM
                           Provide machine_volume_num to edit-volume-conf.
     --machine_volume_strip_num MACHINE_VOLUME_STRIP_NUM
                           Provide machine_volume_strip_num to edit-volume-conf.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  edit-volume-conf example with the required '--volume_conf_id'
   argument and other optional argument is passed which is to be
   updated.

.. code-block:: bash

   yeedu resource edit-volume-conf --volume_conf_id=1 --encrypted=true

-  Console output

.. code-block:: bash

   {
     "volume_conf_id": "1",
     "name": "yeedu volume",
     "availability_zone_id": "75",
     "encrypted": true,
     "size": "375",
     "disk_type_id": "4",
     "disk_type_name": "local-ssd",
     "machine_volume_num": 1,
     "machine_volume_strip_num": 1,
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T10:59:12.499Z",
     "from_date": "2023-07-20T10:57:08.387Z",
     "to_date": null
   }

Network Configuration
---------------------

+----------------------------------+----------------------------------+
| Command Name                     | Utility                          |
+==================================+==================================+
| `create-network-conf <#create-ne | To create the Network            |
| twork-conf>`__                   | Configuration.                   |
+----------------------------------+----------------------------------+
| `list-network-confs <#list-netwo | To get information about Network |
| rk-confs>`__                     | Configurations for a specific    |
|                                  | Cloud Provider.                  |
+----------------------------------+----------------------------------+
| `get-network-conf <#get-network- | To get information about a       |
| conf>`__                         | specific Network Configuration   |
|                                  | for a specific Cloud Provider.   |
+----------------------------------+----------------------------------+
| `edit-network-conf <#edit-networ | To edit a specific Network       |
| k-conf>`__                       | Configuration based on cloud     |
|                                  | provider Id and network Id.      |
+----------------------------------+----------------------------------+

create-network-conf
~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource create-network-conf -h

.. code-block:: bash

   usage:  create-network-conf [-h] --network_project_id NETWORK_PROJECT_ID --network_name
                               NETWORK_NAME --subnet SUBNET --availability_zone_id
                               AVAILABILITY_ZONE_ID --cloud_provider_id CLOUD_PROVIDER_ID
                               [--json-output [{pretty,default}]]
                               [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --network_project_id NETWORK_PROJECT_ID
                           Provide network_project_id to create-network-conf.
     --network_name NETWORK_NAME
                           Provide network_name to create-network-conf.
     --subnet SUBNET       Provide subnet to create-network-conf.
     --availability_zone_id AVAILABILITY_ZONE_ID
                           Provide availability_zone_id to create-network-conf.
     --cloud_provider_id CLOUD_PROVIDER_ID
                           Provide cloud_provider_id to create-network-conf.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  create-network-conf example with all the required and optional
   arguments passed.

.. code-block:: bash

   yeedu resource create-network-conf --network_project_id="yeedu" --network_name='yeedu-spark-vpc' --subnet='custom-subnet-yeedu' --availability_zone_id=75 --cloud_provider_id=0

-  Console output

.. code-block:: bash

   {
     "network_conf_id": "1",
     "network_project_id": "yeedu",
     "network_name": "yeedu-spark-vpc",
     "subnet": "custom-subnet-yeedu",
     "availability_zone_id": "75",
     "cloud_provider_id": "0",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:00:14.845Z",
     "from_date": "2023-07-20T11:00:14.845Z",
     "to_date": null
   }

list-network-confs
~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-network-confs -h

.. code-block:: bash

   usage:  list-network-confs [-h] [--cloud_provider [{GCP,AWS,AZURE}]]
                              [--json-output [{pretty,default}]]
                              [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cloud_provider [{GCP,AWS,AZURE}]
                           Provide specific cloud_provider_id to get information about
                           related Network Configurations.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-network-confs example with the ``--cloud_provider_id`` required
   arguments passed.

.. code-block:: bash

   yeedu resource list-network-confs --cloud_provider="GCP"

-  Console output

.. code-block:: bash

   [
     {
       "network_conf_id": "1",
       "network_project_id": "yeedu",
       "network_name": "yeedu-spark-vpc",
       "subnet": "custom-subnet-yeedu",
       "availability_zone": {
         "name": "us-central1-a",
         "region": "us-central1",
         "description": "Council Bluffs, Iowa, North America"
       },
       "cloud_provider": {
         "name": "gcp",
         "description": "Provider for creating infrastructure on Google Cloud Platform"
       },
       "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
       "created_by": {
         "user_id": "1",
         "username": "YSU0000"
       },
       "modified_by": {
         "user_id": "1",
         "username": "YSU0000"
       },
       "last_update_date": "2023-07-20T11:00:14.845Z",
       "from_date": "2023-07-20T11:00:14.845Z",
       "to_date": null
     }
   ]

get-network-conf
~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource get-network-conf -h

.. code-block:: bash

   usage:  get-network-conf [-h] --network_conf_id NETWORK_CONF_ID
                            [--json-output [{pretty,default}]]
                            [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --network_conf_id NETWORK_CONF_ID
                           Provide id to get information about a specific network
                           Configuration.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-network-conf example with the required '--network_conf_id' and
   optional '--cloud_provider_id' argument passed.

.. code-block:: bash

   yeedu resource get-network-conf --network_conf_id=1

-  Console output

.. code-block:: bash

   {
     "network_conf_id": "1",
     "network_project_id": "yeedu",
     "network_name": "yeedu-spark-vpc",
     "subnet": "custom-subnet-yeedu",
     "availability_zone": {
       "name": "us-central1-a",
       "region": "us-central1",
       "description": "Council Bluffs, Iowa, North America"
     },
     "cloud_provider": {
       "name": "gcp",
       "description": "Provider for creating infrastructure on Google Cloud Platform"
     },
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "modified_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "last_update_date": "2023-07-20T11:00:14.845Z",
     "from_date": "2023-07-20T11:00:14.845Z",
     "to_date": null
   }

edit-network-conf
~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource edit-network-conf -h

.. code-block:: bash

   usage:  edit-network-conf [-h] --network_conf_id NETWORK_CONF_ID
                             [--network_name [NETWORK_NAME]] [--subnet [SUBNET]]
                             [--json-output [{pretty,default}]]
                             [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --network_conf_id NETWORK_CONF_ID
                           Provide a specific Network Configuration id to edit-network-
                           conf.
     --network_name [NETWORK_NAME]
                           Provide network_name to edit-network-conf.
     --subnet [SUBNET]     Provide subnet to edit-network-conf.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  edit-network-conf example with the required '--network_conf_id' and
   '--cloud_provider_id' argument and other optional argument is passed
   which is to be updated.

.. code-block:: bash

   yeedu resource edit-network-conf --network_conf_id=1 --network_name="yeedu-spark-vpc"

-  Console output

.. code-block:: bash

   {
     "network_conf_id": "1",
     "network_project_id": "yeedu",
     "network_name": "yeedu-spark-vpc",
     "subnet": "custom-subnet-yeedu",
     "availability_zone_id": "75",
     "cloud_provider_id": "0",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:02:57.824Z",
     "from_date": "2023-07-20T11:00:14.845Z",
     "to_date": null
   }

Boot Disk Image Config
----------------------

+--------------------------------------+----------------------------------+
| Command Name                         | Utility                          |
+======================================+==================================+
| `create-boot-disk-image-conf <#creat | To create a Boot Disk Image      |
| e-boot-disk-image-conf>`__           | Configuration.                   |
+--------------------------------------+----------------------------------+
| `get-boot-disk-image-conf <#get-boot | To get the information about a   |
| -disk-image-conf>`__                 | specific Boot Disk Image         |
|                                      | Configuration.                   |
+--------------------------------------+----------------------------------+
| `list-boot-disk-image-confs <#list-b | To list all the available Boot   |
| oot-disk-image-confs>`__             | Disk Image Configurations.       |
+--------------------------------------+----------------------------------+

create-boot-disk-image-conf
~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource create-boot-disk-image-conf -h

.. code-block:: bash

   usage:  create-boot-disk-image-conf [-h] --cloud_provider_id CLOUD_PROVIDER_ID
                                       --boot_disk_image BOOT_DISK_IMAGE
                                       [--json-output [{pretty,default}]]
                                       [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cloud_provider_id CLOUD_PROVIDER_ID
                           Provide boot_disk_image_config to create-boot-disk-image-conf.
     --boot_disk_image BOOT_DISK_IMAGE
                           Provide boot_disk_image to create-boot-disk-image-conf.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  create-boot-disk-image-conf example with all the required arguments
   passed.

.. code-block:: bash

   yeedu resource create-boot-disk-image-conf --cloud_provider_id=0 --boot_disk_image="ubuntu-os-cloud/ubuntu-2004-lts"

-  Console output

.. code-block:: bash

   {
     "boot_disk_image_id": "1",
     "boot_disk_image": "ubuntu-os-cloud/ubuntu-2004-lts",
     "cloud_provider_id": "0",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:04:02.811Z",
     "from_date": "2023-07-20T11:04:02.811Z",
     "to_date": null
   }

get-boot-disk-image-conf
~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource get-boot-disk-image-conf -h

.. code-block:: bash

   usage:  get-boot-disk-image-conf [-h] --boot_disk_image_id BOOT_DISK_IMAGE_ID
                                    [--json-output [{pretty,default}]]
                                    [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --boot_disk_image_id BOOT_DISK_IMAGE_ID
                           Provide Boot Disk Image Id to get information about a specific
                           Boot Disk Image Configuration.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-boot-disk-image-conf example with required arguments passed.

.. code-block:: bash

   yeedu resource get-boot-disk-image-conf --boot_disk_image_id=1

-  Console output

.. code-block:: bash

   {
     "boot_disk_image_id": "1",
     "boot_disk_image": "ubuntu-os-cloud/ubuntu-2004-lts",
     "cloud_provider": {
       "name": "gcp",
       "description": "Provider for creating infrastructure on Google Cloud Platform"
     },
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "modified_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "last_update_date": "2023-07-20T11:04:02.811Z",
     "from_date": "2023-07-20T11:04:02.811Z",
     "to_date": null
   }

list-boot-disk-image-confs
~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-boot-disk-image-confs -h

.. code-block:: bash

   usage:  list-boot-disk-image-confs [-h] [--cloud_provider [{GCP,AWS,AZURE}]]
                                      [--json-output [{pretty,default}]]
                                      [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cloud_provider [{GCP,AWS,AZURE}]
                           Provide cloud_provider to list all the related boot disk image
                           configs for a specific Cloud Provider.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-boot-disk-image-confs example with all the required arguments
   passed.

.. code-block:: bash

   yeedu resource list-boot-disk-image-confs --cloud_provider="GCP"

-  Console output

.. code-block:: bash

   [
     {
       "boot_disk_image_id": "1",
       "boot_disk_image": "ubuntu-os-cloud/ubuntu-2004-lts",
       "cloud_provider": {
         "name": "gcp",
         "description": "Provider for creating infrastructure on Google Cloud Platform"
       },
       "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
       "created_by": {
         "user_id": "1",
         "username": "YSU0000"
       },
       "modified_by": {
         "user_id": "1",
         "username": "YSU0000"
       },
       "last_update_date": "2023-07-20T11:04:02.811Z",
       "from_date": "2023-07-20T11:04:02.811Z",
       "to_date": null
     }
   ]

Machine Configuration
---------------------

+----------------------------------+----------------------------------+
| Command Name                     | Utility                          |
+==================================+==================================+
| `create-machine-conf <#create-ma | To create the Machine            |
| chine-conf>`__                   | Configuration.                   |
+----------------------------------+----------------------------------+
| `list-machine-confs <#list-machi | To list all the available        |
| ne-confs>`__                     | Machine Configurations.          |
+----------------------------------+----------------------------------+
| `get-machine-conf <#get-machine- | To get information about a       |
| conf>`__                         | specific Machine Configuration.  |
+----------------------------------+----------------------------------+
| `edit-machine-conf <#edit-machin | To edit a specific Machine       |
| e-conf>`__                       | Configuration.                   |
+----------------------------------+----------------------------------+

create-machine-conf
~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource create-machine-conf -h

.. code-block:: bash

   usage:  create-machine-conf [-h] [--network_tags ['value1,value2']]
                               [--labels LABELS [LABELS ...]]
                               --service_account_instance_profile
                               SERVICE_ACCOUNT_INSTANCE_PROFILE --boot_disk_image_id
                               BOOT_DISK_IMAGE_ID --machine_type_id MACHINE_TYPE_ID
                               [--is_spot_instance [true,false]]
                               [--enable_public_ip [true,false]]
                               [--block_project_ssh_keys [true,false]]
                               [--bootstrap_shell_script_file_path BOOTSTRAP_SHELL_SCRIPT_FILE_PATH]
                               --network_conf_id NETWORK_CONF_ID --volume_conf_id
                               VOLUME_CONF_ID [--json-output [{pretty,default}]]
                               [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --network_tags ['value1,value2']
                           Provide network_tags to create-machine-conf. (default: [])
     --labels LABELS [LABELS ...]
                           Provide labels to create-machine-conf.
     --service_account_instance_profile SERVICE_ACCOUNT_INSTANCE_PROFILE
                           Provide service_account_instance_profile to create-machine-
                           conf.
     --boot_disk_image_id BOOT_DISK_IMAGE_ID
                           Provide boot_disk_image_id to create-machine-conf.
     --machine_type_id MACHINE_TYPE_ID
                           Provide machine_type_id to create-machine-conf.
     --is_spot_instance [true,false]
                           Provide is_spot_instance to create-machine-conf. (default:
                           false)
     --enable_public_ip [true,false]
                           Provide enable_public_ip to create-machine-conf. (default:
                           false)
     --block_project_ssh_keys [true,false]
                           Provide block_project_ssh_keys to create-machine-conf.
                           (default: true)
     --bootstrap_shell_script_file_path BOOTSTRAP_SHELL_SCRIPT_FILE_PATH
                           Provide bootstrap_shell_script_file_path to create-machine-conf.
     --network_conf_id NETWORK_CONF_ID
                           Provide network_conf_id to create-machine-conf.
     --volume_conf_id VOLUME_CONF_ID
                           Provide volume_conf_id to create-machine-conf.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  create-machine-conf example with all the required and optional
   arguments passed.

.. code-block:: bash

   yeedu resource create-machine-conf --network_tags="yeedu,iap-allow" --labels="env=test" --labels="test=dev" --service_account_instance_profile="yeedu@yeedu.iam.gserviceaccount.com" --boot_disk_image_id=1 --machine_type_id=15 --is_spot_instance=false --enable_public_ip=true --block_project_ssh_keys=true --network_conf_id=1 --volume_conf_id=1

-  Console output

.. code-block:: bash

   {
     "machine_conf_id": "1",
     "network_tags": [
       "yeedu",
       "iap-allow"
     ],
     "labels": {
       "env": "test",
       "test": "dev",
       "resource": "yeedu",
       "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538"
     },
     "service_account_instance_profile": "yeedu@yeedu.iam.gserviceaccount.com",
     "boot_disk_image_id": "1",
     "machine_type_id": "15",
     "is_spot_instance": false,
     "enable_public_ip": true,
     "block_project_ssh_keys": true,
     "bootstrap_shell_script": null,
     "network_conf_id": "1",
     "volume_conf_id": "1",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:06:21.454Z",
     "from_date": "2023-07-20T11:06:21.454Z",
     "to_date": null
   }

list-machine-confs
~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-machine-confs -h

.. code-block:: bash

   usage:  list-machine-confs [-h] [--cloud_provider [{GCP,AWS,AZURE}]]
                              [--json-output [{pretty,default}]]
                              [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cloud_provider [{GCP,AWS,AZURE}]
                           Cloud Provider that will be used for filtering list.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-machine-confs example without optional arguments passed for
   output format.

.. code-block:: bash

   yeedu resource list-machine-confs --cloud_provider="GCP"

-  Console output

.. code-block:: bash

   [
     {
       "machine_conf_id": "1",
       "network_tags": [
         "yeedu",
         "iap-allow"
       ],
       "labels": {
         "env": "test",
         "test": "dev",
         "resource": "yeedu",
         "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538"
       },
       "service_account_instance_profile": "yeedu@yeedu.iam.gserviceaccount.com",
       "boot_disk_image_config": {
         "boot_disk_image_id": "1",
         "boot_disk_image": "ubuntu-os-cloud/ubuntu-2004-lts",
         "cloud_provider": {
           "name": "gcp",
           "description": "Provider for creating infrastructure on Google Cloud Platform"
         }
       },
       "machine_type": {
         "machine_type_id": "15",
         "name": "c2d-highcpu-16",
         "vcpus": 16,
         "memory": "32 GiB",
         "has_cuda": false,
         "gpu_model": null,
         "gpus": null,
         "gpu_memory": null
       },
       "is_spot_instance": false,
       "enable_public_ip": true,
       "block_project_ssh_keys": true,
       "bootstrap_shell_script": null,
       "machine_network": {
         "network_conf_id": "1",
         "network_project_id": "yeedu",
         "network_name": "yeedu-spark-vpc",
         "subnet": "custom-subnet-yeedu",
         "availability_zone": {
           "name": "us-central1-a",
           "region": "us-central1",
           "description": "Council Bluffs, Iowa, North America"
         }
       },
       "machine_volume_config": {
         "volume_conf_id": "1",
         "name": "yeedu volume",
         "encrypted": false,
         "size": "375",
         "machine_volume_num": 1,
         "machine_volume_strip_num": 1,
         "availability_zone": {
           "name": "us-central1-a",
           "region": "us-central1",
           "description": "Council Bluffs, Iowa, North America"
         },
         "disk_type": {
           "name": "local-ssd",
           "has_fixed_size": true,
           "min_size": 375,
           "max_size": 375
         }
       },
       "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
       "created_by": {
         "user_id": "1",
         "username": "YSU0000"
       },
       "modified_by": {
         "user_id": "1",
         "username": "YSU0000"
       },
       "last_update_date": "2023-07-20T11:06:21.454Z",
       "from_date": "2023-07-20T11:06:21.454Z",
       "to_date": null
     }
   ]

get-machine-conf
~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource get-machine-conf -h

.. code-block:: bash

   usage:  get-machine-conf [-h] --machine_conf_id MACHINE_CONF_ID
                            [--json-output [{pretty,default}]]
                            [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --machine_conf_id MACHINE_CONF_ID
                           Provide machine config id to get information about a specific
                           Machine Configuration.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-machine-conf example with the required '--machine_conf_id'
   arguments passed.

.. code-block:: bash

   yeedu resource get-machine-conf --machine_conf_id=1

-  Console output

.. code-block:: bash

   {
     "machine_conf_id": "1",
     "network_tags": [
       "yeedu",
       "iap-allow"
     ],
     "labels": {
       "env": "test",
       "test": "dev",
       "resource": "yeedu",
       "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538"
     },
     "service_account_instance_profile": "yeedu@yeedu.iam.gserviceaccount.com",
     "boot_disk_image_config": {
       "boot_disk_image_id": "1",
       "boot_disk_image": "ubuntu-os-cloud/ubuntu-2004-lts",
       "cloud_provider": {
         "name": "gcp",
         "description": "Provider for creating infrastructure on Google Cloud Platform"
       }
     },
     "machine_type": {
       "machine_type_id": "15",
       "name": "c2d-highcpu-16",
       "vcpus": 16,
       "memory": "32 GiB",
       "has_cuda": false,
       "gpu_model": null,
       "gpus": null,
       "gpu_memory": null
     },
     "is_spot_instance": false,
     "enable_public_ip": true,
     "block_project_ssh_keys": true,
     "bootstrap_shell_script": null,
     "machine_network": {
       "network_conf_id": "1",
       "network_project_id": "yeedu",
       "network_name": "yeedu-spark-vpc",
       "subnet": "custom-subnet-yeedu",
       "availability_zone": {
         "name": "us-central1-a",
         "region": "us-central1",
         "description": "Council Bluffs, Iowa, North America"
       }
     },
     "machine_volume_config": {
       "volume_conf_id": "1",
       "name": "yeedu volume",
       "encrypted": false,
       "size": "375",
       "machine_volume_num": 1,
       "machine_volume_strip_num": 1,
       "availability_zone": {
         "name": "us-central1-a",
         "region": "us-central1",
         "description": "Council Bluffs, Iowa, North America"
       },
       "disk_type": {
         "name": "local-ssd",
         "has_fixed_size": true,
         "min_size": 375,
         "max_size": 375
       }
     },
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "modified_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "last_update_date": "2023-07-20T11:06:21.454Z",
     "from_date": "2023-07-20T11:06:21.454Z",
     "to_date": null
   }

edit-machine-conf
~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource edit-machine-conf -h

.. code-block:: bash

   usage:  edit-machine-conf [-h] --machine_conf_id MACHINE_CONF_ID
                             [--network_tags ['value1,value2']]
                             [--labels LABELS [LABELS ...]]
                             [--service_account_instance_profile [SERVICE_ACCOUNT_INSTANCE_PROFILE]]
                             [--is_spot_instance [true,false]]
                             [--enable_public_ip [true,false]]
                             [--block_project_ssh_keys [true,false]]
                             [--bootstrap_shell_script_file_path [BOOTSTRAP_SHELL_SCRIPT_FILE_PATH]]
                             [--json-output [{pretty,default}]]
                             [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --machine_conf_id MACHINE_CONF_ID
                           Provide a specific machine configuration id to edit-machine-
                           conf.
     --network_tags ['value1,value2']
                           Provide network_tags to edit-machine-conf.
     --labels LABELS [LABELS ...]
                           Provide labels to edit-machine-conf.
     --service_account_instance_profile [SERVICE_ACCOUNT_INSTANCE_PROFILE]
                           Provide service_account_instance_profile to edit-machine-conf.
     --is_spot_instance [true,false]
                           Provide is_spot_instance to edit-machine-conf.
     --enable_public_ip [true,false]
                           Provide enable_public_ip to edit-machine-conf.
     --block_project_ssh_keys [true,false]
                           Provide block_project_ssh_keys to edit-machine-conf.
     --bootstrap_shell_script_file_path [BOOTSTRAP_SHELL_SCRIPT_FILE_PATH]
                           Provide bootstrap_shell_script_file_path to edit-machine-conf.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  edit-machine-conf example with the required '--machine_conf_id'
   argument argument and other optional argument is passed which is to
   be updated.

.. code-block:: bash

   yeedu resource edit-machine-conf --machine_conf_id=1 --network_tags='yeedu,network'

-  Console output

.. code-block:: bash

   {
     "machine_conf_id": "1",
     "network_tags": [
       "yeedu",
       "network"
     ],
     "labels": {
       "env": "test",
       "test": "dev",
       "resource": "yeedu",
       "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538"
     },
     "service_account_instance_profile": "yeedu@yeedu.iam.gserviceaccount.com",
     "boot_disk_image_id": "1",
     "machine_type_id": "15",
     "is_spot_instance": false,
     "enable_public_ip": true,
     "block_project_ssh_keys": true,
     "bootstrap_shell_script": null,
     "network_conf_id": "1",
     "volume_conf_id": "1",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:11:29.210Z",
     "from_date": "2023-07-20T11:06:21.454Z",
     "to_date": null
   }

Credentials Configuration
-------------------------

+----------------------------------+----------------------------------+
| Command Name                     | Utility                          |
+==================================+==================================+
| `create-credential-conf <#create | To create a Credential           |
| -credential-conf>`__             | Configuration.                   |
+----------------------------------+----------------------------------+
| `list-credential-confs <#list-cr | To list all the available        |
| edential-confs>`__               | Credential Configurations.       |
+----------------------------------+----------------------------------+
| `get-credential-conf <#get-crede | To get the information about a   |
| ntial-conf>`__                   | specific Credential              |
|                                  | Configuration.                   |
+----------------------------------+----------------------------------+
| `edit-credential-conf <#edit-cre | To edit a specific Credential    |
| dential-conf>`__                 | Configuration.                   |
+----------------------------------+----------------------------------+
| `delete-credential-conf <#delete | To delete a specific Credential  |
| -credential-conf>`__             | Configuration.                   |
+----------------------------------+----------------------------------+

create-credential-conf
~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource create-credential-conf -h

.. code-block:: bash

   usage:  create-credential-conf [-h] --credential_type_id CREDENTIAL_TYPE_ID
                                  --base64_encoded_credentials BASE64_ENCODED_CREDENTIALS
                                  --name NAME [--json-output [{pretty,default}]]
                                  [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --credential_type_id CREDENTIAL_TYPE_ID
                           Provide credential_type_id to create-credential-conf.
     --base64_encoded_credentials BASE64_ENCODED_CREDENTIALS
                           Provide base64_encoded_credentials to create-credential-conf.
     --name NAME           Provide name to create-credential-conf.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  create-credential-conf example with all the required arguments
   passed.

.. code-block:: bash

   yeedu resource create-credential-conf --credential_type_id=0 --base64_encoded_credentials='ew0KICAieWVlZHVfY3JlZGVudGlhbHMiOiAiRHVtbXkgQ3JlZGVudGlhbHMgQ29uZmlndXJhdGlvbiINCn0' --name='yeedu'

-  Console output

.. code-block:: bash

   {
     "credentials_conf_id": "1",
     "credential_type_id": "0",
     "name": "yeedu",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:14:16.832Z",
     "from_date": "2023-07-20T11:14:16.832Z",
     "to_date": null
   }

list-credential-confs
~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-credential-confs -h

.. code-block:: bash

   usage:  list-credential-confs [-h] [--cloud_provider [{GCP,AWS,AZURE}]]
                                 [--json-output [{pretty,default}]]
                                 [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cloud_provider [{GCP,AWS,AZURE}]
                           Cloud Provider that will be used for filtering list.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-credential-confs example without optional arguments passed for
   output format.

.. code-block:: bash

   yeedu resource list-credential-confs --cloud_provider="GCP"

-  Console output

.. code-block:: bash

   [
     {
       "credentials_conf_id": "1",
       "credential_type": {
         "name": "gcp",
         "cloud_provider": {
           "name": "gcp",
           "description": "Provider for creating infrastructure on Google Cloud Platform"
         }
       },
       "name": "yeedu",
       "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
       "created_by": {
         "user_id": "1",
         "username": "YSU0000"
       },
       "modified_by": {
         "user_id": "1",
         "username": "YSU0000"
       },
       "last_update_date": "2023-07-20T11:14:16.832Z",
       "from_date": "2023-07-20T11:14:16.832Z",
       "to_date": null
     }
   ]

get-credential-conf
~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource get-credential-conf -h

.. code-block:: bash

   usage:  get-credential-conf [-h] --credentials_conf_id CREDENTIALS_CONF_ID
                               [--json-output [{pretty,default}]]
                               [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --credentials_conf_id CREDENTIALS_CONF_ID
                           Provide credentials_conf_id to get information about a specific
                           credential configuration.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-credential-conf example with the required '--credentials_conf_id'
   arguments passed.

.. code-block:: bash

   yeedu resource get-credential-conf --credentials_conf_id=1

-  Console output

.. code-block:: bash

   {
     "credentials_conf_id": "1",
     "credential_type": {
       "name": "gcp",
       "cloud_provider": {
         "name": "gcp",
         "description": "Provider for creating infrastructure on Google Cloud Platform"
       }
     },
     "name": "yeedu",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "modified_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "last_update_date": "2023-07-20T11:14:16.832Z",
     "from_date": "2023-07-20T11:14:16.832Z",
     "to_date": null
   }

edit-credential-conf
~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource edit-credential-conf -h

.. code-block:: bash

   usage:  edit-credential-conf [-h] --credentials_conf_id CREDENTIALS_CONF_ID
                                [--base64_encoded_credentials BASE64_ENCODED_CREDENTIALS]
                                [--name [NAME]] [--json-output [{pretty,default}]]
                                [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --credentials_conf_id CREDENTIALS_CONF_ID
                           Provide a specific credentials cofig id to edit-credential-
                           conf.
     --base64_encoded_credentials BASE64_ENCODED_CREDENTIALS
                           Provide base64_encoded_credentials to edit-credential-conf.
     --name [NAME]         Provide name to edit-credential-conf.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  edit-credential-conf example with the required
   '--credentials_conf_id' argument and other optional argument is
   passed which is to be updated.

.. code-block:: bash

   yeedu resource edit-credential-conf --credentials_conf_id=1 --name='yeedu-svc'

-  Console output

.. code-block:: bash

   {
     "credentials_conf_id": "1",
     "credential_type_id": "0",
     "name": "yeedu-svc",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:16:35.568Z",
     "from_date": "2023-07-20T11:14:16.832Z",
     "to_date": null
   }

delete-credential-conf
~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource delete-credential-conf -h

.. code-block:: bash

   usage:  delete-credential-conf [-h] --credentials_conf_id CREDENTIALS_CONF_ID
                                  [--json-output [{pretty,default}]]
                                  [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --credentials_conf_id CREDENTIALS_CONF_ID
                           Provide credentials_conf_id to delete a specific Credential
                           Configuration.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  delete-credential-conf example with the required
   '--credentials_conf_id' argument passed.

.. code-block:: bash

   yeedu resource delete-credential-conf --credentials_conf_id=1

-  Console output

.. code-block:: bash

   {
     "message": "Deleted Credentials Configuration: 1"
   }

Object Storage Manager
----------------------

+---------------------------------------+----------------------------------+
| Command Name                          | Utility                          |
+=======================================+==================================+
| `create-object-storage-manager <#crea | To create a Object Storage       |
| te-object-storage-manager>`__         | Manager.                         |
+---------------------------------------+----------------------------------+
| `list-object-storage-managers <#list- | To list all the available Object |
| object-storage-managers>`__           | Storage Manager Configurations.  |
+---------------------------------------+----------------------------------+
| `get-object-storage-manager <#get-obj | To get information about a       |
| ect-storage-manager>`__               | specific Object Storage Manager. |
+---------------------------------------+----------------------------------+
| `edit-object-storage-manager <#edit-o | To edit a specific Object        |
| bject-storage-manager>`__             | Storage Manager Configuration.   |
+---------------------------------------+----------------------------------+
| `delete-object-storage-manager <#dele | To delete a specific Object      |
| te-object-storage-manager>`__         | Storage Manager.                 |
+---------------------------------------+----------------------------------+

create-object-storage-manager
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource create-object-storage-manager -h

.. code-block:: bash

   usage:  create-object-storage-manager [-h] --name NAME --credentials_conf_id
                                         CREDENTIALS_CONF_ID --object_storage_bucket_name
                                         OBJECT_STORAGE_BUCKET_NAME
                                         [--json-output [{pretty,default}]]
                                         [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --name NAME           Provide name to create-object-storage-manager.
     --credentials_conf_id CREDENTIALS_CONF_ID
                           Provide credentials_conf_id to create-object-storage-manager.
     --object_storage_bucket_name OBJECT_STORAGE_BUCKET_NAME
                           Provide object_storage_bucket_name to create-object-storage-
                           manager.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  create-object-storage-manager example with all the required arguments
   passed.

.. code-block:: bash

   yeedu resource create-object-storage-manager --name="Yeedu Object Storage Manager" --credentials_conf_id=1 --object_storage_bucket_name="yeedu"

-  Console output

.. code-block:: bash

   {
     "object_storage_manager_id": "1",
     "name": "Yeedu Object Storage Manager",
     "credentials_conf_id": "1",
     "object_storage_bucket_name": "yeedu",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:17:58.442Z",
     "from_date": "2023-07-20T11:17:58.442Z",
     "to_date": null
   }

list-object-storage-managers
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-object-storage-managers -h

.. code-block:: bash

   usage:  list-object-storage-managers [-h] [--cloud_provider [{GCP,AWS,AZURE}]]
                                        [--json-output [{pretty,default}]]
                                        [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cloud_provider [{GCP,AWS,AZURE}]
                           Cloud Provider that will be used for filtering list.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-object-storage-managers example with all the required arguments
   passed.

.. code-block:: bash

   yeedu resource list-object-storage-managers --cloud_provider="GCP"

-  Console output

.. code-block:: bash

   [
     {
       "object_storage_manager_id": "1",
       "name": "Yeedu Object Storage Manager",
       "credentials_config": {
         "name": "yeedu-svc",
         "credential_type": {
           "name": "gcp",
           "cloud_provider": {
             "name": "gcp",
             "description": "Provider for creating infrastructure on Google Cloud Platform"
           }
         }
       },
       "object_storage_bucket_name": "yeedu",
       "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
       "created_by": {
         "user_id": "1",
         "username": "YSU0000"
       },
       "modified_by": {
         "user_id": "1",
         "username": "YSU0000"
       },
       "last_update_date": "2023-07-20T11:17:58.442Z",
       "from_date": "2023-07-20T11:17:58.442Z",
       "to_date": null
     }
   ]

get-object-storage-manager
~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource get-object-storage-manager -h

.. code-block:: bash

   usage:  get-object-storage-manager [-h] --object_storage_manager_id
                                      OBJECT_STORAGE_MANAGER_ID
                                      [--json-output [{pretty,default}]]
                                      [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --object_storage_manager_id OBJECT_STORAGE_MANAGER_ID
                           Provide Object Storage Manager Id to get information about a
                           specific Object Storage Manager.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-object-storage-manager example with required arguments passed.

.. code-block:: bash

   yeedu resource get-object-storage-manager --object_storage_manager_id=1

-  Console output

.. code-block:: bash

   {
     "object_storage_manager_id": "1",
     "name": "Yeedu Object Storage Manager",
     "credentials_config": {
       "name": "yeedu-svc",
       "credential_type": {
         "name": "gcp",
         "cloud_provider": {
           "name": "gcp",
           "description": "Provider for creating infrastructure on Google Cloud Platform"
         }
       }
     },
     "object_storage_bucket_name": "yeedu",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "modified_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "last_update_date": "2023-07-20T11:17:58.442Z",
     "from_date": "2023-07-20T11:17:58.442Z",
     "to_date": null
   }

edit-object-storage-manager
~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource edit-object-storage-manager -h

.. code-block:: bash

   usage:  edit-object-storage-manager [-h] --object_storage_manager_id
                                       OBJECT_STORAGE_MANAGER_ID [--name NAME]
                                       [--object_storage_bucket_name [OBJECT_STORAGE_BUCKET_NAME]]
                                       [--json-output [{pretty,default}]]
                                       [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --object_storage_manager_id OBJECT_STORAGE_MANAGER_ID
                           Provide object_storage_manager_id to edit information about a
                           specific Object Storage Manager.
     --name NAME           Provide name to edit-object-storage-manager.
     --object_storage_bucket_name [OBJECT_STORAGE_BUCKET_NAME]
                           Provide object_storage_bucket_name to edit-object-storage-
                           manager.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  edit-object-storage-manager example with all the required arguments
   passed which needs to be updated.

.. code-block:: bash

   yeedu resource edit-object-storage-manager --object_storage_manager_id=1 --object_storage_bucket_name="yeedu-test"

-  Console output

.. code-block:: bash

   {
     "object_storage_manager_id": "1",
     "name": "Yeedu Object Storage Manager",
     "credentials_conf_id": "1",
     "object_storage_bucket_name": "yeedu-test",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:20:36.654Z",
     "from_date": "2023-07-20T11:17:58.442Z",
     "to_date": null
   }

delete-object-storage-manager
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource delete-object-storage-manager -h

.. code-block:: bash

   usage:  delete-object-storage-manager [-h] --object_storage_manager_id
                                         OBJECT_STORAGE_MANAGER_ID
                                         [--json-output [{pretty,default}]]
                                         [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --object_storage_manager_id OBJECT_STORAGE_MANAGER_ID
                           Provide object_storage_manager_id to delete a specific Object
                           Storage Manager.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  delete-object-storage-manager example with required arguments passed.

.. code-block:: bash

   yeedu resource delete-object-storage-manager --object_storage_manager_id=1

-  Console output

.. code-block:: bash

   {
     "message": "Deleted Object Storage Manager Configuration: 1"
   }

Object Storage Manager Files
----------------------------

+-----------------------------------------+---------------------------------------+
| Command Name                            | Utility                               |
+=========================================+=======================================+
| `create-object-storage-manager-file <#c | To create a Object Storage Manager    |
| reate-object-storage-manager-file>`__   | Files.                                |
+-----------------------------------------+---------------------------------------+
| `list-object-storage-manager-files <#li | To list all the available Object      |
| st-object-storage-manager-files>`__     | Storage Manager Files.                |
+-----------------------------------------+---------------------------------------+
| `get-object-storage-manager-file <#get- | To get information about a specific   |
| object-storage-manager-file>`__         | Object Storage Manager File.          |
+-----------------------------------------+---------------------------------------+
| `delete-object-storage-manager-file <#d | To delete a specific Object Storage   |
| elete-object-storage-manager-file>`__   | Manager File.                         |
+-----------------------------------------+---------------------------------------+

create-object-storage-manager-file
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource create-object-storage-manager-file -h

.. code-block:: bash

   usage:  create-object-storage-manager-file [-h] --object_storage_manager_id
                                              OBJECT_STORAGE_MANAGER_ID --local_file_path
                                              LOCAL_FILE_PATH
                                              [--preserve_path [{true,false}]]
                                              [--overwrite [{true,false}]]
                                              [--json-output [{pretty,default}]]
                                              [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --object_storage_manager_id OBJECT_STORAGE_MANAGER_ID
                           Provide credential_fileig_id to create-object-storage-manager-
                           file.
     --local_file_path LOCAL_FILE_PATH
                           Provide local_file_path to create-object-storage-manager-file.
     --preserve_path [{true,false}]
                           Provide preserve_path to create-object-storage-manager-file.
                           (default: false)
     --overwrite [{true,false}]
                           Provide overwrite to create-object-storage-manager-file.
                           (default: false)
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  create-object-storage-manager-file example with all the required
   arguments passed.

.. code-block:: bash

   yeedu resource create-object-storage-manager-file --object_storage_manager_id=1 --local_file_path='/home/user/spark-examples_2.11-2.4.8.jar'

-  Console output

.. code-block:: bash

   {
     "object_storage_manager_file_id": "1",
     "object_storage_manager_id": "1",
     "file_name": "spark-examples_2.11-2.4.8.jar",
     "full_file_path": "file:///yeedu/object-storage-manager/spark-examples_2.11-2.4.8.jar",
     "file_size_bytes": "2017856",
     "file_type": "jar",
     "local_file_path": null,
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:22:40.313Z",
     "from_date": "2023-07-20T11:22:40.313Z",
     "to_date": null
   }

list-object-storage-manager-files
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-object-storage-manager-files -h

.. code-block:: bash

   usage:  list-object-storage-manager-files [-h] --object_storage_manager_id
                                             OBJECT_STORAGE_MANAGER_ID
                                             [--json-output [{pretty,default}]]
                                             [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --object_storage_manager_id OBJECT_STORAGE_MANAGER_ID
                           Provide Object Storage Manager Id to list all the available
                           Object Storage Manager Files.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-object-storage-manager-files example with required arguments
   passed.

.. code-block:: bash

   yeedu resource list-object-storage-manager-files --object_storage_manager_id=1

-  Console output

.. code-block:: bash

   [
     {
       "object_storage_manager_file_id": "1",
       "object_storage_manager": {
         "object_storage_manager_id": "1",
         "object_storage_bucket_name": "yeedu",
         "credentials_config": {
           "name": "yeedu-svc",
           "credential_type": {
             "name": "gcp"
           }
         }
       },
       "file_name": "spark-examples_2.11-2.4.8.jar",
       "full_file_path": "file:///yeedu/object-storage-manager/spark-examples_2.11-2.4.8.jar",
       "file_size_bytes": "2017856",
       "file_type": "jar",
       "local_file_path": null,
       "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
       "created_by": {
         "user_id": "1",
         "username": "YSU0000"
       },
       "modified_by": {
         "user_id": "1",
         "username": "YSU0000"
       },
       "last_update_date": "2023-07-20T11:22:40.313Z",
       "from_date": "2023-07-20T11:22:40.313Z",
       "to_date": null
     }
   ]

get-object-storage-manager-file
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource get-object-storage-manager-file -h

.. code-block:: bash

   usage:  get-object-storage-manager-file [-h] --object_storage_manager_id
                                           OBJECT_STORAGE_MANAGER_ID --file_id FILE_ID
                                           [--json-output [{pretty,default}]]
                                           [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --object_storage_manager_id OBJECT_STORAGE_MANAGER_ID
                           Provide Object Storage Manager Id to get information about a
                           specific Object Storage Manager Files.
     --file_id FILE_ID     Provide File Id to get information about a specific Object
                           Storage Manager Files.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-object-storage-manager-file example with all the required
   arguments passed.

.. code-block:: bash

   yeedu resource get-object-storage-manager-file --object_storage_manager_id=1 --file_id=1

-  Console output

.. code-block:: bash

   {
     "object_storage_manager_file_id": "1",
     "object_storage_manager": {
       "object_storage_manager_id": "1",
       "object_storage_bucket_name": "yeedu",
       "credentials_config": {
         "name": "yeedu-svc",
         "credential_type": {
           "name": "gcp"
         }
       }
     },
     "file_name": "spark-examples_2.11-2.4.8.jar",
     "full_file_path": "file:///yeedu/object-storage-manager/spark-examples_2.11-2.4.8.jar",
     "file_size_bytes": "2017856",
     "file_type": "jar",
     "local_file_path": null,
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "modified_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "last_update_date": "2023-07-20T11:22:40.313Z",
     "from_date": "2023-07-20T11:22:40.313Z",
     "to_date": null
   }

delete-object-storage-manager-file
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource delete-object-storage-manager-file -h

.. code-block:: bash

   usage:  delete-object-storage-manager-file [-h] --object_storage_manager_id
                                              OBJECT_STORAGE_MANAGER_ID --file_id FILE_ID
                                              [--json-output [{pretty,default}]]
                                              [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --object_storage_manager_id OBJECT_STORAGE_MANAGER_ID
                           Provide Object Storage Manager Id to delete a specific Object
                           Storage Manager File.
     --file_id FILE_ID     Provide File Id to delete a specific Object Storage Manager
                           Files.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  delete-object-storage-manager-file example with all the required
   arguments passed.

.. code-block:: bash

   yeedu resource delete-object-storage-manager-file --object_storage_manager_id=1 --file_id=1

-  Console output

.. code-block:: bash

   {
     "message": "The File spark-examples_2.11-2.4.8.jar has been deleted."
   }

Hive Metastore Configuration
----------------------------

+--------------------------------------+----------------------------------+
| Command Name                         | Utility                          |
+======================================+==================================+
| `create-hive-metastore-conf <#create | To create a Hive Metastore       |
| -hive-metastore-conf>`__             | Configuration.                   |
+--------------------------------------+----------------------------------+
| `list-hive-metastore-confs <#list-hi | To list all the available Hive   |
| ve-metastore-confs>`__               | Metastore Configurations.        |
+--------------------------------------+----------------------------------+
| `get-hive-metastore-conf <#get-hive- | To get the information about a   |
| metastore-conf>`__                   | specific Hive Metastore          |
|                                      | Configuration.                   |
+--------------------------------------+----------------------------------+
| `edit-hive-metastore-conf <#edit-hiv | To edit a specific Hive          |
| e-metastore-conf>`__                 | Metastore Configuration.         |
+--------------------------------------+----------------------------------+
| `delete-hive-metastore-conf <#delete | To delete a specific Hive        |
| -hive-metastore-conf>`__             | Metastore Configuration.         |
+--------------------------------------+----------------------------------+

create-hive-metastore-conf
~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource create-hive-metastore-conf -h

.. code-block:: bash

   usage:  create-hive-metastore-conf [-h]
                                      [--hive_site_xml_file_path HIVE_SITE_XML_FILE_PATH]
                                      [--core_site_xml_file_path CORE_SITE_XML_FILE_PATH]
                                      [--hdfs_site_xml_file_path HDFS_SITE_XML_FILE_PATH]
                                      [--krb5_conf_file_path KRB5_CONF_FILE_PATH]
                                      [--json-output [{pretty,default}]]
                                      [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --hive_site_xml_file_path HIVE_SITE_XML_FILE_PATH
                           Provide hive_site_xml_file_path to create-hive-metastore-conf.
     --core_site_xml_file_path CORE_SITE_XML_FILE_PATH
                           Provide core_site_xml_file_path to create-hive-metastore-conf.
     --hdfs_site_xml_file_path HDFS_SITE_XML_FILE_PATH
                           Provide hdfs_site_xml_file_path to create-hive-metastore-conf.
     --krb5_conf_file_path KRB5_CONF_FILE_PATH
                           Provide krb5_conf_file_path to create-hive-metastore-conf.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  create-hive-metastore-conf example with all the required arguments
   passed.

.. code-block:: bash

   yeedu resource create-hive-metastore-conf --hive_site_xml_file_path="/home/user/Documents/hive-site.xml" --core_site_xml_file_path="/home/user/Documents/core-site.xml" --hdfs_site_xml_file_path="/home/user/Documents/hdfs-site.xml"

-  Console output

.. code-block:: bash

   {
     "hive_metastore_conf_id": "1",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:34:53.896Z",
     "from_date": "2023-07-20T11:34:53.896Z",
     "to_date": null
   }

list-hive-metastore-confs
~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource list-hive-metastore-confs -h

.. code-block:: bash

   usage:  list-hive-metastore-confs [-h] [--json-output [{pretty,default}]]
                                     [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-hive-metastore-confs example without any optional argument
   passed for output format.

.. code-block:: bash

   yeedu resource list-hive-metastore-confs

-  Console output

.. code-block:: bash

   [
     {
       "hive_metastore_conf_id": "1",
       "hive-site.xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"configuration.xsl\"?>\n<configuration>\n  <property>\n    <name>javax.jdo.option.ConnectionURL</name>\n    <value>jdbc:postgresql://localhost:5432/metastore</value>\n    <description>JDBC connect string for a JDBC metastore</description>\n  </property>\n  <property>\n    <name>javax.jdo.option.ConnectionDriverName</name>\n    <value>org.postgresql.Driver</value>\n    <description>Driver class name for a JDBC metastore</description>\n  </property>\n  <property>\n    <name>javax.jdo.option.ConnectionUserName</name>\n    <value>hive</value>\n    <description>username to use against metastore database</description>\n  </property>\n  <property>\n    <name>javax.jdo.option.ConnectionPassword</name>\n    <value>hive</value>\n    <description>password to use against metastore database</description>\n  </property>\n  <property>\n    <name>hive.metastore.schema.verification</name>\n    <value>false</value>\n  </property>\n  <property>\n     <name>datanucleus.autoCreateSchema</name>\n     <value>false</value>\n     <description>Creates necessary schema on a startup if one doesn't exist</description>\n  </property>\n  <property>\n     <name>hive.server2.enable.doAs </name>\n     <value>false</value>\n  </property>\n  <property>\n         <name>hive.security.authorization.enabled</name>\n         <value>false</value>\n </property>\n</configuration>\n\n",
       "core-site.xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"configuration.xsl\"?>\n<!--\n  Licensed under the Apache License, Version 2.0 (the \"License\");\n  you may not use this file except in compliance with the License.\n  You may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\n  Unless required by applicable law or agreed to in writing, software\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  See the License for the specific language governing permissions and\n  limitations under the License. See accompanying LICENSE file.\n-->\n\n<!-- Put site-specific property overrides in this file. -->\n\n<configuration>\n    <property>\n        <name>hadoop.tmp.dir</name>\n        <value>/usr/bin/data/tmp</value>\n    </property>\n    <property>\n        <name>fs.defaultFS</name>\n        <value>hdfs://localhost:9000</value>\n    </property>\n    <property>\n        <name>fs.default.name</name>\n        <value>hdfs://localhost:9000</value>\n    </property>\n        <property>\n            <name>hadoop.proxyuser.username.groups</name>\n        <value>*</value>\n        </property>\n        <property>\n                <name>hadoop.proxyuser.username.hosts</name>\n                <value>*</value>\n        </property>\n                <property>\n            <name>hadoop.proxyuser.hue.groups</name>\n        <value>*</value>\n        </property>\n        <property>\n                <name>hadoop.proxyuser.hue.hosts</name>\n                <value>*</value>\n        </property>\n</configuration>\n\n",
       "hdfs-site.xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"configuration.xsl\"?>\n<!--\n  Licensed under the Apache License, Version 2.0 (the \"License\");\n  you may not use this file except in compliance with the License.\n  You may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\n  Unless required by applicable law or agreed to in writing, software\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  See the License for the specific language governing permissions and\n  limitations under the License. See accompanying LICENSE file.\n-->\n\n<!-- Put site-specific property overrides in this file. -->\n\n<configuration>\n    <property>\n                <name>dfs.permissions</name>\n                <value>false</value>\n        </property>\n    <property>\n            <name>dfs.namenode.name.dir</name>\n            <value>/usr/bin/data/nameNode</value>\n    </property>\n    <property>\n            <name>dfs.datanode.data.dir</name>\n            <value>/usr/bin/data/dataNode</value>\n    </property>\n    <property>\n                <name>dfs.datanode.max.transfer.threads</name>\n                <value>8192</value>\n        </property>\n    <property>\n          <name>dfs.namenode.checkpoint.dir</name>\n          <value>/usr/bin/data/nameNodeSecondary</value>\n    </property>\n    <property>\n        <name>dfs.safemode.threshold.pct</name>\n        <value>0</value>\n    </property>\n        <property>\n                <name>dfs.namenode.http-address</name>\n                <value>localhost:50070</value>\n        </property>\n    <property>\n                <name>dfs.namenode.secondary.http-address</name>\n                <value>localhost:50090</value>\n        </property>\n    <property>\n        <name>dfs.namenode.acls.enabled</name>\n        <value>true</value>\n    </property>\n    <property>\n        <name>dfs.replication</name>\n        <value>1</value>\n    </property>\n        <property>\n                <name>dfs.webhdfs.enabled</name>\n                <value>true</value>\n        </property>\n</configuration>\n\n",
       "krb5.conf": null,
       "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
       "created_by": {
         "user_id": 1,
         "username": "YSU0000"
       },
       "modified_by": {
         "user_id": 1,
         "username": "YSU0000"
       },
       "last_update_date": "2023-07-20T11:34:53.896774+00:00",
       "from_date": "2023-07-20T11:34:53.896774+00:00",
       "to_date": "infinity"
     }
   ]

get-hive-metastore-conf
~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource get-hive-metastore-conf -h

.. code-block:: bash

   usage:  get-hive-metastore-conf [-h] --hive_metastore_conf_id HIVE_METASTORE_CONF_ID
                                   [--json-output [{pretty,default}]]
                                   [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --hive_metastore_conf_id HIVE_METASTORE_CONF_ID
                           Provide hive_metastore_conf_id to get information about a
                           specific Hive Metastore Configuration.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-hive-metastore-conf example with the required
   '--hive_metastore_conf_id' argument passed.

.. code-block:: bash

   yeedu resource get-hive-metastore-conf --hive_metastore_conf_id=1

-  Console output

.. code-block:: bash

   {
     "hive_metastore_conf_id": "1",
     "hive-site.xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"configuration.xsl\"?>\n<configuration>\n  <property>\n    <name>javax.jdo.option.ConnectionURL</name>\n    <value>jdbc:postgresql://localhost:5432/metastore</value>\n    <description>JDBC connect string for a JDBC metastore</description>\n  </property>\n  <property>\n    <name>javax.jdo.option.ConnectionDriverName</name>\n    <value>org.postgresql.Driver</value>\n    <description>Driver class name for a JDBC metastore</description>\n  </property>\n  <property>\n    <name>javax.jdo.option.ConnectionUserName</name>\n    <value>hive</value>\n    <description>username to use against metastore database</description>\n  </property>\n  <property>\n    <name>javax.jdo.option.ConnectionPassword</name>\n    <value>hive</value>\n    <description>password to use against metastore database</description>\n  </property>\n  <property>\n    <name>hive.metastore.schema.verification</name>\n    <value>false</value>\n  </property>\n  <property>\n     <name>datanucleus.autoCreateSchema</name>\n     <value>false</value>\n     <description>Creates necessary schema on a startup if one doesn't exist</description>\n  </property>\n  <property>\n     <name>hive.server2.enable.doAs </name>\n     <value>false</value>\n  </property>\n  <property>\n         <name>hive.security.authorization.enabled</name>\n         <value>false</value>\n </property>\n</configuration>\n\n",
     "core-site.xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"configuration.xsl\"?>\n<!--\n  Licensed under the Apache License, Version 2.0 (the \"License\");\n  you may not use this file except in compliance with the License.\n  You may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\n  Unless required by applicable law or agreed to in writing, software\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  See the License for the specific language governing permissions and\n  limitations under the License. See accompanying LICENSE file.\n-->\n\n<!-- Put site-specific property overrides in this file. -->\n\n<configuration>\n    <property>\n        <name>hadoop.tmp.dir</name>\n        <value>/usr/bin/data/tmp</value>\n    </property>\n    <property>\n        <name>fs.defaultFS</name>\n        <value>hdfs://localhost:9000</value>\n    </property>\n    <property>\n        <name>fs.default.name</name>\n        <value>hdfs://localhost:9000</value>\n    </property>\n        <property>\n            <name>hadoop.proxyuser.username.groups</name>\n        <value>*</value>\n        </property>\n        <property>\n                <name>hadoop.proxyuser.username.hosts</name>\n                <value>*</value>\n        </property>\n                <property>\n            <name>hadoop.proxyuser.hue.groups</name>\n        <value>*</value>\n        </property>\n        <property>\n                <name>hadoop.proxyuser.hue.hosts</name>\n                <value>*</value>\n        </property>\n</configuration>\n\n",
     "hdfs-site.xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"configuration.xsl\"?>\n<!--\n  Licensed under the Apache License, Version 2.0 (the \"License\");\n  you may not use this file except in compliance with the License.\n  You may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\n  Unless required by applicable law or agreed to in writing, software\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  See the License for the specific language governing permissions and\n  limitations under the License. See accompanying LICENSE file.\n-->\n\n<!-- Put site-specific property overrides in this file. -->\n\n<configuration>\n    <property>\n                <name>dfs.permissions</name>\n                <value>false</value>\n        </property>\n    <property>\n            <name>dfs.namenode.name.dir</name>\n            <value>/usr/bin/data/nameNode</value>\n    </property>\n    <property>\n            <name>dfs.datanode.data.dir</name>\n            <value>/usr/bin/data/dataNode</value>\n    </property>\n    <property>\n                <name>dfs.datanode.max.transfer.threads</name>\n                <value>8192</value>\n        </property>\n    <property>\n          <name>dfs.namenode.checkpoint.dir</name>\n          <value>/usr/bin/data/nameNodeSecondary</value>\n    </property>\n    <property>\n        <name>dfs.safemode.threshold.pct</name>\n        <value>0</value>\n    </property>\n        <property>\n                <name>dfs.namenode.http-address</name>\n                <value>localhost:50070</value>\n        </property>\n    <property>\n                <name>dfs.namenode.secondary.http-address</name>\n                <value>localhost:50090</value>\n        </property>\n    <property>\n        <name>dfs.namenode.acls.enabled</name>\n        <value>true</value>\n    </property>\n    <property>\n        <name>dfs.replication</name>\n        <value>1</value>\n    </property>\n        <property>\n                <name>dfs.webhdfs.enabled</name>\n                <value>true</value>\n        </property>\n</configuration>\n\n",
     "krb5.conf": null,
    "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by": {
       "user_id": 1,
       "username": "YSU0000"
     },
     "modified_by": {
       "user_id": 1,
       "username": "YSU0000"
     },
     "last_update_date": "2023-07-20T11:34:53.896774+00:00",
     "from_date": "2023-07-20T11:34:53.896774+00:00",
     "to_date": "infinity"
   }

edit-hive-metastore-conf
~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource edit-hive-metastore-conf -h

.. code-block:: bash

   usage:  edit-hive-metastore-conf [-h] --hive_metastore_conf_id HIVE_METASTORE_CONF_ID
                                    [--hive_site_xml_file_path HIVE_SITE_XML_FILE_PATH]
                                    [--core_site_xml_file_path CORE_SITE_XML_FILE_PATH]
                                    [--hdfs_site_xml_file_path HDFS_SITE_XML_FILE_PATH]
                                    [--krb5_conf_file_path KRB5_CONF_FILE_PATH]
                                    [--json-output [{pretty,default}]]
                                    [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --hive_metastore_conf_id HIVE_METASTORE_CONF_ID
                           Provide a specific hive_metastore_conf_id to edit-hive-
                           metastore-conf.
     --hive_site_xml_file_path HIVE_SITE_XML_FILE_PATH
                           Provide hive_site_xml_file_path to edit-hive-metastore-conf.
     --core_site_xml_file_path CORE_SITE_XML_FILE_PATH
                           Provide core_site_xml_file_path to edit-hive-metastore-conf.
     --hdfs_site_xml_file_path HDFS_SITE_XML_FILE_PATH
                           Provide hdfs_site_xml_file_path to edit-hive-metastore-conf.
     --krb5_conf_file_path KRB5_CONF_FILE_PATH
                           Provide krb5_conf_file_path to edit-hive-metastore-conf.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  edit-hive-metastore-conf example with the required
   '--hive_metastore_conf_id' argument and other optional argument is
   passed which is to be updated.

.. code-block:: bash

   yeedu resource edit-hive-metastore-conf --hive_metastore_conf_id=1 --krb5_conf_file_path="/home/user/Documents/krb5.conf"

-  Console output

.. code-block:: bash

   {
     "hive_metastore_conf_id": "1",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:37:08.322Z",
     "from_date": "2023-07-20T11:34:53.896Z",
     "to_date": null
   }

delete-hive-metastore-conf
~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu resource delete-hive-metastore-conf -h

.. code-block:: bash

   usage:  delete-hive-metastore-conf [-h] --hive_metastore_conf_id HIVE_METASTORE_CONF_ID
                                      [--json-output [{pretty,default}]]
                                      [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --hive_metastore_conf_id HIVE_METASTORE_CONF_ID
                           Provide hive_metastore_conf_id to delete a specific Hive
                           Metastore Configuration.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  delete-hive-metastore-conf example with the required
   '--hive_metastore_conf_id' argument passed.

.. code-block:: bash

   yeedu resource delete-hive-metastore-conf --hive_metastore_conf_id=1

-  Console output

.. code-block:: bash

   {
     "message": "Deleted Hive Metastore Configuration: 1"
   }

Cluster
=======

Cluster Configuration
---------------------

+--------------------------------+------------------------------------+
| Command Name                   | Utility                            |
+================================+====================================+
| `create-conf <#create-conf>`__ | To create the Cluster              |
|                                | Configuration.                     |
+--------------------------------+------------------------------------+
| `list-confs <#list-confs>`__   | To list all the available Cluster  |
|                                | Configurations.                    |
+--------------------------------+------------------------------------+
| `get-conf <#get-conf>`__       | To get the information about a     |
|                                | specific Cluster Configuration.    |
+--------------------------------+------------------------------------+
| `edit-conf <#edit-conf>`__     | To edit a specific Cluster         |
|                                | Configuration.                     |
+--------------------------------+------------------------------------+

create-conf
~~~~~~~~~~~

.. code-block:: bash

   yeedu cluster create-conf -h

.. code-block:: bash

   usage:  create-conf [-h] --name NAME --description DESCRIPTION --cloud_project_id
                       CLOUD_PROJECT_ID --object_storage_manager_id
                       OBJECT_STORAGE_MANAGER_ID --credentials_conf_id CREDENTIALS_CONF_ID
                       --machine_conf_id MACHINE_CONF_ID
                       [--spark_config_id [SPARK_CONFIG_ID]]
                       [--hive_metastore_conf_id [HIVE_METASTORE_CONF_ID]]
                       --cloud_provider_id CLOUD_PROVIDER_ID --spark_infra_version_id
                       SPARK_INFRA_VERSION_ID
                       [--max_parallel_spark_job_execution_per_instance [MAX_PARALLEL_SPARK_JOB_EXECUTION_PER_INSTANCE]]
                       [--standalone_workers_number [STANDALONE_WORKERS_NUMBER]]
                       --cluster_type YEEDU, STANDALONE, CLUSTER --min_instances
                       MIN_INSTANCES --max_instances MAX_INSTANCES --is_cuda true,false
                       [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --name NAME           Provide name to create-conf.
     --description DESCRIPTION
                           Provide description to create-conf.
     --cloud_project_id CLOUD_PROJECT_ID
                           Provide cloud_project_id to create-conf.
     --object_storage_manager_id OBJECT_STORAGE_MANAGER_ID
                           Provide object_storage_manager_id to create-conf.
     --credentials_conf_id CREDENTIALS_CONF_ID
                           Provide credentials_conf_id to create-conf.
     --machine_conf_id MACHINE_CONF_ID
                           Provide machine_conf_id to create-conf.
     --spark_config_id [SPARK_CONFIG_ID]
                           Provide spark_config_id to create-conf.
     --hive_metastore_conf_id [HIVE_METASTORE_CONF_ID]
                           Provide hive_metastore_conf_id to create-conf.
     --cloud_provider_id CLOUD_PROVIDER_ID
                           Provide cloud_provider_id to create-conf.
     --spark_infra_version_id SPARK_INFRA_VERSION_ID
                           Provide spark_infra_version_id to create-conf.
     --max_parallel_spark_job_execution_per_instance [MAX_PARALLEL_SPARK_JOB_EXECUTION_PER_INSTANCE]
                           Provide max_parallel_spark_job_execution_per_instance to
                           create-conf. (default: 5)
     --standalone_workers_number [STANDALONE_WORKERS_NUMBER]
                           Provide standalone_workers_number to create-conf.
     --cluster_type YEEDU, STANDALONE, CLUSTER
                           Provide cluster_type to create-conf.
     --min_instances MIN_INSTANCES
                           Provide min_instances to create-conf.
     --max_instances MAX_INSTANCES
                           Provide max_instances to create-conf.
     --is_cuda true,false  Provide is_cuda to create-conf.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  create-conf example with all the required arguments passed.

.. code-block:: bash

   yeedu cluster create-conf --name="yeedu_cluster" --description="Cluster Configurations test" --cloud_project_id="yeedu" --object_storage_manager_id=1 --credentials_conf_id=1 --machine_conf_id=1 --cloud_provider_id=0 --spark_infra_version_id=0 --max_parallel_spark_job_execution_per_instance=5 --cluster_type="YEEDU" --min_instances=1 --max_instances=2 --is_cuda=false

-  Console output

.. code-block:: bash

   {
     "cluster_conf_id": "1",
     "name": "yeedu_cluster",
     "description": "Cluster Configurations test",
     "cloud_project_id": "yeedu",
     "object_storage_manager_id": "1",
     "credentials_conf_id": "1",
     "machine_conf_id": "1",
     "spark_config_id": null,
     "hive_metastore_conf_id": null,
     "cloud_provider_id": "0",
     "spark_infra_version_id": "0",
     "engine_cluster_spark_config": {
       "max_parallel_spark_job_execution_per_instance": 5
     },
     "cluster_type": "YEEDU",
     "min_instances": 1,
     "max_instances": 2,
     "is_cuda": false,
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:38:27.321Z",
     "from_date": "2023-07-20T11:38:27.321Z",
     "to_date": null
   }

list-confs
~~~~~~~~~~

.. code-block:: bash

   yeedu cluster list-confs -h

.. code-block:: bash

   usage:  list-confs [-h] [--cloud_provider [{GCP,AWS,AZURE}]]
                      [--page_number PAGE_NUMBER] [--limit LIMIT]
                      [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cloud_provider [{GCP,AWS,AZURE}]
                           Cloud Provider that will be used for filtering list.
     --page_number PAGE_NUMBER
                           To list Engine Cluser Configuration for a specific page_number.
                           (default: 1)
     --limit LIMIT         Provide limit to list number of Engine Cluser Configuration.
                           (default: 100)
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-confs example without optional arguments passed for output
   format.

.. code-block:: bash

   yeedu cluster list-confs --cloud_provider="GCP" --limit=2

-  Console output

.. code-block:: bash

   {
     "data": [
       {
         "cluster_conf_id": "1",
         "name": "yeedu_cluster",
         "description": "Cluster Configurations test",
         "cloud_project_id": "yeedu",
         "object_storage_manager": {
           "object_storage_manager_id": "1",
           "credentials_conf_id": "1",
           "object_storage_bucket_name": "yeedu"
         },
         "credentials_conf_id": "1",
         "machine_config": {
           "machine_conf_id": "1",
           "network_tags": [
             "yeedu",
             "iap-allow"
           ],
           "labels": {
             "env": "test",
             "test": "dev",
             "resource": "yeedu",
             "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538"
           },
           "is_spot_instance": false,
           "enable_public_ip": true,
           "block_project_ssh_keys": true,
           "bootstrap_shell_script": null,
           "boot_disk_image_config": {
             "boot_disk_image_id": "1",
             "boot_disk_image": "ubuntu-os-cloud/ubuntu-2004-lts",
             "cloud_provider": {
               "name": "gcp"
             }
           },
           "machine_type": {
             "machine_type_id": "15",
             "name": "c2d-highcpu-16",
             "vcpus": 16,
             "memory": "32 GiB",
             "has_cuda": false,
             "gpu_model": null,
             "gpus": null,
             "gpu_memory": null
           },
           "machine_network": {
             "network_conf_id": "1",
             "network_project_id": "yeedu",
             "network_name": "yeedu-spark-vpc",
             "subnet": "custom-subnet-yeedu",
             "availability_zone": {
               "name": "us-central1-a",
               "region": "us-central1",
               "description": "Council Bluffs, Iowa, North America"
             }
           },
           "machine_volume_config": {
             "volume_conf_id": "1",
             "name": "yeedu volume",
             "encrypted": false,
             "size": "375",
             "machine_volume_num": 1,
             "machine_volume_strip_num": 1,
             "availability_zone": {
               "name": "us-central1-a",
               "region": "us-central1"
             },
             "disk_type": {
               "name": "local-ssd",
               "has_fixed_size": true,
               "min_size": 375,
               "max_size": 375
             }
           }
         },
         "spark_config": null,
         "hive_metastore": null,
         "cloud_provider": {
           "name": "gcp",
           "description": "Provider for creating infrastructure on Google Cloud Platform"
         },
         "spark_infra_version": {
           "spark_version": "2.4.8",
           "hive_version": "3.2.3",
           "hadoop_version": "2.10.1",
           "scala_version": "2.11.10"
         },
         "engine_cluster_spark_config": {
           "max_parallel_spark_job_per_instance": 5,
           "standalone_workers_number": null
         },
         "cluster_type": "YEEDU",
         "min_instances": 1,
         "max_instances": 2,
         "is_cuda": false,
         "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
         "created_by": {
           "user_id": "1",
           "username": "YSU0000"
         },
         "modified_by": {
           "user_id": "1",
           "username": "YSU0000"
         },
         "last_update_date": "2023-07-20T11:38:27.321Z",
         "from_date": "2023-07-20T11:38:27.321Z",
         "to_date": null
       }
     ],
     "result_set": {
       "current_page": 1,
       "total_objects": 1,
       "total_pages": 1,
       "limit": 2
     }
   }

get-conf
~~~~~~~~

.. code-block:: bash

   yeedu cluster get-conf -h

.. code-block:: bash

   usage:  get-conf [-h] [--cluster_conf_id CLUSTER_CONF_ID]
                    [--cluster_conf_name CLUSTER_CONF_NAME]
                    [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cluster_conf_id CLUSTER_CONF_ID
                           Provide Cluster Conf Id to get information about a specific
                           Cluster Configuration.
     --cluster_conf_name CLUSTER_CONF_NAME
                           Provide Engine Cluster Config Name to get information about a
                           specific Cluster Configuration.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-conf example with one of the optional '--cluster_conf_id'
   argument passed.

.. code-block:: bash

   yeedu cluster get-conf --cluster_conf_id=1

-  Console output

.. code-block:: bash

   {
     "cluster_conf_id": "1",
     "name": "yeedu_cluster",
     "description": "Cluster Configurations test",
     "cloud_project_id": "yeedu",
     "object_storage_manager": {
       "object_storage_manager_id": "1",
       "credentials_conf_id": "1",
       "object_storage_bucket_name": "yeedu"
     },
     "credentials_conf_id": "1",
     "machine_config": {
       "machine_conf_id": "1",
       "network_tags": [
         "yeedu",
         "iap-allow"
       ],
       "labels": {
         "env": "test",
         "test": "dev",
         "resource": "yeedu",
         "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538"
       },
       "is_spot_instance": false,
       "enable_public_ip": true,
       "block_project_ssh_keys": true,
       "bootstrap_shell_script": null,
       "boot_disk_image_config": {
         "boot_disk_image_id": "1",
         "boot_disk_image": "ubuntu-os-cloud/ubuntu-2004-lts",
         "cloud_provider": {
           "name": "gcp"
         }
       },
       "machine_type": {
         "machine_type_id": "15",
         "name": "c2d-highcpu-16",
         "vcpus": 16,
         "memory": "32 GiB",
         "has_cuda": false,
         "gpu_model": null,
         "gpus": null,
         "gpu_memory": null
       },
       "machine_network": {
         "network_conf_id": "1",
         "network_project_id": "yeedu",
         "network_name": "yeedu-spark-vpc",
         "subnet": "custom-subnet-yeedu",
         "availability_zone": {
           "name": "us-central1-a",
           "region": "us-central1",
           "description": "Council Bluffs, Iowa, North America"
         }
       },
       "machine_volume_config": {
         "volume_conf_id": "1",
         "name": "yeedu volume",
         "encrypted": false,
         "size": "375",
         "machine_volume_num": 1,
         "machine_volume_strip_num": 1,
         "availability_zone": {
           "name": "us-central1-a",
           "region": "us-central1"
         },
         "disk_type": {
           "name": "local-ssd",
           "has_fixed_size": true,
           "min_size": 375,
           "max_size": 375
         }
       }
     },
     "spark_config": null,
     "hive_metastore": null,
     "cloud_provider": {
       "name": "gcp",
       "description": "Provider for creating infrastructure on Google Cloud Platform"
     },
     "spark_infra_version": {
       "spark_version": "2.4.8",
       "hive_version": "3.2.3",
       "hadoop_version": "2.10.1",
       "scala_version": "2.11.10"
     },
     "engine_cluster_spark_config": {
       "max_parallel_spark_job_per_instance": 5,
       "standalone_workers_number": null
     },
     "cluster_type": "YEEDU",
     "min_instances": 1,
     "max_instances": 2,
     "is_cuda": false,
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "modified_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "last_update_date": "2023-07-20T11:38:27.321Z",
     "from_date": "2023-07-20T11:38:27.321Z",
     "to_date": null
   }

edit-conf
~~~~~~~~~

.. code-block:: bash

   yeedu cluster edit-conf -h

.. code-block:: bash

   usage:  edit-conf [-h] [--cluster_conf_id CLUSTER_CONF_ID]
                     [--cluster_conf_name CLUSTER_CONF_NAME] [--name [NAME]]
                     [--description [DESCRIPTION]] [--cloud_project_id [CLOUD_PROJECT_ID]]
                     [--max_parallel_spark_job_execution_per_instance [MAX_PARALLEL_SPARK_JOB_EXECUTION_PER_INSTANCE]]
                     [--standalone_workers_number [STANDALONE_WORKERS_NUMBER]]
                     [--cluster_type YEEDU, STANDALONE, CLUSTER]
                     [--min_instances [MIN_INSTANCES]] [--max_instances [MAX_INSTANCES]]
                     [--is_cuda [true,false]] [--json-output [{pretty,default}]]
                     [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cluster_conf_id CLUSTER_CONF_ID
                           Provide a specific Cluster Conf Id to edit-conf.
     --cluster_conf_name CLUSTER_CONF_NAME
                           Provide a specific Engine Cluster Config Name to edit-conf.
     --name [NAME]         Provide name to edit-conf.
     --description [DESCRIPTION]
                           Provide description to edit-conf.
     --cloud_project_id [CLOUD_PROJECT_ID]
                           Provide cloud_project_id to edit-conf.
     --max_parallel_spark_job_execution_per_instance [MAX_PARALLEL_SPARK_JOB_EXECUTION_PER_INSTANCE]
                           Provide max_parallel_spark_job_execution_per_instance to edit-conf.
     --standalone_workers_number [STANDALONE_WORKERS_NUMBER]
                           Provide standalone_workers_number to edit-conf.
     --cluster_type YEEDU, STANDALONE, CLUSTER
                           Provide cluster_type to edit-conf.
     --min_instances [MIN_INSTANCES]
                           Provide min_instances to edit-conf.
     --max_instances [MAX_INSTANCES]
                           Provide max_instances to edit-conf.
     --is_cuda [true,false]
                           Provide is_cuda to edit-conf.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  edit-conf example with the required '--cluster_conf_id' argument and
   other optional argument is passed which is to be updated.

.. code-block:: bash

   yeedu cluster edit-conf --cluster_conf_id=1 --name='yeedu_cluster_1'

-  Console output

.. code-block:: bash

   {
     "cluster_conf_id": "1",
     "name": "yeedu_cluster_1",
     "description": "Cluster Configurations test",
     "cloud_project_id": "yeedu",
     "object_storage_manager_id": "1",
     "credentials_conf_id": "1",
     "machine_conf_id": "1",
     "spark_config_id": null,
     "hive_metastore_conf_id": null,
     "cloud_provider_id": "0",
     "spark_infra_version_id": "0",
     "engine_cluster_spark_config": {
       "max_parallel_spark_job_execution_per_instance": 5,
       "standalone_workers_number": null
     },
     "cluster_type": "YEEDU",
     "min_instances": 1,
     "max_instances": 2,
     "is_cuda": false,
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:42:41.921Z",
     "from_date": "2023-07-20T11:38:27.321Z",
     "to_date": null
   }

Cluster Instance
----------------

+----------------------------+----------------------------------------+
| Command Name               | Utility                                |
+============================+========================================+
| `create <#create>`__       | To create the Cluster Instance.        |
+----------------------------+----------------------------------------+
| `list <#list>`__           | To list all the available Cluster      |
|                            | Instances.                             |
+----------------------------+----------------------------------------+
| `get <#get>`__             | To get the information about a         |
|                            | specific Cluster Instance.             |
+----------------------------+----------------------------------------+
| `edit <#edit>`__           | To edit a specific Cluster Instance.   |
+----------------------------+----------------------------------------+
| `start <#start>`__         | To start a specific Cluster Instance.  |
+----------------------------+----------------------------------------+
| `stop <#stop>`__           | To stop a specific Cluster Instance.   |
+----------------------------+----------------------------------------+
| `destroy <#destroy>`__     | To destroy a specific Cluster          |
|                            | Instance.                              |
+----------------------------+----------------------------------------+
| `get-stats <#get-stats>`__ | To get the Spark Job Statistics of an  |
|                            | Cluster Instance.                      |
+----------------------------+----------------------------------------+
| `logs <#logs>`__           | To download Cluster Instance logs for  |
|                            | specific Cluster Instance Id.          |
+----------------------------+----------------------------------------+

create
~~~~~~

.. code-block:: bash

   yeedu cluster create -h

.. code-block:: bash

   usage:  create [-h] [--instance_name [INSTANCE_NAME]] --idle_timeout_ms
                  [IDLE_TIMEOUT_MS] [--auto_shutdown [true,false]] --cluster_conf_id
                  CLUSTER_CONF_ID [--json-output [{pretty,default}]]
                  [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --instance_name [INSTANCE_NAME]
                           Provide instance_name to create.
     --idle_timeout_ms [IDLE_TIMEOUT_MS]
                           Provide idle_timeout_ms to create.
     --auto_shutdown [true,false]
                           Provide auto_shutdown to create. (default: true)
     --cluster_conf_id CLUSTER_CONF_ID
                           Provide cluster_conf_id to create.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  create example with all the required and optional arguments passed.

.. code-block:: bash

   yeedu cluster create --instance_name="yeedu_instance" --idle_timeout_ms=300000 --auto_shutdown=true --cluster_conf_id=1

-  Console output

.. code-block:: bash

   {
     "cluster_id": "34",
     "instance_name": "yeedu_instance",
     "idle_timeout_ms": "300000",
     "auto_shutdown": true,
     "cluster_conf_id": "1",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:44:07.355Z",
     "from_date": "2023-07-20T11:44:07.355Z",
     "to_date": null
   }

list
~~~~

.. code-block:: bash

   yeedu cluster list -h

.. code-block:: bash

   usage:  list [-h] [--cluster_status [CLUSTER_STATUS]]
                [--cluster_conf_id CLUSTER_CONF_ID]
                [--cluster_conf_name CLUSTER_CONF_NAME] [--page_number PAGE_NUMBER]
                [--limit LIMIT] [--json-output [{pretty,default}]]
                [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cluster_status [CLUSTER_STATUS]
                           Provide Cluster Instance Status from ["INITIATING", "RUNNING",
                           "STOPPING", "STOPPED", "DESTROYING", "DESTROYED", "ERROR",
                           "RESIZING_UP", "RESIZING_DOWN"] to list, For example
                           --cluster_status="RUNNING,DESTROYED".
     --cluster_conf_id CLUSTER_CONF_ID
                           Provide Cluster Conf Id to list all the Cluster Instances.
     --cluster_conf_name CLUSTER_CONF_NAME
                           Provide Engine Cluster Config Name to list all the Cluster
                           Instances.
     --page_number PAGE_NUMBER
                           To list Cluster Instance for a specific page_number. (default:
                           1)
     --limit LIMIT         Provide limit to list number of Cluster Instance. (default:
                           100)
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list example passing the optional output arguments.

.. code-block:: bash

   yeedu cluster list --cluster_status="RUNNING" --cluster_conf_name="yeedu_cluster" --limit=5

-  Console output

.. code-block:: bash

   {
     "data": [
       {
         "cluster_id": 34,
         "instance_name": "yeedu_instance",
         "idle_timeout_ms": 300000,
         "auto_shutdown": true,
         "cluster_conf_id": 1,
         "cluster_status": "RUNNING",
         "compute_engine_id": 34,
         "instance_size": 1,
         "workflow_job_instance_details": {
           "workflow_job_instance_status": {
             "workflow_job_instance_id": 61982,
             "workflow_job_id": 61982,
             "status": "DONE",
             "from_date": "2023-07-20T11:44:07.355757+00:00",
             "to_date": "2023-07-20T11:44:47.959702+00:00"
           }
         },
         "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
         "created_by": {
           "user_id": 1,
           "username": "YSU0000"
         },
         "modified_by": {
           "user_id": 1,
           "username": "YSU0000"
         },
         "last_update_date": "2023-07-20T11:44:07.355757+00:00",
         "from_date": "2023-07-20T11:44:07.355757+00:00",
         "to_date": "infinity"
       }
     ],
     "result_set": {
       "current_page": 1,
       "total_objects": 1,
       "total_pages": 1,
       "limit": 5
     }
   }

get
~~~

.. code-block:: bash

   yeedu cluster get -h

.. code-block:: bash

   usage:  get [-h] [--cluster_id CLUSTER_ID] [--cluster_name CLUSTER_NAME]
               [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cluster_id CLUSTER_ID
                           Provide Cluster Instance Id to get information about a specific
                           Cluster Instance.
     --cluster_name CLUSTER_NAME
                           Provide Cluster Instance Name to get information about a
                           specific Cluster Instance.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get example with one of the optional arguments
   '--cluster_instance_name' passed.

.. code-block:: bash

   yeedu cluster get --cluster_name="yeedu_instance"

-  Console output

.. code-block:: bash

   {
     "cluster_id": 34,
     "instance_name": "yeedu_instance",
     "idle_timeout_ms": 300000,
     "auto_shutdown": true,
     "cluster_conf_id": 1,
     "cluster_status": "RUNNING",
     "compute_engine_id": 34,
     "instance_size": 1,
     "workflow_job_instance_details": {
       "workflow_job_instance_status": {
         "workflow_job_instance_id": 61982,
         "workflow_job_id": 61982,
         "status": "DONE",
         "from_date": "2023-07-20T11:44:07.355757+00:00",
         "to_date": "2023-07-20T11:44:47.959702+00:00"
       }
     },
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by": {
       "user_id": 1,
       "username": "YSU0000"
     },
     "modified_by": {
       "user_id": 1,
       "username": "YSU0000"
     },
     "last_update_date": "2023-07-20T11:44:07.355757+00:00",
     "from_date": "2023-07-20T11:44:07.355757+00:00",
     "to_date": "infinity"
   }

edit
~~~~

.. code-block:: bash

   yeedu cluster edit -h

.. code-block:: bash

   usage:  edit [-h] [--cluster_id CLUSTER_ID] [--cluster_name CLUSTER_NAME]
                [--idle_timeout_ms [IDLE_TIMEOUT_MS]] [--auto_shutdown [true,false]]
                [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cluster_id CLUSTER_ID
                           Provide a specific Cluster Instance Id to edit.
     --cluster_name CLUSTER_NAME
                           Provide a specific Cluster Instance Name to edit.
     --idle_timeout_ms [IDLE_TIMEOUT_MS]
                           Provide idle_timeout_ms to edit.
     --auto_shutdown [true,false]
                           Provide auto_shutdown to edit.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  edit example with one of the required '--cluster_id' argument and
   other optional argument is passed which is to be updated.

.. code-block:: bash

   yeedu cluster edit --cluster_id=34 --idle_timeout_ms=600000

-  Console output

.. code-block:: bash

   {
     "cluster_id": "34",
     "instance_name": "yeedu_instance",
     "idle_timeout_ms": "600000",
     "auto_shutdown": true,
     "cluster_conf_id": "1",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:46:35.401Z",
     "from_date": "2023-07-20T11:44:07.355Z",
     "to_date": null
   }

start
~~~~~

.. code-block:: bash

   yeedu cluster start -h

.. code-block:: bash

   usage:  start [-h] [--cluster_id CLUSTER_ID] [--cluster_name CLUSTER_NAME]
                 [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cluster_id CLUSTER_ID
                           Provide Cluster Instance Id to start an Cluster Instance.
     --cluster_name CLUSTER_NAME
                           Provide Cluster Instance Name to start an Cluster Instance.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  start example with one of the required argument '--cluster_id'
   passed.

.. code-block:: bash

   yeedu cluster start --cluster_id=1

-  Console output

.. code-block:: bash

   {
     "CosiStart": {
       "workflow_job_id": "61988",
       "workflow_job_instance_id": "61988",
       "engine_cluster_instance_id": "34"
     }
   }

stop
~~~~

.. code-block:: bash

   yeedu cluster stop -h

.. code-block:: bash

   usage:  stop [-h] [--cluster_id CLUSTER_ID] [--cluster_name CLUSTER_NAME]
                [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cluster_id CLUSTER_ID
                           Provide Cluster Instance Id to stop an Cluster Instance.
     --cluster_name CLUSTER_NAME
                           Provide Cluster Instance Name to stop an Cluster Instance.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  stop example with one of the required argument '--cluster_id' passed.

.. code-block:: bash

   yeedu cluster stop --cluster_id=34

-  Console output

.. code-block:: bash

   {
     "CosiStop": {
       "workflow_job_id": "61984",
       "workflow_job_instance_id": "61984",
       "engine_cluster_instance_id": 34
     }
   }

destroy
~~~~~~~

.. code-block:: bash

   yeedu cluster destroy -h

.. code-block:: bash

   usage:  destroy [-h] [--cluster_id CLUSTER_ID] [--cluster_name CLUSTER_NAME]
                   [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cluster_id CLUSTER_ID
                           Provide Cluster Instance Id to destroy an Cluster Instance.
     --cluster_name CLUSTER_NAME
                           Provide Cluster Instance Name to destroy an Cluster Instance.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  destroy example with one of the required argument '--cluster_id'
   passed.

.. code-block:: bash

   yeedu cluster destroy --cluster_id=1

-  Console output

.. code-block:: bash

   {
     "CosiDestroy": {
       "workflow_job_id": "62047",
       "workflow_job_instance_id": "62047",
       "engine_cluster_instance_id": 34
     }
   }

get-stats
~~~~~~~~~

.. code-block:: bash

   yeedu cluster get-stats -h

.. code-block:: bash

   usage:  get-stats [-h] [--cluster_id CLUSTER_ID] [--cluster_name CLUSTER_NAME]
                     [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cluster_id CLUSTER_ID
                           Provide Cluster Instance Id to get the Spark Job Statistics of
                           an Cluster Instance.
     --cluster_name CLUSTER_NAME
                           Provide Cluster Instance Name to get the Spark Job Statistics
                           of an Cluster Instance.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-stats example with one of the optional arguments
   '--cluster_instance_name' passed.

.. code-block:: bash

   yeedu cluster get-stats --cluster_name="yeedu_instance"

-  Console output

.. code-block:: bash

   {
     "SUBMITTED": 1,
     "RUNNING": 3,
     "DONE": 4,
     "ERROR": 0,
     "TERMINATED": 0,
     "KILLING": 0,
     "KILLED": 1,
     "TOTAL_JOB_COUNT": 9
   }

logs
~~~~

.. code-block:: bash

   yeedu cluster logs -h

.. code-block:: bash

   usage:  logs [-h] [--cluster_id CLUSTER_ID] [--cluster_name CLUSTER_NAME]
                [--log_type {stdout,stderr}] [--json-output [{pretty,default}]]
                [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cluster_id CLUSTER_ID
                           Provide Cluster Instance Id to download log records.
     --cluster_name CLUSTER_NAME
                           Provide Cluster Instance Name to download log records.
     --log_type {stdout,stderr}
                           Provide log_type to download Cluster Instance log records.
                           (default: stdout)
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  logs example with one of the required '--cluster_id' argument passed.

.. code-block:: bash

   yeedu cluster logs --cluster_id=34

-  Console output

.. code-block:: bash

   Initializing modules...
   - local-node in module
   - master-standalone-cluster in module
   - standalone-node in module
   - worker-standalone-cluster in module
   Initializing the backend...

   Successfully configured the backend "pg"! Terraform will automatically
   use this backend unless the backend configuration changes.
   Initializing provider plugins...
   - Reusing previous version of hashicorp/random from the dependency lock file
   - Reusing previous version of hashicorp/template from the dependency lock file
   - Reusing previous version of hashicorp/aws from the dependency lock file
   - Using hashicorp/aws v5.3.0 from the shared cache directory
   - Using hashicorp/random v3.5.1 from the shared cache directory
   - Using hashicorp/template v2.2.0 from the shared cache directory
   Terraform has been successfully initialized!

   You may now begin working with Terraform. Try running "terraform plan" to see
   any changes that are required for your infrastructure. All Terraform commands
   should now work.
   If you ever set or change modules or backend configuration for Terraform,
   rerun this command to reinitialize your working directory. If you forget, other
   commands will detect it and remind you to do so if necessary.
   Success! The configuration is valid.

   Switched to workspace "34".
   module.local-node[0].random_uuid.instance_uuid: Refreshing state... [id=b91924dd-615f-e137-8059-710cd9fd57ad]
   module.local-node[0].aws_key_pair.deployer: Refreshing state... [id=yeedu34-b91924dd-615f-e137-8059-710cd9fd57ad-ssh-key]
   module.local-node[0].aws_instance.vm[0]: Refreshing state... [id=i-081774035e3470cd6]

   Note: Objects have changed outside of Terraform
   Terraform detected the following changes made outside of Terraform since the
   last "terraform apply":
     # module.local-node[0].aws_key_pair.deployer has been changed
     ~ resource "aws_key_pair" "deployer" {
           id          = "yeedu34-b91924dd-615f-e137-8059-710cd9fd57ad-ssh-key"
         + tags        = {}
           # (7 unchanged attributes hidden)
       }
   Unless you have made equivalent changes to your configuration, or ignored the
   relevant attributes using ignore_changes, the following plan may include
   actions to undo or respond to these changes.

Job
===

Spark Job Configuration
-----------------------

+----------------------------------+----------------------------------+
| Command Name                     | Utility                          |
+==================================+==================================+
| `create-conf <#create-conf-1>`__ | To create a Spark Job            |
|                                  | Configuration.                   |
+----------------------------------+----------------------------------+
| `list-confs <#list-confs-1>`__   | To list all the available Spark  |
|                                  | Job Configurations.              |
+----------------------------------+----------------------------------+
| `get-conf <#get-conf-1>`__       | To get information about a       |
|                                  | specific Spark Job               |
|                                  | Configuration.                   |
+----------------------------------+----------------------------------+
| `edit-conf <#edit-conf-1>`__     | To edit a Spark Job              |
|                                  | Configuration.                   |
+----------------------------------+----------------------------------+
| `delete-conf <#delete-conf>`__   | To delete a specific Spark Job   |
|                                  | Configuration.                   |
+----------------------------------+----------------------------------+

.. _create-conf-1:

create-conf
~~~~~~~~~~~

.. code-block:: bash

   yeedu job create-conf -h

.. code-block:: bash

   usage:  create-conf [-h] --cluster_id CLUSTER_ID --name NAME [--files [FILES]]
                       [--properties-file [PROPERTIES_FILE]] [--conf CONF [CONF ...]]
                       [--packages [PACKAGES]] [--repositories [REPOSITORIES]]
                       [--jars [JARS]] [--archives [ARCHIVES]] --deploy-mode client,cluster
                       [--driver-memory [DRIVER_MEMORY]]
                       [--driver-java-options [DRIVER_JAVA_OPTIONS]]
                       [--driver-library-path [DRIVER_LIBRARY_PATH]]
                       [--driver-class-path [DRIVER_CLASS_PATH]]
                       [--executor-memory [EXECUTOR_MEMORY]]
                       [--driver-cores [DRIVER_CORES]]
                       [--total-executor-cores [TOTAL_EXECUTOR_CORES]]
                       [--executor-cores [EXECUTOR_CORES]]
                       [--num-executors [NUM_EXECUTORS]] [--principal [PRINCIPAL]]
                       [--keytab [KEYTAB]] [--queue [QUEUE]] [--class-name [CLASS_NAME]]
                       [--command [COMMAND]] [--arguments [ARGUMENTS]]
                       [--raw-scala-code RAW_SCALA_CODE]
                       [--max_concurrency MAX_CONCURRENCY]
                       [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cluster_id CLUSTER_ID
                           Provide cluster_id to create a Spark Job Configuration.
     --name NAME           Provide name to create a Spark Job Configuration.
     --files [FILES]       Provide files to create a Spark Job Configuration.
     --properties-file [PROPERTIES_FILE]
                           Provide properties-file to create a Spark Job Configuration.
     --conf CONF [CONF ...]
                           Provide conf to create a Spark Job Configuration.
     --packages [PACKAGES]
                           Provide packages to create a Spark Job Configuration.
     --repositories [REPOSITORIES]
                           Provide repositories to create a Spark Job Configuration.
     --jars [JARS]         Provide jars to create a Spark Job Configuration.
     --archives [ARCHIVES]
                           Provide archives to create a Spark Job Configuration.
     --deploy-mode client,cluster
                           Provide deploy-mode to create a Spark Job Configuration.
     --driver-memory [DRIVER_MEMORY]
                           Provide driver-memory to create a Spark Job Configuration.
     --driver-java-options [DRIVER_JAVA_OPTIONS]
                           Provide driver-java-options to create a Spark Job Configuration.
     --driver-library-path [DRIVER_LIBRARY_PATH]
                           Provide driver-library-path to create a Spark Job Configuration.
     --driver-class-path [DRIVER_CLASS_PATH]
                           Provide driver-class-path to create a Spark Job Configuration.
     --executor-memory [EXECUTOR_MEMORY]
                           Provide executor-memory to create a Spark Job Configuration.
     --driver-cores [DRIVER_CORES]
                           Provide driver-cores to create a Spark Job Configuration.
     --total-executor-cores [TOTAL_EXECUTOR_CORES]
                           Provide total-executor-cores to create a Spark Job
                           Configuration.
     --executor-cores [EXECUTOR_CORES]
                           Provide executor-cores to create a Spark Job Configuration.
     --num-executors [NUM_EXECUTORS]
                           Provide num-executors to create a Spark Job Configuration.
     --principal [PRINCIPAL]
                           Provide principal to create a Spark Job Configuration.
     --keytab [KEYTAB]     Provide keytab to create a Spark Job Configuration.
     --queue [QUEUE]       Provide queue to create a Spark Job Configuration.
     --class-name [CLASS_NAME]
                           Provide class-name to create a Spark Job Configuration.
     --command [COMMAND]   Provide command to create a Spark Job Configuration.
     --arguments [ARGUMENTS]
                           Provide arguments to create a Spark Job Configuration.
     --raw-scala-code RAW_SCALA_CODE
                           Provide raw-scala-code file path to create a Spark Job
                           Configuration.
     --max_concurrency MAX_CONCURRENCY
                           Provide max_concurrency number to limit the number of jobs
                           submitted.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  create-conf example with all the required and optional arguments
   passed.

.. code-block:: bash

   yeedu job create-conf --cluster_id=34 --name="spark_examples" --deploy-mode="client" --class-name="org.apache.spark.examples.SparkPi" --command="file:///yeedu/object-storage-manager/spark-examples_2.11-2.4.8.jar" --arguments=500

-  Console output

.. code-block:: bash

   {
     "job_conf_id": "63498",
     "name": "spark_examples",
     "cluster_id": "34",
     "max_concurrency": "0",
     "deploy_mode": "client",
     "class_name": "org.apache.spark.examples.SparkPi",
     "command": "file:///yeedu/object-storage-manager/spark-examples_2.11-2.4.8.jar",
     "arguments": "500",
     "rawScalaCode": null,
     "files": null,
     "properties_file": null,
     "conf": null,
     "packages": null,
     "repositories": null,
     "jars": null,
     "archives": null,
     "driver_memory": null,
     "driver_java_options": null,
     "driver_library_path": null,
     "driver_class_path": null,
     "executor_memory": null,
     "driver_cores": null,
     "total_executor_cores": null,
     "executor_cores": null,
     "num_executors": null,
     "principal": null,
     "keytab": null,
     "queue": null,
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:52:46.836Z",
     "from_date": "2023-07-20T11:52:46.836Z",
     "to_date": null
   }

.. _list-confs-1:

list-confs
~~~~~~~~~~

.. code-block:: bash

   yeedu job list-confs -h

.. code-block:: bash

   usage:  list-confs [-h] [--page_number PAGE_NUMBER] [--limit LIMIT]
                      [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --page_number PAGE_NUMBER
                           To list Spark Job Configurations for a specific page_number.
                           (default: 1)
     --limit LIMIT         Provide limit to list number of Spark Job Configurations.
                           (default: 100)
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-confs example with optional arguments passed.

.. code-block:: bash

   yeedu job list-confs --limit=2

-  Console output

.. code-block:: bash

   {
     "data": [
       {
         "job_conf_id": "63498",
         "name": "spark_examples",
         "cluster_id": "34",
         "deploy_mode": "client",
         "max_concurrency": "0",
         "class_name": "org.apache.spark.examples.SparkPi",
         "command": "file:///yeedu/object-storage-manager/spark-examples_2.11-2.4.8.jar",
         "arguments": "500",
         "rawScalaCode": null,
         "files": null,
         "properties_file": null,
         "conf": null,
         "packages": null,
         "repositories": null,
         "jars": null,
         "archives": null,
         "driver_memory": null,
         "driver_java_options": null,
         "driver_library_path": null,
         "driver_class_path": null,
         "executor_memory": null,
         "driver_cores": null,
         "total_executor_cores": null,
         "executor_cores": null,
         "num_executors": null,
         "principal": null,
         "keytab": null,
         "queue": null,
         "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
         "created_by": {
           "user_id": "1",
           "username": "YSU0000"
         },
         "modified_by": {
           "user_id": "1",
           "username": "YSU0000"
         },
         "last_update_date": "2023-07-20T11:52:46.836Z",
         "from_date": "2023-07-20T11:52:46.836Z",
         "to_date": null
       }
     ],
     "result_set": {
       "current_page": 1,
       "total_objects": 1,
       "total_pages": 1,
       "limit": 2
     }
   }

.. _get-conf-1:

get-conf
~~~~~~~~

.. code-block:: bash

   yeedu job get-conf -h

.. code-block:: bash

   usage:  get-conf [-h] [--job_conf_id JOB_CONF_ID] [--job_conf_name JOB_CONF_NAME]
                    [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --job_conf_id JOB_CONF_ID
                           Provide an id to get information about a specific Spark Job
                           Configuration.
     --job_conf_name JOB_CONF_NAME
                           Provide name to get information about a specific Spark Job
                           Configuration.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-conf example with one of the required '--job_conf_id' arguments
   passed.

.. code-block:: bash

   yeedu job get-conf --job_conf_id=63498

-  Console output

.. code-block:: bash

   {
     "job_conf_id": "63498",
     "name": "spark_examples",
     "cluster_id": "34",
     "deploy_mode": "client",
     "max_concurrency": "0",
     "class_name": "org.apache.spark.examples.SparkPi",
     "command": "file:///yeedu/object-storage-manager/spark-examples_2.11-2.4.8.jar",
     "arguments": "500",
     "rawScalaCode": null,
     "files": null,
     "properties_file": null,
     "conf": null,
     "packages": null,
     "repositories": null,
     "jars": null,
     "archives": null,
     "driver_memory": null,
     "driver_java_options": null,
     "driver_library_path": null,
     "driver_class_path": null,
     "executor_memory": null,
     "driver_cores": null,
     "total_executor_cores": null,
     "executor_cores": null,
     "num_executors": null,
     "principal": null,
     "keytab": null,
     "queue": null,
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "modified_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "last_update_date": "2023-07-20T11:52:46.836Z",
     "from_date": "2023-07-20T11:52:46.836Z",
     "to_date": null
   }

.. _edit-conf-1:

edit-conf
~~~~~~~~~

.. code-block:: bash

   yeedu job edit-conf -h

.. code-block:: bash

   usage:  edit-conf [-h] [--job_conf_id JOB_CONF_ID] [--job_conf_name JOB_CONF_NAME]
                     [--cluster_id CLUSTER_ID] [--cluster_name CLUSTER_NAME]
                     [--files [FILES]] [--properties-file [PROPERTIES_FILE]]
                     [--conf CONF [CONF ...]] [--packages [PACKAGES]]
                     [--repositories [REPOSITORIES]] [--jars [JARS]]
                     [--archives [ARCHIVES]] [--deploy-mode client,cluster]
                     [--driver-memory [DRIVER_MEMORY]]
                     [--driver-java-options [DRIVER_JAVA_OPTIONS]]
                     [--driver-library-path [DRIVER_LIBRARY_PATH]]
                     [--driver-class-path [DRIVER_CLASS_PATH]]
                     [--executor-memory [EXECUTOR_MEMORY]] [--driver-cores [DRIVER_CORES]]
                     [--total-executor-cores [TOTAL_EXECUTOR_CORES]]
                     [--executor-cores [EXECUTOR_CORES]] [--num-executors [NUM_EXECUTORS]]
                     [--principal [PRINCIPAL]] [--keytab [KEYTAB]] [--queue [QUEUE]]
                     [--class-name [CLASS_NAME]] [--name [NAME]] [--command [COMMAND]]
                     [--arguments [ARGUMENTS]] [--raw-scala-code RAW_SCALA_CODE]
                     [--max_concurrency MAX_CONCURRENCY] [--json-output [{pretty,default}]]
                     [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --job_conf_id JOB_CONF_ID
                           Provide Spark Job Config Id to edit a Spark Job Configuration.
     --job_conf_name JOB_CONF_NAME
                           Provide Spark Job Config Name to edit a Spark Job Configuration.
     --cluster_id CLUSTER_ID
                           Provide Cluster Id to edit in a Spark Job Configuration.
     --cluster_name CLUSTER_NAME
                           Provide Cluster Name to edit in a Spark Job Configuration.
     --files [FILES]       Provide files to edit in a Spark Job Configuration.
     --properties-file [PROPERTIES_FILE]
                           Provide properties-file to edit in a Spark Job Configuration.
     --conf CONF [CONF ...]
                           Provide conf to edit in a Spark Job Configuration.
     --packages [PACKAGES]
                           Provide packages to edit in a Spark Job Configuration.
     --repositories [REPOSITORIES]
                           Provide repositories to edit in a Spark Job Configuration.
     --jars [JARS]         Provide jars to edit in a Spark Job Configuration.
     --archives [ARCHIVES]
                           Provide archives to edit in a Spark Job Configuration.
     --deploy-mode client,cluster
                           Provide deploy-mode to edit in a Spark Job Configuration.
     --driver-memory [DRIVER_MEMORY]
                           Provide driver-memory to edit in a Spark Job Configuration.
     --driver-java-options [DRIVER_JAVA_OPTIONS]
                           Provide driver-java-options to edit in a Spark Job
                           Configuration.
     --driver-library-path [DRIVER_LIBRARY_PATH]
                           Provide driver-library-path to edit in a Spark Job
                           Configuration.
     --driver-class-path [DRIVER_CLASS_PATH]
                           Provide driver-class-path to edit in a Spark Job Configuration.
     --executor-memory [EXECUTOR_MEMORY]
                           Provide executor-memory to edit in a Spark Job Configuration.
     --driver-cores [DRIVER_CORES]
                           Provide driver-cores to edit in a Spark Job Configuration.
     --total-executor-cores [TOTAL_EXECUTOR_CORES]
                           Provide total-executor-cores to edit in a Spark Job
                           Configuration.
     --executor-cores [EXECUTOR_CORES]
                           Provide executor-cores to edit in a Spark Job Configuration.
     --num-executors [NUM_EXECUTORS]
                           Provide num-executors to edit in a Spark Job Configuration.
     --principal [PRINCIPAL]
                           Provide principal to edit in a Spark Job Configuration.
     --keytab [KEYTAB]     Provide keytab to edit in a Spark Job Configuration.
     --queue [QUEUE]       Provide queue to edit in a Spark Job Configuration.
     --class-name [CLASS_NAME]
                           Provide class-name to edit in a Spark Job Configuration.
     --name [NAME]         Provide name to edit in a Spark Job Configuration.
     --command [COMMAND]   Provide command to edit in a Spark Job Configuration.
     --arguments [ARGUMENTS]
                           Provide arguments to edit in a Spark Job Configuration.
     --raw-scala-code RAW_SCALA_CODE
                           Provide raw-scala-code file path to edit in a Spark Job
                           Configuration.
     --max_concurrency MAX_CONCURRENCY
                           Provide max_concurrency number to limit the number of jobs
                           submitted.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  edit-conf example with one of the required '--job_conf_name' argument
   and other optional argument is passed which is to be updated.

.. code-block:: bash

   yeedu job edit-conf --job_conf_name="spark_examples" --arguments=1000

-  Console output

.. code-block:: bash

   {
     "job_conf_id": "63498",
     "name": "spark_examples",
     "cluster_id": "34",
     "max_concurrency": "0",
     "deploy_mode": "client",
     "class_name": "org.apache.spark.examples.SparkPi",
     "command": "file:///yeedu/object-storage-manager/spark-examples_2.11-2.4.8.jar",
     "arguments": "1000",
     "rawScalaCode": null,
     "files": null,
     "properties_file": null,
     "conf": null,
     "packages": null,
     "repositories": null,
     "jars": null,
     "archives": null,
     "driver_memory": null,
     "driver_java_options": null,
     "driver_library_path": null,
     "driver_class_path": null,
     "executor_memory": null,
     "driver_cores": null,
     "total_executor_cores": null,
     "executor_cores": null,
     "num_executors": null,
     "principal": null,
     "keytab": null,
     "queue": null,
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:55:09.338Z",
     "from_date": "2023-07-20T11:52:46.836Z",
     "to_date": null
   }

delete-conf
~~~~~~~~~~~

.. code-block:: bash

   yeedu job delete-conf -h

.. code-block:: bash

   usage:  delete-conf [-h] [--job_conf_id JOB_CONF_ID] [--job_conf_name JOB_CONF_NAME]
                       [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --job_conf_id JOB_CONF_ID
                           Provide Job Conf Id to delete a Spark Job Configuration.
     --job_conf_name JOB_CONF_NAME
                           Provide Job Conf Name to delete a Spark Job Configuration.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  delete-conf example with one of the required '--job_conf_id' argument
   passed.

.. code-block:: bash

   yeedu job delete-conf --job_conf_id=2

-  Console output

.. code-block:: bash

   {
     "message": "Deleted Spark Job Config: 2"
   }

Spark Job Instance
------------------

+----------------------+----------------------------------------------+
| Command Name         | Utility                                      |
+======================+==============================================+
| `start <#start-1>`__ | To run an Apache Spark Job.                  |
+----------------------+----------------------------------------------+
| `list <#list-1>`__   | To list all the available Apache Spark Job   |
|                      | Instances.                                   |
+----------------------+----------------------------------------------+
| `get <#get-1>`__     | To get information about a specific Apache   |
|                      | Spark Job Instance.                          |
+----------------------+----------------------------------------------+
| `kill <#kill>`__     | To kill a specific Apache Spark Job          |
|                      | Instance.                                    |
+----------------------+----------------------------------------------+
| `logs <#logs-1>`__   | To download Spark Job Instance logs for      |
|                      | specific Spark Job Instance Id.              |
+----------------------+----------------------------------------------+

.. _start-1:

start
~~~~~

.. code-block:: bash

   yeedu job start -h

.. code-block:: bash

   usage:  start [-h] [--job_conf_id JOB_CONF_ID] [--job_conf_name JOB_CONF_NAME]
                 [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --job_conf_id JOB_CONF_ID
                           To run an Apache Spark Job, enter job_conf_id.
     --job_conf_name JOB_CONF_NAME
                           To run an Apache Spark Job, enter job_conf_name.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  start example with one of the required argument passed.

.. code-block:: bash

   yeedu job start --job_conf_id=63498

-  Console output

.. code-block:: bash

   {
     "job_id": "63575",
     "job_conf_id": "63498",
     "history_engine_cluster_instance_id": "34",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T11:56:26.303Z",
     "from_date": "2023-07-20T11:56:26.303Z",
     "to_date": null
   }

.. _list-1:

list
~~~~

.. code-block:: bash

   yeedu job list -h

.. code-block:: bash

   usage:  list [-h] --cluster_id CLUSTER_ID [--job_conf_id JOB_CONF_ID]
                [--job_conf_name JOB_CONF_NAME]
                [--job_status {submitted,running,done,error,terminated,killing,killed}]
                [--page_number PAGE_NUMBER] [--limit LIMIT]
                [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --cluster_id CLUSTER_ID
                           To list Apache Spark Job of a specific cluster_id.
     --job_conf_id JOB_CONF_ID
                           To list Apache Spark Job of a specific job_conf_id.
     --job_conf_name JOB_CONF_NAME
                           To list Apache Spark Job of a specific job_conf_name.
     --job_status {submitted,running,done,error,terminated,killing,killed}
                           To list Apache Spark Job for a specific Spark job Status.
     --page_number PAGE_NUMBER
                           To list Apache Spark Job for a specific page_number. (default: 1)
     --limit LIMIT         Provide limit to list number of Apache Spark Job Instance.
                           (default: 100)
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list example to list spark jobs of a paricular engine cluster
   instance.

.. code-block:: bash

   yeedu job list --cluster_id=1 --limit=5

-  Console output

.. code-block:: bash

   {
     "data": [
       {
         "job_id": 63575,
         "job_application_id": null,
         "job_status": "SUBMITTED",
         "cluster_id": "34",
         "job_conf": {
           "job_conf_id": 63498,
           "name": "spark_examples",
           "max_concurrency": 0,
           "deploy_mode": "client",
           "class_name": "org.apache.spark.examples.SparkPi",
           "command": "file:///yeedu/object-storage-manager/spark-examples_2.11-2.4.8.jar",
           "arguments": "1000",
           "rawScalaCode": null,
           "files": null,
           "properties_file": null,
           "conf": null,
           "packages": null,
           "repositories": null,
           "jars": null,
           "archives": null,
           "driver_memory": null,
           "driver_java_options": null,
           "driver_library_path": null,
           "driver_class_path": null,
           "executor_memory": null,
           "driver_cores": null,
           "total_executor_cores": null,
           "executor_cores": null,
           "num_executors": null,
           "principal": null,
           "keytab": null,
           "queue": null
         },
         "workflow_job_instance_details": {
           "workflow_job_instance_status": {
             "workflow_job_instance_id": 62043,
             "workflow_job_id": 62043,
             "status": "SENT",
             "from_date": "2023-07-20T11:56:26.303763+00:00",
             "to_date": "infinity"
           }
         },
         "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
         "created_by": {
           "user_id": 1,
           "username": "YSU0000"
         },
         "modified_by": {
           "user_id": 1,
           "username": "YSU0000"
         },
         "last_update_date": "2023-07-20T11:56:26.303763+00:00",
         "from_date": "2023-07-20T11:56:26.303763+00:00",
         "to_date": "infinity"
       }
     ],
     "result_set": {
       "current_page": 1,
       "total_objects": 1,
       "total_pages": 1,
       "limit": 5
     }
   }

-  list example to list spark jobs of a paricular engine cluster
   instance having specific spark job status.

.. code-block:: bash

   yeedu job list --cluster_id=1 --job_status=running --limit=1

-  Console output

.. code-block:: bash

   {
     "data": [
       {
         "job_id": 3,
         "job_application_id": "local-1676966563563",
         "job_status": "RUNNING",
         "cluster_id": "1",
         "job_conf": {
           "job_conf_id": 1,
           "name": "resize_job",
           "deploy_mode": "client",
           "class_name": "SampleResizeJar",
           "command": "file:///yeedu/object-storage-manager/SampleResizeJar-assembly-0.1.0-SNAPSHOT.jar",
           "arguments": null,
           "rawScalaCode": null,
           "files": null,
           "properties_file": null,
           "conf": null,
           "packages": null,
           "repositories": null,
           "jars": null,
           "archives": null,
           "driver_memory": "10G",
           "driver_java_options": "-Dderby.system.home=/yeedu/spark_metastores/1676966162",
           "driver_library_path": null,
           "driver_class_path": null,
           "executor_memory": null,
           "driver_cores": null,
           "total_executor_cores": null,
           "executor_cores": null,
           "num_executors": null,
           "principal": null,
           "keytab": null,
           "queue": null
         },
         "workflow_job_instance_details": {
           "workflow_job_instance_status": {
             "workflow_job_instance_id": 4,
             "workflow_job_id": 4,
             "status": "EXECUTING",
             "from_date": "2023-04-06T09:13:48.376291+00:00",
             "to_date": "infinity"
           },
           "workflow_execution_process": {
             "machine_pid_number": "66",
             "machine_hostname": "yeedu1-ceaa31b4-37a0-3c6a-9797-61b11d0614da",
             "machine_id": "ceaa31b4-37a0-3c6a-9797-61b11d0614da",
             "machine_pid_user": "root",
             "machine_node_number": "2"
           }
         },
         "tenant_id": "be2a7d36-f555-4f78-b1bd-eafeefc285db",
         "created_by": {
           "user_id": 1,
           "username": "YSU0000"
         },
         "modified_by": {
           "user_id": 1,
           "username": "YSU0000"
         },
         "last_update_date": "2023-04-06T09:13:48.376291+00:00",
         "from_date": "2023-04-06T09:13:48.376291+00:00",
         "to_date": "infinity"
       }
     ],
     "result_set": {
       "current_page": 1,
       "total_objects": 3,
       "total_pages": 3,
       "limit": 1,
       "next_page": 2
     }
   }

.. _get-1:

get
~~~

.. code-block:: bash

   yeedu job get -h

.. code-block:: bash

   usage:  get [-h] --job_id JOB_ID [--json-output [{pretty,default}]]
               [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --job_id JOB_ID       Provide an job_id to get information about a specific Apache
                           Spark Job Instance.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get example with the required '--spark_job_instance_id' arguments
   passed.

.. code-block:: bash

   yeedu job get --job_id=63575

-  Console output

.. code-block:: bash

   {
     "job_id": 63575,
     "job_application_id": "local-1676966563563",
     "job_status": "RUNNING",
     "cluster_id": "34",
     "job_conf": {
       "job_conf_id": 63498,
       "name": "spark_examples",
       "max_concurrency": 0,
       "deploy_mode": "client",
       "class_name": "org.apache.spark.examples.SparkPi",
       "command": "file:///yeedu/object-storage-manager/spark-examples_2.11-2.4.8.jar",
       "arguments": "1000",
       "rawScalaCode": null,
       "files": null,
       "properties_file": null,
       "conf": null,
       "packages": null,
       "repositories": null,
       "jars": null,
       "archives": null,
       "driver_memory": null,
       "driver_java_options": null,
       "driver_library_path": null,
       "driver_class_path": null,
       "executor_memory": null,
       "driver_cores": null,
       "total_executor_cores": null,
       "executor_cores": null,
       "num_executors": null,
       "principal": null,
       "keytab": null,
       "queue": null
     }
     "workflow_job_instance_details": {
       "workflow_job_instance_status": {
         "workflow_job_instance_id": 62043,
         "workflow_job_id": 62043,
         "status": "EXECUTING",
         "from_date": "2023-07-20T11:56:26.303763+00:00",
         "to_date": "infinity"
       },
       "workflow_execution_process": {
         "machine_pid_number": "93",
         "machine_hostname": "i-0fd5796fc70d11bf9",
         "machine_id": "37a886f2-a5be-081e-3d46-ccef1454ef5e",
         "machine_pid_user": "root",
         "machine_node_number": "0"
       }
     },
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by": {
       "user_id": 1,
       "username": "YSU0000"
     },
     "modified_by": {
       "user_id": 1,
       "username": "YSU0000"
     },
     "last_update_date": "2023-07-20T11:56:26.303763+00:00",
     "from_date": "2023-07-20T11:56:26.303763+00:00",
     "to_date": "2023-07-20T11:58:09.702464+00:00"
   }

kill
~~~~

.. code-block:: bash

   yeedu job kill -h

.. code-block:: bash

   usage:  kill [-h] --job_id JOB_ID [--json-output [{pretty,default}]]
                [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --job_id JOB_ID       Provide an job_id to kill a specific Apache Spark Job Instance.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  kill example with the required '--spark_job_instance_id' argument
   passed.

.. code-block:: bash

   yeedu job kill --job_id=63575

-  Console output

.. code-block:: bash

   {
     "SparkKill": {
       "workflow_job_id": 62043,
       "workflow_job_instance_id": 62043,
       "spark_job_instance_id": 63575,
       "spark_job_id": 63498,
       "compute_engine_id": 34
     }
   }

.. _logs-1:

logs
~~~~

.. code-block:: bash

   yeedu job logs -h

.. code-block:: bash

   usage:  logs [-h] --job_id JOB_ID [--log_type {stdout,stderr}]
                [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --job_id JOB_ID       Provide job_id to download log records.
     --log_type {stdout,stderr}
                           Provide log_type to download Spark Job Instance log records.
                           (default: stdout)
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  logs example with the required '--spark_job_instance_id' arguments
   passed.

.. code-block:: bash

   yeedu job logs --job_id=63576

-  Console output

.. code-block:: bash

   Pi is roughly 3.141698702833974

Workflow Details By Spark Job Application ID
--------------------------------------------

+--------------------------------------+----------------------------------+
| Command Name                         | Utility                          |
+======================================+==================================+
| `get-workflow-job-instance <#get-wor | To get information about a       |
| kflow-job-instance>`__               | specific Workflow Job Instance.  |
+--------------------------------------+----------------------------------+

get-workflow-job-instance
~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu job get-workflow-job-instance -h

.. code-block:: bash

   usage:  get-workflow-job-instance [-h] --job_application_id JOB_APPLICATION_ID
                                     [--json-output [{pretty,default}]]
                                     [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --job_application_id JOB_APPLICATION_ID
                           Provide a job_application_id to get information about a
                           specific Workflow Job Instance.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-workflow-job-instance example with the required
   '--job_application_id' argument passed.

.. code-block:: bash

   yeedu job get-workflow-job-instance --job_application_id="local-1689855445076"

-  Console output

.. code-block:: bash

   {
     "job_id": 63688,
     "job_application_id": "local-1689855445076",
     "job_status": "DONE",
     "compute_engine": 34,
     "cluster_id": "34",
     "workflow_job_instance_details": {
       "workflow_job_instance_status": {
         "workflow_job_instance_id": 62164,
         "workflow_job_id": 62164,
         "status": "DONE",
         "previous_status": [
           "NONE",
           "INIT",
           "SENT",
           "RECEIVED",
           "EXECUTING"
         ],
         "from_date": "2023-07-20T12:18:44.792999+00:00",
         "to_date": "infinity"
       },
       "workflow_execution_process": {
         "machine_pid_number": "765",
         "machine_hostname": "i-0cc7bff64c467f852",
         "machine_id": "76a3d634-5e8f-31a8-b1d4-99e8cc9ae208",
         "machine_pid_user": "root",
         "machine_node_number": "0"
       }
     },
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "created_by": {
       "user_id": 1,
       "username": "YSU0000"
     },
     "modified_by": {
       "user_id": 1,
       "username": "YSU0000"
     },
     "last_update_date": "2023-07-20T12:17:17.444066+00:00",
     "from_date": "2023-07-20T12:17:17.444066+00:00",
     "to_date": "2023-07-20T12:18:44.792999+00:00"
   }

IAM (Identity and Access Management)
====================================

User
----

+--------------------------------------+----------------------------------+
| Command Name                         | Utility                          |
+======================================+==================================+
| `get-user-info <#get-user-info>`__   | To get information about current |
|                                      | session user.                    |
+--------------------------------------+----------------------------------+
| `get-user-roles <#get-user-roles>`__ | To get all the roles of current  |
|                                      | session user.                    |
+--------------------------------------+----------------------------------+

get-user-info
~~~~~~~~~~~~~

.. code-block:: bash

   yeedu iam get-user-info -h

.. code-block:: bash

   usage:  get-user-info [-h] [--json-output [{pretty,default}]]
                         [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-user-info example without optional arguments passed for output
   format.

.. code-block:: bash

   yeedu iam get-user-info

-  Console output

.. code-block:: bash

   {
     "user_id": "1",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "username": "USER",
     "email": "user@yeedu.com",
     "group_info": [
       {
         "group_id": 1,
         "groupname": "yeedu-user"
       }
     ],
     "from_date": "2023-03-14T10:00:47.406Z",
     "to_date": null
   }

get-user-roles
~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu iam get-user-roles -h

.. code-block:: bash

   usage:  get-user-roles [-h] [--json-output [{pretty,default}]]
                          [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-user-roles example without optional arguments passed for output
   format.

.. code-block:: bash

   yeedu iam get-user-roles

-  Console output

.. code-block:: bash

   {
     "user_id": 2,
     "username": "RU0000",
     "user_roles": [
       "Resource User"
     ],
     "group_roles": [
       null
     ]
   }

Shared Platform and Admin
-------------------------

+----------------------------------+----------------------------------+
| Command Name                     | Utility                          |
+==================================+==================================+
| `sync-user <#sync-user>`__       | To get the information about a   |
|                                  | specific User.                   |
+----------------------------------+----------------------------------+
| `sync-group <#sync-group>`__     | To get the information about a   |
|                                  | specific Group.                  |
+----------------------------------+----------------------------------+
| `list-user-groups <#list-user-gr | To list all the Groups for a     |
| oups>`__                         | specific User.                   |
+----------------------------------+----------------------------------+
| `list-users <#list-users>`__     | To list all the available Users. |
+----------------------------------+----------------------------------+
| `list-group-users <#list-group-u | To list all the Users for a      |
| sers>`__                         | specific Group.                  |
+----------------------------------+----------------------------------+
| `list-groups <#list-groups>`__   | To list all the available        |
|                                  | Groups.                          |
+----------------------------------+----------------------------------+

sync-user
~~~~~~~~~

.. code-block:: bash

   yeedu iam sync-user -h

.. code-block:: bash

   usage:  sync-user [-h] --username USERNAME [--json-output [{pretty,default}]]
                     [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --username USERNAME   Provide username to get information about a specific User.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  sync-user example with required argument '--username' passed.

.. code-block:: bash

   yeedu iam sync-user --username="USER"

-  Console output

.. code-block:: bash

   {
     "user_id": "2",
     "username": "USER",
     "email": "user@yeedu.com",
     "from_date": "2023-03-14T10:03:06.200Z",
     "to_date": null
   }

sync-group
~~~~~~~~~~

.. code-block:: bash

   yeedu iam sync-group -h

.. code-block:: bash

   usage:  sync-group [-h] --groupname GROUPNAME [--json-output [{pretty,default}]]
                      [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --groupname GROUPNAME
                           Provide groupname to get information about a specific Group.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  sync-group example with required argument '--groupname' passed.

.. code-block:: bash

   yeedu iam sync-group --groupname="yeedu-user"

-  Console output

.. code-block:: bash

   {
     "group_id": "3",
     "group_name": "yeedu-user",
     "from_date": "2023-03-15T14:30:20.723Z",
     "to_date": null
   }

list-user-groups
~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu iam list-user-groups -h

.. code-block:: bash

   usage:  list-user-groups [-h] --user_id USER_ID [--json-output [{pretty,default}]]
                            [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --user_id USER_ID     Provide user_id to list all the Groups for a specific User.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-user-groups example with required argument '--user_id' passed.

.. code-block:: bash

   yeedu iam list-user-groups --user_id=2

-  Console output

.. code-block:: bash

   {
     "user_id": 2,
     "username": "RU0000",
     "groups": [
       "yeedu-user"
     ]
   }

list-users
~~~~~~~~~~

.. code-block:: bash

   yeedu iam list-users -h

.. code-block:: bash

   usage:  list-users [-h] [--json-output [{pretty,default}]]
                      [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-users example without optional arguments passed for output
   format.

.. code-block:: bash

   yeedu iam list-users

-  Console output

.. code-block:: bash

   [
     {
       "user_id": "1",
       "username": "YA0000",
       "email": "ya0000@yeedu.com",
       "from_date": "2023-03-14T10:03:06.200Z",
       "to_date": null
     },
     {
       "user_id": "2",
       "username": "RM0000",
       "email": "rm0000@yeedu.com",
       "from_date": "2023-03-14T10:03:11.934Z",
       "to_date": null
     }
   ]

list-group-users
~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu iam list-group-users -h

.. code-block:: bash

   usage:  list-group-users [-h] --group_id GROUP_ID [--json-output [{pretty,default}]]
                            [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --group_id GROUP_ID   Provide group_id to list all the Users for a specific Group.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-group-users example with required argument '--group_id' passed.

.. code-block:: bash

   yeedu iam list-group-users --group_id=2

-  Console output

.. code-block:: bash

   {
     "group_id": 2,
     "group_name": "yeedu-provider",
     "users": [
       "YSU0000",
       "RP0000"
     ]
   }

list-groups
~~~~~~~~~~~

.. code-block:: bash

   yeedu iam list-groups -h

.. code-block:: bash

   usage:  list-groups [-h] [--json-output [{pretty,default}]]
                       [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-groups example without optional arguments passed for output
   format.

.. code-block:: bash

   yeedu iam list-groups

-  Console output

.. code-block:: bash

   [
     {
       "group_id": "1",
       "group_name": "yeedu-manager",
       "from_date": "2023-03-15T14:30:20.723Z",
       "to_date": null
     },
     {
       "group_id": "2",
       "group_name": "yeedu-provider",
       "from_date": "2023-03-15T14:30:20.723Z",
       "to_date": null
     },
     {
       "group_id": "3",
       "group_name": "yeedu-user",
       "from_date": "2023-03-15T14:30:20.723Z",
       "to_date": null
     }
   ]

.. _lookup-1:

Lookup
------

+------------------------------------------+----------------------------------+
| Command Name                             | Utility                          |
+==========================================+==================================+
| `list-resources <#list-resources>`__     | To get all the resources.        |
+------------------------------------------+----------------------------------+
| `get-resource <#get-resource>`__         | To get resource details for a    |
|                                          | specific Resource.               |
+------------------------------------------+----------------------------------+
| `list-permissions <#list-permissions>`__ | To get all the Permission Types. |
+------------------------------------------+----------------------------------+
| `get-permission <#get-permission>`__     | To get resource details for a    |
|                                          | specific Permission Type.        |
+------------------------------------------+----------------------------------+
| `list-roles <#list-roles>`__             | To get all the Roles.            |
+------------------------------------------+----------------------------------+
| `get-role <#get-role>`__                 | To get resource details for a    |
|                                          | specific Role.                   |
+------------------------------------------+----------------------------------+
| `list-rules <#list-rules>`__             | To get all the Rules.            |
+------------------------------------------+----------------------------------+
| `get-rule <#get-rule>`__                 | To get resource details for a    |
|                                          | specific Rule.                   |
+------------------------------------------+----------------------------------+

list-resources
~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu iam list-resources -h

.. code-block:: bash

   usage:  list-resources [-h] [--json-output [{pretty,default}]]
                          [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-resources example without optional argument passed for output
   format.

.. code-block:: bash

   yeedu iam list-resources

-  Console output

.. code-block:: bash

   [
     {
       "resource_id": 0,
       "resource_path": "/api/v1/lookup_cloud_providers",
       "from_date": "2023-07-14T13:44:14.783Z",
       "to_date": null
     },
     {
       "resource_id": 1,
       "resource_path": "/api/v1/lookup_cloud_providers/:cloud_provider_id",
       "from_date": "2023-07-14T13:44:14.783Z",
       "to_date": null
     },
     ...
     {
       "resource_id": 102,
       "resource_path": "/api/v1/permission/:auth_permissions_type_id/resource/:auth_resources_id/rule/:id",
       "from_date": "2023-07-14T13:44:14.783Z",
       "to_date": null
     }
   ]

get-resource
~~~~~~~~~~~~

.. code-block:: bash

   yeedu iam get-resource -h

.. code-block:: bash

   usage:  get-resource [-h] --resource_id RESOURCE_ID [--json-output [{pretty,default}]]
                        [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --resource_id RESOURCE_ID
                           Provide the resource_id to get information about a specific
                           Resource.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-resource example with required argument '--resource_id' passed.

.. code-block:: bash

   yeedu iam get-resource --resource_id=18

-  Console output

.. code-block:: bash

   {
     "resource_id": 18,
     "resource_path": "/api/v1/machine/network",
     "from_date": "2023-07-14T13:44:14.783Z",
     "to_date": null
   }

list-permissions
~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu iam list-permissions -h

.. code-block:: bash

   usage:  list-permissions [-h] [--json-output [{pretty,default}]]
                            [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-permissions example without optional argument passed for output
   format.

.. code-block:: bash

   yeedu iam list-permissions

-  Console output

.. code-block:: bash

   [
     {
       "permission_id": 0,
       "permission": "GET",
       "description": "To list a resource",
       "from_date": "2023-07-14T13:44:14.282Z",
       "to_date": null
     },
     ...
     {
       "permission_id": 3,
       "permission": "DELETE",
       "description": "To delete a resource",
       "from_date": "2023-07-14T13:44:14.282Z",
       "to_date": null
     }
   ]

get-permission
~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu iam get-permission -h

.. code-block:: bash

   usage:  get-permission [-h] --permission_id PERMISSION_ID
                          [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --permission_id PERMISSION_ID
                           Provide the permission_id to get information about a specific
                           Permission Type.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-permission example with required argument '--permission_id'
   passed.

.. code-block:: bash

   yeedu iam get-permission --permission_id=1

-  Console output

.. code-block:: bash

   {
     "permission_id": 1,
     "permission": "POST",
     "description": "To create a resource",
     "from_date": "2023-07-14T13:44:14.282Z",
     "to_date": null
   }

list-roles
~~~~~~~~~~

.. code-block:: bash

   yeedu iam list-roles -h

.. code-block:: bash

   usage:  list-roles [-h] [--json-output [{pretty,default}]]
                      [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-roles example without optional arguments passed for output
   format.

.. code-block:: bash

   yeedu iam list-roles

-  Console output

.. code-block:: bash

   [
     {
       "role_id": 0,
       "role": "Resource Manager",
       "description": "GET (Lookup, Volume Config, Network Config, Boot Disk Image Config, Machine Config, Credentials Config, Object Storage Manager, Object Storage Manager Files, Hive Metastore Config, Cluster Configuration, Cluster Instance, Spark Job Config, Spark Job Instance, User) PUT (Volume Config, Network Config, Machine Config, Credentials Config, Object Storage Manager, Hive Metastore Config, Cluster Configuration) POST (Volume Config, Network Config, Boot Disk Image Config, Machine Config, Credentials Config, Object Storage Manager, Hive Metastore Config, Cluster Configuration) DELETE (Credentials Config, Object Storage Manager)",
       "from_date": "2023-07-14T13:44:15.285Z",
       "to_date": null
     },
     ...
     {
       "role_id": 4,
       "role": "Platform Admin",
       "description": "GET/PUT/POST/DELETE (Lookup, Volume Config, Network Config, Boot Disk Image Config, Machine Config, Credentials Config, Object Storage Manager, Object Storage Manager Files, Hive Metastore Config, Cluster Configuration, Cluster Instance, Spark Job Config, Spark Job Instance, User, Admin, Shared Platform and Admin Resources, Platform Admin, IAM Lookup). Responsible to manage tenants and can access any endpoint.",
       "from_date": "2023-07-14T13:44:15.285Z",
       "to_date": null
     }
   ]

get-role
~~~~~~~~

.. code-block:: bash

   yeedu iam get-role -h

.. code-block:: bash

   usage:  get-role [-h] --role_id ROLE_ID [--json-output [{pretty,default}]]
                    [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --role_id ROLE_ID     Provide the role_id to get information about a specific Role.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-role example with required argument '--role_id' passed.

.. code-block:: bash

   yeedu iam get-role --role_id=1

-  Console output

.. code-block:: bash

   {
     "role_id": 1,
     "role": "Resource Provider",
     "description": "GET (Lookup, Volume Config, Network Config, Boot Disk Image Config, Machine Config, Credentials Config, Object Storage Manager, Object Storage Manager Files, Hive Metastore Config, Cluster Configuration, Cluster Instance, Spark Job Config, Spark Job Instance, User) POST/PUT (Cluster Instance)",
     "from_date": "2023-07-14T13:44:15.285Z",
     "to_date": null
   }

list-rules
~~~~~~~~~~

.. code-block:: bash

   yeedu iam list-rules -h

.. code-block:: bash

   usage:  list-rules [-h] [--json-output [{pretty,default}]]
                      [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-rules example without optional arguments passed for output
   format.

.. code-block:: bash

   yeedu iam list-rules

-  Console output

.. code-block:: bash

   [
     {
       "rule_id": "0",
       "permission_type": {
         "permission_id": 0,
         "permission": "GET",
         "description": "To list a resource"
       },
       "resource": {
         "resource_id": 0,
         "resource_path": "/api/v1/lookup_cloud_providers"
       },
       "role": {
         "role_id": 0,
         "role": "Resource Manager",
         "description": "GET (Lookup, Volume Config, Network Config, Boot Disk Image Config, Machine Config, Credentials Config, Object Storage Manager, Object Storage Manager Files, Hive Metastore Config, Cluster Configuration, Cluster Instance, Spark Job Config, Spark Job Instance, User) PUT (Volume Config, Network Config, Machine Config, Credentials Config, Object Storage Manager, Hive Metastore Config, Cluster Configuration) POST (Volume Config, Network Config, Boot Disk Image Config, Machine Config, Credentials Config, Object Storage Manager, Hive Metastore Config, Cluster Configuration) DELETE (Credentials Config, Object Storage Manager)"
       },
       "from_date": "2023-07-14T13:44:15.788Z",
       "to_date": null
     },
     ...
     {
       "rule_id": "382",
       "permission_type": {
         "permission_id": 1,
         "permission": "POST",
         "description": "To create a resource"
       },
       "resource": {
         "resource_id": 102,
         "resource_path": "/api/v1/cluster/uptime"
       },
       "role": {
         "role_id": 4,
         "role": "Platform Admin",
         "description": "GET/PUT/POST/DELETE (Lookup, Volume Config, Network Config, Boot Disk Image Config, Machine Config, Credentials Config, Object Storage Manager, Object Storage Manager Files, Hive Metastore Config, Cluster Configuration, Cluster Instance, Spark Job Config, Spark Job Instance, User, Admin, Shared Platform and Admin Resources, Platform Admin, IAM Lookup). Responsible to manage tenants and can access any endpoint."
       },
       "from_date": "2023-07-14T13:44:15.788Z",
       "to_date": null
     }
   ]

get-rule
~~~~~~~~

.. code-block:: bash

   yeedu iam get-rule -h

.. code-block:: bash

   usage:  get-rule [-h] --rule_id RULE_ID [--json-output [{pretty,default}]]
                    [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --rule_id RULE_ID     Provide the rule_id to get information about a specific Rule.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-rule example with required argument '--rule_id' passed.

.. code-block:: bash

   yeedu iam get-rule --rule_id=108

-  Console output

.. code-block:: bash

   {
     "rule_id": "108",
     "permission_type": {
       "permission_id": 0,
       "permission": "GET",
       "description": "To list a resource"
     },
     "resource": {
       "resource_id": 45,
       "resource_path": "/api/v1/spark/job/:job_id"
     },
     "role": {
       "role_id": 1,
       "role": "Resource Provider",
       "description": "GET (Lookup, Volume Config, Network Config, Boot Disk Image Config, Machine Config, Credentials Config, Object Storage Manager, Object Storage Manager Files, Hive Metastore Config, Cluster Configuration, Cluster Instance, Spark Job Config, Spark Job Instance, User) POST/PUT (Cluster Instance)"
     },
     "from_date": "2023-07-14T13:44:15.788Z",
     "to_date": null
   }

Platform-Admin
==============

Tenant
------

+------------------------------------+-------------------------------------+
| Command Name                       | Utility                             |
+====================================+=====================================+
| `create-tenant <#create-tenant>`__ | To create a Tenant.                 |
+------------------------------------+-------------------------------------+
| `list-tenants <#list-tenants-1>`__ | To list all the available Tenants.  |
+------------------------------------+-------------------------------------+
| `get-tenant <#get-tenant>`__       | To get information about a specific |
|                                    | Tenant.                             |
+------------------------------------+-------------------------------------+
| `edit-tenant <#edit-tenant>`__     | To edit a specific Tenant.          |
+------------------------------------+-------------------------------------+
| `delete-tenant <#delete-tenant>`__ | To delete a specific Tenant.        |
+------------------------------------+-------------------------------------+

create-tenant
~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin create-tenant -h

.. code-block:: bash

   usage:  create-tenant [-h] --name NAME [--description DESCRIPTION]
                         [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --name NAME           Provide name to create-tenant.
     --description DESCRIPTION
                           Provide description to create-tenant.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  create-tenant example with all the required and optional arguments
   passed.

.. code-block:: bash

   yeedu platform-admin create-tenant --name="tenant1" --description="Yeedu Tenant-1"

-  Console output

.. code-block:: bash

   {
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "name": "tenant1",
     "description": "Yeedu Tenant-1",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-03-13T12:29:25.982Z",
     "from_date": "2023-03-13T12:29:25.982Z",
     "to_date": null
   }

.. _list-tenants-1:

list-tenants
~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin list-tenants -h

.. code-block:: bash

   usage:  list-tenants [-h] [--json-output [{pretty,default}]]
                        [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-tenants example without optional arguments passed for output
   format.

.. code-block:: bash

   yeedu platform-admin list-tenants

-  Console output

.. code-block:: bash

   [
     {
       "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
       "name": "tenant1",
       "description": "Yeedu Tenant-1",
       "created_by": {
         "user_id": "1",
         "username": "YSU0000"
       },
       "modified_by": {
         "user_id": "1",
         "username": "YSU0000"
       },
       "last_update_date": "2023-07-20T10:56:33.714Z",
       "from_date": "2023-07-20T10:56:33.714Z",
       "to_date": null
     }
   ]

get-tenant
~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin get-tenant -h

.. code-block:: bash

   usage:  get-tenant [-h] --tenant_id TENANT_ID [--json-output [{pretty,default}]]
                      [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide the tenant_id to get information about a specific Tenant.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-tenant example with the required '--tenant_id' arguments passed.

.. code-block:: bash

   yeedu platform-admin get-tenant --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538"

-  Console output

.. code-block:: bash

   {
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "name": "tenant1",
     "description": "Yeedu Tenant-1",
     "created_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "modified_by": {
       "user_id": "1",
       "username": "YSU0000"
     },
     "last_update_date": "2023-07-20T10:56:33.714Z",
     "from_date": "2023-07-20T10:56:33.714Z",
     "to_date": null
   }

edit-tenant
~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin edit-tenant -h

.. code-block:: bash

   usage:  edit-tenant [-h] --tenant_id TENANT_ID [--name [NAME]]
                       [--description [DESCRIPTION]] [--json-output [{pretty,default}]]
                       [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide a specific tenant Id to edit-tenant.
     --name [NAME]         Provide name to edit-tenant.
     --description [DESCRIPTION]
                           Provide description to edit-tenant.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  edit-tenant example with the required '--tenant_id' argument and
   other optional argument is passed which is to be updated.

.. code-block:: bash

   yeedu platform-admin edit-tenant --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538" --description="Yeedu Tenant 1"

-  Console output

.. code-block:: bash

   {
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "name": "tenant1",
     "description": "Yeedu Tenant 1",
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-07-20T12:42:11.131Z",
     "from_date": "2023-07-20T10:56:33.714Z",
     "to_date": null
   }

delete-tenant
~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin delete-tenant -h

.. code-block:: bash

   usage:  delete-tenant [-h] --tenant_id TENANT_ID [--json-output [{pretty,default}]]
                         [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide the tenant_id to delete a specific Tenant.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  delete-tenant example with the required '--tenant_id' argument
   passed.

.. code-block:: bash

   yeedu platform-admin delete-tenant --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538"

-  Console output

.. code-block:: bash

   {
     "message": "Deleted Tenant: 0b5017a9-6099-497f-81ba-d4e537e23538"
   }

.. _user-1:

User
----

+--------------------------------------------+----------------------------------+
| Command Name                               | Utility                          |
+============================================+==================================+
| `list-user-tenants <#list-user-tenants>`__ | To list all the tenants          |
|                                            | associated to an user.           |
+--------------------------------------------+----------------------------------+
| `list-tenant-users <#list-tenant-users>`__ | To list all the users present in |
|                                            | a tenant.                        |
+--------------------------------------------+----------------------------------+
| `get-tenant-user <#get-tenant-user>`__     | To get information about a User  |
|                                            | present in a specific tenant.    |
+--------------------------------------------+----------------------------------+
| `get-user-roles <#get-user-roles-1>`__     | To get all the roles of an User  |
|                                            | present in a specific tenant.    |
+--------------------------------------------+----------------------------------+
| `list-users-roles <#list-users-roles>`__   | To list all the Users Roles in a |
|                                            | specific tenant.                 |
+--------------------------------------------+----------------------------------+
| `get-role-users <#get-role-users>`__       | To get all the users of a Role   |
|                                            | present in a specific tenant.    |
+--------------------------------------------+----------------------------------+
| `create-user-role <#create-user-role>`__   | To create an User Role for a     |
|                                            | specific tenant.                 |
+--------------------------------------------+----------------------------------+
| `delete-user-role <#delete-user-role>`__   | To delete an User Role of a      |
|                                            | specific tenant.                 |
+--------------------------------------------+----------------------------------+

list-user-tenants
~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin list-user-tenants -h

.. code-block:: bash

   usage:  list-user-tenants [-h] --user_id USER_ID [--json-output [{pretty,default}]]
                             [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --user_id USER_ID     Provide User Id to list all the tenants.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-user-tenants example without optional arguments passed for
   output format.

.. code-block:: bash

   yeedu platform-admin list-user-tenants --user_id=1

-  Console output

.. code-block:: bash

   [
     {
       "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
       "name": "tenant1",
       "description": "Yeedu Tenant 1"
     },
     {
       "tenant_id": "066a702d-6b9d-4176-afc5-51c24a651739",
       "name": "tenant2",
       "description": "Yeedu Tenant 2"
     },
     {
       "tenant_id": "328aba9a-92ac-458d-8c27-fe9ea6e5e9ab",
       "name": "tenant3",
       "description": "Yeedu Tenant 3"
     },
     {
       "tenant_id": "6b682ef1-ede4-4d96-bab6-cd008aadd534",
       "name": "tenant4",
       "description": "Yeedu Tenant 4"
     }
   ]

list-tenant-users
~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin list-tenant-users -h

.. code-block:: bash

   usage:  list-tenant-users [-h] --tenant_id TENANT_ID [--page_number PAGE_NUMBER]
                             [--limit LIMIT] [--json-output [{pretty,default}]]
                             [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide Tenant Id to list all the users present in it.
     --page_number PAGE_NUMBER
                           To list tenant users for a specific page_number. (default: 1)
     --limit LIMIT         Provide limit to list number of tenant users. (default: 100)
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-tenant-users example without optional arguments passed for
   output format.

.. code-block:: bash

   yeedu platform-admin list-tenant-users --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538" --limit=2

-  Console output

.. code-block:: bash

   {
     "data": {
       "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
       "users": [
         "YA0000",
         "YSU0000"
       ]
     },
     "result_set": {
       "current_page": 1,
       "total_objects": 2,
       "total_pages": 1,
       "limit": 2
     }
   }

get-tenant-user
~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin get-tenant-user -h

.. code-block:: bash

   usage:  get-tenant-user [-h] --tenant_id TENANT_ID --user_id USER_ID
                           [--json-output [{pretty,default}]]
                           [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide Tenant Id to get information about a specific User.
     --user_id USER_ID     Provide User Id to get information about a specific User.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-tenant-user example with the required '--tenant_id' arguments
   passed.

.. code-block:: bash

   yeedu platform-admin get-tenant-user --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538" --user_id=1

-  Console output

.. code-block:: bash

   {
     "user_id": 1,
     "username": "USER",
     "email": "user@yeedu.com",
     "from_date": "2023-03-14T10:00:47.406628+00:00",
     "to_date": "infinity"
   }

.. _get-user-roles-1:

get-user-roles
~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin get-user-roles -h

.. code-block:: bash

   usage:  get-user-roles [-h] --tenant_id TENANT_ID --user_id USER_ID
                          [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide Tenant Id to get roles of a specific User.
     --user_id USER_ID     Provide User Id to get roles of a specific User.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-user-roles example with the required arguments '--tenant_id' and
   '--user_id' passed.

.. code-block:: bash

   yeedu platform-admin get-user-roles --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538" --user_id=1

-  Console output

.. code-block:: bash

   {
     "user_id": 1,
     "username": "RM0000",
     "user_roles": [
       "Resource Manager"
     ],
     "group_roles": [
       null
     ]
   }

list-users-roles
~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin list-users-roles -h

.. code-block:: bash

   usage:  list-users-roles [-h] --tenant_id TENANT_ID [--page_number PAGE_NUMBER]
                            [--limit LIMIT] [--json-output [{pretty,default}]]
                            [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide Tenant Id to list User roles.
     --page_number PAGE_NUMBER
                           To list users roles for a specific page_number. (default: 1)
     --limit LIMIT         Provide limit to list number of users roles. (default: 100)
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-users-roles example with the required arguments '--tenant_id'
   passed.

.. code-block:: bash

   yeedu platform-admin list-users-roles --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538" --limit=2

-  Console output

.. code-block:: bash

   {
     "data": [
       {
         "user_id": 1,
         "username": "RM0000",
         "user_roles": [
           "Resource Manager"
         ],
         "group_roles": [
           null
         ]
       },
       {
         "user_id": 2,
         "username": "YSU0000",
         "user_roles": [
           "Platform Admin"
         ],
         "group_roles": [
           null
         ]
       }
     ],
     "result_set": {
       "current_page": 1,
       "total_objects": 2,
       "total_pages": 1,
       "limit": 2
     }
   }

get-role-users
~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin get-role-users -h

.. code-block:: bash

   usage:  get-role-users [-h] --tenant_id TENANT_ID --role_id ROLE_ID
                          [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide Tenant Id to get users in a specific Role.
     --role_id ROLE_ID     Provide Role Id to get users in a specific Role.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-role-users example with the required '--tenant_id' arguments
   passed.

.. code-block:: bash

   yeedu platform-admin get-role-users --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538" --role_id=1

-  Console output

.. code-block:: bash

   {
     "role_id": 1,
     "users": [
       "RP0000"
     ]
   }

create-user-role
~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin create-user-role -h

.. code-block:: bash

   usage:  create-user-role [-h] [--tenant_id TENANT_ID] --user_id USER_ID --role_id ROLE_ID
                            [--json-output [{pretty,default}]]
                            [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide Tenant Id to create-user-role.
     --user_id USER_ID     Provide User Id to create-user-role.
     --role_id ROLE_ID     Provide Role Id to create-user-role.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  create-user-role example with all the required and optional arguments
   passed.

.. code-block:: bash

   yeedu platform-admin create-user-role --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538" --user_id=2 --role_id=1

-  Console output

.. code-block:: bash

   {
     "user_roles_id": "2",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "user_id": "2",
     "role_id": 1,
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-03-15T12:50:27.826Z",
     "from_date": "2023-03-15T12:50:27.826Z",
     "to_date": null
   }

delete-user-role
~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin delete-user-role -h

.. code-block:: bash

   usage:  delete-user-role [-h] [--tenant_id TENANT_ID] --user_id USER_ID --role_id ROLE_ID
                            [--json-output [{pretty,default}]]
                            [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide Tenant Id to delete-user-role.
     --user_id USER_ID     Provide User Id to delete-user-role.
     --role_id ROLE_ID     Provide Role Id to delete-user-role.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  delete-user-role example with the required '--tenant_id' argument
   passed.

.. code-block:: bash

   yeedu platform-admin delete-user-role --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538" --user_id=2 --role_id=1

-  Console output

.. code-block:: bash

   {
     "message": "Deleted User Roles for the provided tenant_id: '0b5017a9-6099-497f-81ba-d4e537e23538', user_id: 2 and role_id: 1."
   }

Group
-----

+----------------------------------+----------------------------------+
| Command Name                     | Utility                          |
+==================================+==================================+
| `list-tenant-groups <#list-tenan | To list all the groups present   |
| t-groups>`__                     | in a tenant.                     |
+----------------------------------+----------------------------------+
| `get-tenant-group <#get-tenant-g | To get information about a Group |
| roup>`__                         | present in a specific tenant.    |
+----------------------------------+----------------------------------+
| `get-group-roles <#get-group-rol | To get all the roles of a Group  |
| es>`__                           | present in a specific tenant.    |
+----------------------------------+----------------------------------+
| `list-groups-roles <#list-groups | To list all the Groups Roles in  |
| -roles>`__                       | a specific tenant.               |
+----------------------------------+----------------------------------+
| `get-role-groups <#get-role-grou | To get all the groups having a   |
| ps>`__                           | specific Role present in a       |
|                                  | specific tenant.                 |
+----------------------------------+----------------------------------+
| `create-group-role <#create-grou | To create a Group Role for a     |
| p-role>`__                       | specific tenant.                 |
+----------------------------------+----------------------------------+
| `delete-group-role <#delete-grou | To delete a Group Role of a      |
| p-role>`__                       | specific tenant.                 |
+----------------------------------+----------------------------------+

list-tenant-groups
~~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin list-tenant-groups -h

.. code-block:: bash

   usage:  list-tenant-groups [-h] --tenant_id TENANT_ID [--page_number PAGE_NUMBER]
                              [--limit LIMIT] [--json-output [{pretty,default}]]
                              [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide Tenant Id to list all the groups present in it.
     --page_number PAGE_NUMBER
                           To list tenant groups for a specific page_number. (default: 1)
     --limit LIMIT         Provide limit to list number of tenant groups. (default: 100)
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-tenant-groups example without optional arguments passed for
   output format.

.. code-block:: bash

   yeedu platform-admin list-tenant-groups --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538" --limit=2

-  Console output

.. code-block:: bash

   {
     "data": {
       "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
       "groups": [
         "yeedu-manager",
         "yeedu-user"
       ]
     },
     "result_set": {
       "current_page": 1,
       "total_objects": 2,
       "total_pages": 1,
       "limit": 2
     }
   }

get-tenant-group
~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin get-tenant-group -h

.. code-block:: bash

   usage:  get-tenant-group [-h] --tenant_id TENANT_ID --group_id GROUP_ID
                            [--json-output [{pretty,default}]]
                            [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID Provide Tenant Id to get information about a specific Group.
     --group_id GROUP_ID   Provide Group Id to get information about a specific Group.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-tenant-group example without optional arguments passed for output
   format.

.. code-block:: bash

   yeedu platform-admin get-tenant-group --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538" --group_id=1

-  Console output

.. code-block:: bash

   {
     "group_id": 1,
     "group_name": "yeedu-manager",
     "from_date": "2023-03-15T11:32:17.570658+00:00",
     "to_date": "infinity"
   }

get-group-roles
~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin get-group-roles -h

.. code-block:: bash

   usage:  get-group-roles [-h] --tenant_id TENANT_ID --group_id GROUP_ID
                           [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide Tenant Id to get roles of a specific Group.
     --group_id GROUP_ID   Provide Group Id to get roles of a specific Group.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-group-roles example with the required '--tenant_id' and
   '--group_id' arguments passed.

.. code-block:: bash

   yeedu platform-admin get-group-roles --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538" --group_id=1

-  Console output

.. code-block:: bash

   {
     "group_id": 1,
     "roles": [
       "Resource Manager"
     ]
   }

list-groups-roles
~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin list-groups-roles -h

.. code-block:: bash

   usage:  list-groups-roles [-h] --tenant_id TENANT_ID [--page_number PAGE_NUMBER]
                             [--limit LIMIT] [--json-output [{pretty,default}]]
                             [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide Tenant Id to list Group roles.
     --page_number PAGE_NUMBER
                           To list groups roles for a specific page_number. (default: 1)
     --limit LIMIT         Provide limit to list number of groups roles. (default: 100)
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-groups-roles example with the required arguments '--tenant_id'
   passed.

.. code-block:: bash

   yeedu platform-admin list-groups-roles --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538" --limit=2

-  Console output

.. code-block:: bash

   {
     "data": [
       {
         "group_id": 1,
         "group_name": "yeedu-manager",
         "roles": [
           "Resource Manager"
         ]
       },
       {
         "group_id": 3,
         "group_name": "yeedu-user",
         "roles": [
           "Resource User"
         ]
       }
     ],
     "result_set": {
       "current_page": 1,
       "total_objects": 2,
       "total_pages": 1,
       "limit": 2
     }
   }

get-role-groups
~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin get-role-groups -h

.. code-block:: bash

   usage:  get-role-groups [-h] --tenant_id TENANT_ID --role_id ROLE_ID
                           [--json-output [{pretty,default}]] [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide Tenant Id to get groups in a specific Role.
     --role_id ROLE_ID     Provide Role Id to get groups in a specific Role.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-role-groups example with the required arguments '--tenant_id' and
   '--role_id' passed.

.. code-block:: bash

   yeedu platform-admin get-role-groups --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538" --role_id=0

-  Console output

.. code-block:: bash

   {
     "role_id": 0,
     "groups": [
       "yeedu-manager"
     ]
   }

create-group-role
~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin create-group-role -h

.. code-block:: bash

   usage:  create-group-role [-h] [--tenant_id TENANT_ID] --group_id GROUP_ID --role_id
                             ROLE_ID [--json-output [{pretty,default}]]
                             [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide Tenant Id to create-group-role.
     --group_id GROUP_ID   Provide Group Id to create-group-role.
     --role_id ROLE_ID     Provide Role Id to create-group-role.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  create-group-role example with all the required and optional
   arguments passed.

.. code-block:: bash

   yeedu platform-admin create-group-role --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538" --group_id=1 --role_id=0

-  Console output

.. code-block:: bash

   {
     "group_roles_id": "1",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "group_id": "1",
     "role_id": 0,
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-03-15T13:10:15.840Z",
     "from_date": "2023-03-15T13:10:15.840Z",
     "to_date": null
   }

delete-group-role
~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu platform-admin delete-group-role -h

.. code-block:: bash

   usage:  delete-group-role [-h] [--tenant_id TENANT_ID] --group_id GROUP_ID --role_id
                             ROLE_ID [--json-output [{pretty,default}]]
                             [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --tenant_id TENANT_ID
                           Provide Tenant Id to delete-group-role.
     --group_id GROUP_ID   Provide Group Id to delete-group-role.
     --role_id ROLE_ID     Provide Role Id to delete-group-role.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  delete-group-role example with all the required argument passed.

.. code-block:: bash

   yeedu platform-admin delete-group-role --tenant_id="0b5017a9-6099-497f-81ba-d4e537e23538" --group_id=1 --role_id=0

-  Console output

.. code-block:: bash

   {
     "message": "Deleted Group Role for the provided Tenant Id: '0b5017a9-6099-497f-81ba-d4e537e23538', Group Id: 1, and Role Id: 0"
   }

Admin
=====

.. _user-2:

User
----

+----------------------------------+----------------------------------+
| Command Name                     | Utility                          |
+==================================+==================================+
| `list-users <#list-users-1>`__   | To list all the users present in |
|                                  | tenant.                          |
+----------------------------------+----------------------------------+
| `get-user <#get-user>`__         | To get information about a       |
|                                  | specific User.                   |
+----------------------------------+----------------------------------+
| `get-user-roles <#get-user-roles | To get all the roles of a        |
| -2>`__                           | specific User.                   |
+----------------------------------+----------------------------------+
| `list-users-roles <#list-users-r | To list all the Users Roles.     |
| oles-1>`__                       |                                  |
+----------------------------------+----------------------------------+
| `get-role-users <#get-role-users | To get all the users in a        |
| -1>`__                           | specific Role.                   |
+----------------------------------+----------------------------------+
| `create-user-role <#create-user- | To create an User Role.          |
| role-1>`__                       |                                  |
+----------------------------------+----------------------------------+
| `delete-user-role <#delete-user- | To delete an User Role.          |
| role-1>`__                       |                                  |
+----------------------------------+----------------------------------+

.. _list-users-1:

list-users
~~~~~~~~~~

.. code-block:: bash

   yeedu admin list-users -h

.. code-block:: bash

   usage:  list-users [-h] [--json-output [{pretty,default}]]
                      [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-users example without optional arguments passed for output
   format.

.. code-block:: bash

   yeedu admin list-users

-  Console output

.. code-block:: bash

   {
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "users": [
       "RM0000",
       "RP0000",
       "YA0000",
       "YSU0000"
     ]
   }

get-user
~~~~~~~~

.. code-block:: bash

   yeedu admin get-user -h

.. code-block:: bash

   usage:  get-user [-h] --user_id USER_ID [--json-output [{pretty,default}]]
                    [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --user_id USER_ID     Provide User Id to get information about a specific User.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-user example without optional arguments passed for output format.

.. code-block:: bash

   yeedu admin get-user --user_id=1

-  Console output

.. code-block:: bash

   {
     "user_id": 1,
     "username": "USER",
     "email": "user@yeedu.com",
     "from_date": "2023-03-14T10:00:47.406628+00:00",
     "to_date": "infinity"
   }

.. _get-user-roles-2:

get-user-roles
~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu admin get-user-roles -h

.. code-block:: bash

   usage:  get-user-roles [-h] --user_id USER_ID [--json-output [{pretty,default}]]
                          [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --user_id USER_ID     Provide User Id to get roles of a specific User.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-user-roles example with the required arguments '--user_id'
   passed.

.. code-block:: bash

   yeedu admin get-user-roles --user_id=1

-  Console output

.. code-block:: bash

   {
     "user_id": 1,
     "username": "RM0000",
     "user_roles": [
       "Resource Manager"
     ],
     "group_roles": [
       null
     ]
   }

.. _list-users-roles-1:

list-users-roles
~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu admin list-users-roles -h

.. code-block:: bash

   usage:  list-users-roles [-h] [--json-output [{pretty,default}]]
                            [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-users-roles example without optional arguments passed for output
   format.

.. code-block:: bash

   yeedu admin list-users-roles

-  Console output

.. code-block:: bash

   [
     {
       "user_id": 1,
       "username": "RM0000",
       "user_roles": [
         "Resource Manager"
       ],
       "group_roles": [
         null
       ]
     },
     {
       "user_id": 2,
       "username": "RP0000",
       "user_roles": [
         "Resource Provider"
       ],
       "group_roles": [
         null
       ]
     }
   ]

.. _get-role-users-1:

get-role-users
~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu admin get-role-users -h

.. code-block:: bash

   usage:  get-role-users [-h] --role_id ROLE_ID [--json-output [{pretty,default}]]
                          [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --role_id ROLE_ID     Provide Role Id to get users in a specific Role.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-role-users example with the required '--role_id' arguments
   passed.

.. code-block:: bash

   yeedu admin get-role-users --role_id=1

-  Console output

.. code-block:: bash

   {
     "role_id": 1,
     "users": [
       "RP0000"
     ]
   }

.. _create-user-role-1:

create-user-role
~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu admin create-user-role -h

.. code-block:: bash

   usage:  create-user-role [-h] --user_id USER_ID --role_id ROLE_ID
                            [--json-output [{pretty,default}]]
                            [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --user_id USER_ID     Provide User Id to create-user-role.
     --role_id ROLE_ID     Provide Role Id to create-user-role.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  create-user-role example with all the required and optional arguments
   passed.

.. code-block:: bash

   yeedu admin create-user-role --user_id=2 --role_id=1

-  Console output

.. code-block:: bash

   {
     "user_roles_id": "2",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "user_id": "2",
     "role_id": 1,
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-03-15T12:50:27.826Z",
     "from_date": "2023-03-15T12:50:27.826Z",
     "to_date": null
   }

.. _delete-user-role-1:

delete-user-role
~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu admin delete-user-role -h

.. code-block:: bash

   usage:  delete-user-role [-h] --user_id USER_ID --role_id ROLE_ID
                            [--json-output [{pretty,default}]]
                            [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --user_id USER_ID     Provide User Id to delete-user-role.
     --role_id ROLE_ID     Provide Role Id to delete-user-role.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  delete-user-role example with all the required argument passed.

.. code-block:: bash

   yeedu admin delete-user-role --user_id=2 --role_id=1

-  Console output

.. code-block:: bash

   {
     "message": "Deleted User Roles for the provided User Id: 2 and Role Id: 1."
   }

.. _group-1:

Group
-----

+----------------------------------+----------------------------------+
| Command Name                     | Utility                          |
+==================================+==================================+
| `list-groups <#list-groups-1>`__ | To list all the groups present   |
|                                  | in tenant.                       |
+----------------------------------+----------------------------------+
| `get-group <#get-group>`__       | To get information about a       |
|                                  | specific Group.                  |
+----------------------------------+----------------------------------+
| `get-group-roles <#get-group-rol | To get all the roles of a        |
| es-1>`__                         | specific Group.                  |
+----------------------------------+----------------------------------+
| `list-groups-roles <#list-groups | To list all the Groups Roles.    |
| -roles-1>`__                     |                                  |
+----------------------------------+----------------------------------+
| `get-role-groups <#get-role-grou | To get all the groups in a       |
| ps-1>`__                         | specific Role.                   |
+----------------------------------+----------------------------------+
| `create-group-role <#create-grou | To create a Group Role.          |
| p-role-1>`__                     |                                  |
+----------------------------------+----------------------------------+
| `delete-group-role <#delete-grou | To delete a group Role.          |
| p-role-1>`__                     |                                  |
+----------------------------------+----------------------------------+

.. _list-groups-1:

list-groups
~~~~~~~~~~~

.. code-block:: bash

   yeedu admin list-groups -h

.. code-block:: bash

   usage:  list-groups [-h] [--json-output [{pretty,default}]]
                       [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-groups example without optional arguments passed for output format.

.. code-block:: bash

   yeedu admin list-groups

-  Console output

.. code-block:: bash

   {
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "groups": [
       "yeedu-manager"
     ]
   }

get-group
~~~~~~~~~

.. code-block:: bash

   yeedu admin get-group -h

.. code-block:: bash

   usage:  get-group [-h] --group_id GROUP_ID [--json-output [{pretty,default}]]
                     [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --group_id GROUP_ID   Provide Group Id to get information about a specific Group.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-group example with the required argument '--group_id' passed.

.. code-block:: bash

   yeedu admin get-group --group_id=1

-  Console output

.. code-block:: bash

   {
     "group_id": 1,
     "group_name": "yeedu-manager",
     "from_date": "2023-03-15T11:32:17.570658+00:00",
     "to_date": "infinity"
   }

.. _get-group-roles-1:

get-group-roles
~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu admin get-group-roles -h

.. code-block:: bash

   usage:  get-group-roles [-h] --group_id GROUP_ID [--json-output [{pretty,default}]]
                           [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --group_id GROUP_ID   Provide Group Id to get roles of a specific Group.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-group-roles example with the required argument '--group_id' passed.

.. code-block:: bash

   yeedu admin get-group-roles --group_id=1

-  Console output

.. code-block:: bash

   {
     "group_id": 1,
     "roles": [
       "Resource Manager"
     ]
   }

.. _list-groups-roles-1:

list-groups-roles
~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu admin list-groups-roles -h

.. code-block:: bash

   usage:  list-groups-roles [-h] [--json-output [{pretty,default}]]
                             [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  list-groups-roles example without optional arguments passed for output format.

.. code-block:: bash

   yeedu admin list-groups-roles

-  Console output

.. code-block:: bash

   [
     {
       "group_id": 1,
       "group_name": "yeedu-manager",
       "roles": [
         "Resource Manager"
       ]
     }
   ]

.. _get-role-groups-1:

get-role-groups
~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu admin get-role-groups -h

.. code-block:: bash

   usage:  get-role-groups [-h] --role_id ROLE_ID [--json-output [{pretty,default}]]
                           [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --role_id ROLE_ID     Provide Role Id to get groups in a specific Role.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  get-role-groups example with the required argument '--role_id' passed.

.. code-block:: bash

   yeedu admin get-role-groups --role_id=0

-  Console output

.. code-block:: bash

   {
     "role_id": 0,
     "groups": [
       "yeedu-manager"
     ]
   }

.. _create-group-role-1:

create-group-role
~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu admin create-group-role -h

.. code-block:: bash

   usage:  create-group-role [-h] --group_id GROUP_ID --role_id ROLE_ID
                             [--json-output [{pretty,default}]]
                             [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --group_id GROUP_ID   Provide Group Id to create-group-role.
     --role_id ROLE_ID     Provide Role Id to create-group-role.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  create-group-role example with all the required arguments passed.

.. code-block:: bash

   yeedu admin create-group-role --group_id=1 --role_id=0

-  Console output

.. code-block:: bash

   {
     "group_roles_id": "1",
     "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
     "group_id": "1",
     "role_id": 0,
     "created_by_id": "1",
     "modified_by_id": "1",
     "last_update_date": "2023-03-15T13:10:15.840Z",
     "from_date": "2023-03-15T13:10:15.840Z",
     "to_date": null
   }

.. _delete-group-role-1:

delete-group-role
~~~~~~~~~~~~~~~~~

.. code-block:: bash

   yeedu admin delete-group-role -h

.. code-block:: bash

   usage:  delete-group-role [-h] --group_id GROUP_ID --role_id ROLE_ID
                             [--json-output [{pretty,default}]]
                             [--yaml-output [{true,false}]]

   options:
     -h, --help            show this help message and exit
     --group_id GROUP_ID   Provide Group Id to delete-group-role.
     --role_id ROLE_ID     Provide Role Id to delete-group-role.
     --json-output [{pretty,default}]
                           Provide the format of JSON output. (default: pretty)
     --yaml-output [{true,false}]
                           Provide true to get output in YAML format. (default: false)

-  delete-group-role example with all the required arguments passed.

.. code-block:: bash

   yeedu admin delete-group-role --group_id=1 --role_id=0

-  Console output

.. code-block:: bash

   {
     "message": "Deleted Group Role for the provided Group Id: 1 and Role Id: 0"
   }

