Skip to main content
Version: v2.4.4

Yeedu (1.0.0)

Download OpenAPI specification:Download

This is a server for Yeedu.

Health Check

Get the Health status of the API

Check the API's health to ensure it is active.

Responses

Response samples

Content type
application/json
{
  • "uptime": 7152.825610013,
  • "message": "API is up and running",
  • "date": "2023-07-20T12:50:15.425Z"
}

Lookup

Get all the Cloud Providers

Cloud Providers are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Cloud Provider details for a specific Cloud Provider Id

Cloud provider details are filtered for a specific Cloud Provider Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
cloud_provider_id
required
number

Cloud provider Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "cloud_provider_id": "0",
  • "name": "gcp",
  • "description": "Provider for creating infrastructuture on Google Cloud Platform",
  • "from_date": "2023-07-14T13:44:16.300Z",
  • "to_date": null
}

Get all the Disk Machine Types

Disk Machine Types are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all the Machine Available Zones

Machine Available Zones are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all the Availability Zones for a specific Cloud Provider

Availability zones details are filtered for a specific Cloud Provider Id and returned in the form of JSON list

Authorizations:
bearerAuth
path Parameters
cloud_provider_id
required
number

Cloud Provider Id that will be used for filter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Availability Zone details for a specific Cloud Provider Id and Availability Zone Id

Availability zone details are filtered for a specific Cloud Provider Id along with Availaibility Zone Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
cloud_provider_id
required
number

Cloud provider Id that will be used for filter

availability_zone_id
required
number

Availability zone Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "availability_zone_id": "116",
  • "cloud_provider": {
    },
  • "name": "Canada",
  • "region": "ca-central-1",
  • "description": "central",
  • "from_date": "2023-07-14T13:44:19.583Z",
  • "to_date": null
}

Get all the Machine Types

Machine types are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all the Machine types for a specific Cloud Provider

Machine types details are filtered for a specific Cloud Provider Id and returned in the form of JSON list

Authorizations:
bearerAuth
path Parameters
cloud_provider_id
required
number

Cloud Provider Id that will be used for filter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Machine Type details for a specific Cloud Provider Id and Machine Type Id

Machine type details are filtered for a specific Cloud Provider Id along with Machine type Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
cloud_provider_id
required
number

Cloud provider Id that will be used for filter

machine_type_id
required
number

Machine type Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "machine_type_id": "108",
  • "cloud_provider": {
    },
  • "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
}

Get all the Credential Type

Credential Types are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all the Engine Cluster Instance Status

Engine Cluster Instance Status are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all the Spark Compute Types

Spark Compute Types are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all the Spark Infra Version

Spark Infra Versions are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all the Spark Job Status

Spark Job Status are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all the Workflow Execution State

Workflow Execution States are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all the Workflow Type

Workflow types are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Volume Configuration

Get all the Volume Configurations

Volume Configurations are returned in the form of JSON list

Authorizations:
bearerAuth
query Parameters
cloud_provider
string
Enum: "GCP" "AWS" "AZURE"

Cloud Provider that will be used for filter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new Volume Configuration

Creates a new Volume with provided Volume Configuration

Authorizations:
bearerAuth
Request Body schema: application/json
required

The Volume Configuration to be added

name
required
string
availability_zone_id
required
number
encrypted
required
boolean
size
number
disk_type_id
required
number
machine_volume_num
required
number
machine_volume_strip_num
required
number

Responses

Request samples

Content type
application/json
{
  • "name": "yeedu volume",
  • "availability_zone_id": 75,
  • "encrypted": true,
  • "size": 100,
  • "disk_type_id": 0,
  • "machine_volume_num": 1,
  • "machine_volume_strip_num": 1
}

Response samples

Content type
application/json
{
  • "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
}

Get Volume Configuration for a specific Volume Configuration Id

Volume Configuration details are filtered for a specific Volume Configuration Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
volume_conf_id
required
number

Volume Configuration Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "volume_conf_id": "1",
  • "name": "yeedu volume",
  • "availability_zone": {
    },
  • "encrypted": false,
  • "size": "375",
  • "disk_type": {
    },
  • "machine_volume_num": 1,
  • "machine_volume_strip_num": 1,
  • "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
  • "created_by": {
    },
  • "modified_by": {
    },
  • "last_update_date": "2023-07-20T10:57:08.387Z",
  • "from_date": "2023-07-20T10:57:08.387Z",
  • "to_date": null
}

Update an existing Volume Configuration for a specific Volume Configuration Id

Authorizations:
bearerAuth
path Parameters
volume_conf_id
required
number

Volume Configuration Id that will be used for Modification

Request Body schema: application/json
required

The Volume Configuration to be modified

name
string
encrypted
boolean
machine_volume_num
number
machine_volume_strip_num
number

Responses

Request samples

Content type
application/json
{
  • "name": "yeedu volume",
  • "encrypted": true,
  • "machine_volume_num": 1,
  • "machine_volume_strip_num": 1
}

Response samples

Content type
application/json
{
  • "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
}

Network Configuration

Get all the Network Configurations

Network Configurations are returned in the form of JSON list

Authorizations:
bearerAuth
query Parameters
cloud_provider
string
Enum: "GCP" "AWS" "AZURE"

Cloud Provider that will be used for filter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new Network Configuration

Creates a new Network with provided Network Configuration

Authorizations:
bearerAuth
Request Body schema: application/json
required

The Network Configuration to be added

network_project_id
required
string
network_name
required
string
subnet
required
string
availability_zone_id
required
number
cloud_provider_id
required
number

Responses

Request samples

Content type
application/json
{
  • "network_project_id": "yeedu",
  • "network_name": "yeedu-spark-vpc",
  • "subnet": "custom-subnet-yeedu",
  • "availability_zone_id": 75,
  • "cloud_provider_id": 0
}

Response samples

Content type
application/json
{
  • "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
}

Get Network Configuration details for a specific Network Configuration Id

Network Configuration details are filtered for a specific Network Configuration Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
network_conf_id
required
number

Network Configuration Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "network_conf_id": "1",
  • "network_project_id": "yeedu",
  • "network_name": "yeedu-spark-vpc",
  • "subnet": "custom-subnet-yeedu",
  • "availability_zone": {
    },
  • "cloud_provider": {
    },
  • "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
  • "created_by": {
    },
  • "modified_by": {
    },
  • "last_update_date": "2023-07-20T11:00:14.845Z",
  • "from_date": "2023-07-20T11:00:14.845Z",
  • "to_date": null
}

Update an existing Network Configuration for a specific Network Configuration Id

Authorizations:
bearerAuth
path Parameters
network_conf_id
required
number

Network Configuration Id that will be used for Modification

Request Body schema: application/json
required

The Network Configuration to be modified

network_project_id
string
network_name
string
subnet
string

Responses

Request samples

Content type
application/json
{
  • "network_project_id": "yeedu",
  • "network_name": "yeedu-spark-vpc",
  • "subnet": "custom-subnet-yeedu"
}

Response samples

Content type
application/json
{
  • "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
}

Boot Disk Image Configuration

Get all the Boot Disk Image Configurations

Boot Disk Image Configurations are filtered and returned in the form of JSON list

Authorizations:
bearerAuth
query Parameters
cloud_provider
string
Enum: "GCP" "AWS" "AZURE"

Cloud Provider that will be used for filter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new Boot Disk Image Configuration

Creates a new Boot Disk Image with provided Boot Disk Image Configuration

Authorizations:
bearerAuth
Request Body schema: application/json
required

The Boot Disk Image Configuration to be added

boot_disk_image
required
string
cloud_provider_id
required
number

Responses

Request samples

Content type
application/json
{
  • "boot_disk_image": "ubuntu-os-cloud/ubuntu-2004-lts",
  • "cloud_provider_id": 0
}

Response samples

Content type
application/json
{
  • "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 Configuration details for a specific Boot Disk Image Id

Boot Disk Image Configuration details are filtered for a specific Boot Disk Image Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
boot_disk_image_id
required
number

Boot Disk Image Configuration Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "boot_disk_image_id": "1",
  • "boot_disk_image": "ubuntu-os-cloud/ubuntu-2004-lts",
  • "cloud_provider": {
    },
  • "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
  • "created_by": {
    },
  • "modified_by": {
    },
  • "last_update_date": "2023-07-20T11:04:02.811Z",
  • "from_date": "2023-07-20T11:04:02.811Z",
  • "to_date": null
}

Machine Configuration

Get all the Machine Configurations

Machine Configurations are returned in the form of JSON list

Authorizations:
bearerAuth
query Parameters
cloud_provider
string
Enum: "GCP" "AWS" "AZURE"

Cloud Provider that will be used for filter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new Machine Configuration

Creates a new Machine with provided Machine Configuration

Authorizations:
bearerAuth
Request Body schema: application/json
required

The Machine Configuration to be added

network_tags
Array of strings
labels
object
service_account_instance_profile
required
string
boot_disk_image_id
required
number
machine_type_id
required
number
is_spot_instance
required
boolean
Default: false
enable_public_ip
required
boolean
Default: false
block_project_ssh_keys
required
boolean
Default: false
bootstrap_shell_script
string
network_conf_id
required
number
volume_conf_id
required
number

Responses

Request samples

Content type
application/json
{
  • "network_tags": [
    ],
  • "labels": {
    },
  • "service_account_instance_profile": "yeedu-yeedu@yeedu.iam.gserviceaccount.com",
  • "boot_disk_image_id": 1,
  • "machine_type_id": 16,
  • "is_spot_instance": false,
  • "enable_public_ip": true,
  • "block_project_ssh_keys": true,
  • "network_conf_id": 1,
  • "volume_conf_id": 1
}

Response samples

Content type
application/json
{
  • "machine_conf_id": "1",
  • "network_tags": [
    ],
  • "labels": {
    },
  • "service_account_instance_profile": "yeedu-nabu@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
}

Get Machine Configuration details for a specific Machine Configuration id

Machine Configuration details are filtered for a specific Machine Configuration Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
machine_conf_id
required
number

Machine Configuration Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "machine_conf_id": "1",
  • "network_tags": [
    ],
  • "labels": {
    },
  • "service_account_instance_profile": "yeedu-nabu@yeedu.iam.gserviceaccount.com",
  • "boot_disk_image_config": {
    },
  • "machine_type": {
    },
  • "is_spot_instance": false,
  • "enable_public_ip": true,
  • "block_project_ssh_keys": true,
  • "bootstrap_shell_script": null,
  • "machine_network": {
    },
  • "machine_volume_config": {
    },
  • "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
  • "created_by": {
    },
  • "modified_by": {
    },
  • "last_update_date": "2023-07-20T11:06:21.454Z",
  • "from_date": "2023-07-20T11:06:21.454Z",
  • "to_date": null
}

Update an existing Machine Configuration for a specific Machine Configuration Id

Authorizations:
bearerAuth
path Parameters
machine_conf_id
required
number

Machine Configuration Id that will be used for Modification

Request Body schema: application/json
required

The Machine Configuration to be modified

network_tags
Array of strings
labels
object
service_account_instance_profile
string
is_spot_instance
boolean
enable_public_ip
boolean
block_project_ssh_keys
boolean
bootstrap_shell_script
string

Responses

Request samples

Content type
application/json
{
  • "network_tags": [
    ],
  • "labels": {
    },
  • "is_spot_instance": false,
  • "enable_public_ip": true,
  • "block_project_ssh_keys": true
}

Response samples

Content type
application/json
{
  • "machine_conf_id": "1",
  • "network_tags": [
    ],
  • "labels": {
    },
  • "service_account_instance_profile": "yeedu-nabu@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
}

Credentials Configuration

Get all the Credentials Configurations

Credentials Configurations are returned in the form of JSON list

Authorizations:
bearerAuth
query Parameters
cloud_provider
string
Enum: "GCP" "AWS" "AZURE"

Cloud Provider that will be used for filter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new Credentials Configuration

Creates a new Credentials Configuration with provided Credentials Configuration

Authorizations:
bearerAuth
Request Body schema: application/json
required

The Credentials Configuration to be added

credential_type_id
required
number
base64_encoded_credentials
required
object
name
string

Responses

Request samples

Content type
application/json
{
  • "credential_type_id": 0,
  • "base64_encoded_credentials": {
    },
  • "name": "yeedu-svc"
}

Response samples

Content type
application/json
{
  • "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:14:16.832Z",
  • "from_date": "2023-07-20T11:14:16.832Z",
  • "to_date": null
}

Get Credentials Configuration for a specific Credentials Configuration Id

Credentials Configuration details are filtered for a specific Credentials Configuration Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
credentials_conf_id
required
number

Credentials Configuration Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "credentials_conf_id": "1",
  • "credential_type": {
    },
  • "name": "yeedu-svc",
  • "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
  • "created_by": {
    },
  • "modified_by": {
    },
  • "last_update_date": "2023-07-20T11:14:16.832Z",
  • "from_date": "2023-07-20T11:14:16.832Z",
  • "to_date": null
}

Update an existing Credentials Configuration for a specific Credentials Configuration Id

Authorizations:
bearerAuth
path Parameters
credentials_conf_id
required
number

Credentials Configuration Id that will be used for Modification

Request Body schema: application/json
required

The Credentials Configuration to be modified

base64_encoded_credentials
object
name
string

Responses

Request samples

Content type
application/json
{
  • "base64_encoded_credentials": {
    },
  • "name": "yeedu-svc"
}

Response samples

Content type
application/json
{
  • "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:14:16.832Z",
  • "from_date": "2023-07-20T11:14:16.832Z",
  • "to_date": null
}

Delete an existing Credentials Configuration for a specific Credentials Configuration Id

Authorizations:
bearerAuth
path Parameters
credentials_conf_id
required
number

Credentials Configuration Id that will be used for Deletion

Responses

Response samples

Content type
application/json
{
  • "message": "Deleted Credentials Configuration: 1"
}

Object Storage Manager

Get all the Object Storage Manager Configurations

Object Storage Manager configurations are returned in the form of JSON list

Authorizations:
bearerAuth
query Parameters
cloud_provider
string
Enum: "GCP" "AWS" "AZURE"

Cloud Provider that will be used for filter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new Object Storage Manager Configuration

Creates an Object Storage Manager with provided Object Storage Manager Configuration

Authorizations:
bearerAuth
Request Body schema: application/json
required

The Object Storage Manager Configuration to be added

name
required
string
credentials_conf_id
required
number
object_storage_bucket_name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "Yeedu Object Storage Manager",
  • "credentials_conf_id": 1,
  • "object_storage_bucket_name": "yeedu-nabu"
}

Response samples

Content type
application/json
{
  • "object_storage_manager_id": "1",
  • "name": "Yeedu Object Storage Manager",
  • "credentials_conf_id": "1",
  • "object_storage_bucket_name": "yeedu-nabu",
  • "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
}

Get Object Storage Manager Configurations for a specific Object Storage Manager Id

Object Storage Manager configurations are filtered for a specific Object Storage Manager Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
object_storage_manager_id
required
number

Object Storage Manager Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "object_storage_manager_id": "1",
  • "name": "Yeedu Object Storage Manager",
  • "credentials_config": {
    },
  • "object_storage_bucket_name": "yeedu-nabu",
  • "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
  • "created_by": {
    },
  • "modified_by": {
    },
  • "last_update_date": "2023-07-20T11:17:58.442Z",
  • "from_date": "2023-07-20T11:17:58.442Z",
  • "to_date": null
}

Update an existing Object Storage Manager Configuration for a specific Object Storage Manager Id

Authorizations:
bearerAuth
path Parameters
object_storage_manager_id
required
number

Object Storage Manager Id that will be used for Modification

Request Body schema: application/json
required

The Object Storage Manager Configuration to be modified

name
string
object_storage_bucket_name
string

Responses

Request samples

Content type
application/json
{
  • "name": "Yeedu Object Storage Manager",
  • "object_storage_bucket_name": "yeedu-nabu"
}

Response samples

Content type
application/json
{
  • "object_storage_manager_id": "1",
  • "name": "Yeedu Object Storage Manager",
  • "credentials_conf_id": "1",
  • "object_storage_bucket_name": "yeedu-nabu",
  • "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
}

Delete an existing Object Storage Manager for a specific Object Storage Manager Id

Authorizations:
bearerAuth
path Parameters
object_storage_manager_id
required
number

Object Storage Manager Id that will be used for Deletion

Responses

Response samples

Content type
application/json
{
  • "message": "Deleted Object Storage Manager Configuration: 1"
}

Object Storage Manager Files

Get Object Storage Manager Files for a specific Object Storage Manager Id

Object Storage Manager File details are filtered for a specific Object Storage Manager Id and returned in the form of JSON list

Authorizations:
bearerAuth
path Parameters
object_storage_manager_id
required
number

Object Storage Manager Id that will be used for filter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Upload file to an Object Storage Manager

Upload a file to an Object Storage Manager for a specific Object Storage Manager Id

  1. local_file_path: It is the absolute local file path from where the particular file is being uploaded.
  2. preserve_path: It is a boolean, if it is set to true then the absolute local_file_path will be preserved w.r.t object storage manager. Default value is false.
  3. overwrite: It is a boolean, if it is set to true then the file will be overwritten in the object storage manager. Default is false.
Authorizations:
bearerAuth
path Parameters
object_storage_manager_id
required
number

Object Storage Manager Id that will be used for filter

query Parameters
local_file_path
string

Local File Path that will be used for to store the file path

preserve_path
boolean
Default: false

Preserve Path boolean that will be used if we need to preserve the local file path

overwrite
boolean
Default: false

Overwrite boolean that will be used to overwrite the existing file

Request Body schema: multipart/form-data
required

File to be uploaded in an Object Storage Manager

fileObject
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "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
}

Get Object Storage Manager File details for a specific Object Storage Manager Id and File Id

Object Storage Manager file details are filtered for a specific Object Storage Manager Id along with File Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
object_storage_manager_id
required
number

Object Storage Manager Id that will be used for filter

file_id
required
number

Object Storage Manager File Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "object_storage_manager_file_id": "1",
  • "object_storage_manager": {
    },
  • "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": {
    },
  • "modified_by": {
    },
  • "last_update_date": "2023-07-20T11:22:40.313Z",
  • "from_date": "2023-07-20T11:22:40.313Z",
  • "to_date": null
}

Delete an existing Object Storage Manager File for a specific Object Storage Manager Id and File Id

Authorizations:
bearerAuth
path Parameters
object_storage_manager_id
required
number

Object Storage Manager Id that will be used for filter

file_id
required
number

Object Storage Manager File Id that will be used for Deletion

Responses

Response samples

Content type
application/json
{
  • "message": "The File spark-sql_2.12-3.2.0.jar has been deleted."
}

Hive Metastore Configuration

Get all the Hive Metastore Configurations

Hive Metastore Configurations are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new Hive Metastore Configuration

Create Hive Metastore Configuration with valid XML contents and krb5 conf content

Authorizations:
bearerAuth
Request Body schema: application/json
required

The Hive Metastore Configuration to be added

hiveSiteXml
required
string
coreSiteXml
required
string
hdfsSiteXml
required
string
krb5Conf
string

Responses

Request samples

Content type
application/json
{
  • "hiveSiteXml": null,
  • "coreSiteXml": null,
  • "hdfsSiteXml": null,
  • "krb5Conf": null
}

Response samples

Content type
application/json
{
  • "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
}

Get Hive Metastore Configuration for a specific Hive Metastore Configuration id

Hive Metastore Configuration details are filtered for a specific Hive Metastore Configuration Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
hive_metastore_conf_id
required
number

Hive Metastore Configuration Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "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",
  • "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",
  • "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",
  • "krb5.conf": null,
  • "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
  • "created_by": {
    },
  • "modified_by": {
    },
  • "last_update_date": "2023-07-20T11:34:53.896774+00:00",
  • "from_date": "2023-07-20T11:34:53.896774+00:00",
  • "to_date": "infinity"
}

Update an existing Hive Metastore Configuration for a specific Hive Metastore Configuration Id

Authorizations:
bearerAuth
path Parameters
hive_metastore_conf_id
required
number

Hive Metastore Configuration Id that will be used for Modification

Request Body schema: application/json
required

The Hive Metastore Configuration to be modified

hiveSiteXml
string
coreSiteXml
string
hdfsSiteXml
string
krb5Conf
string

Responses

Request samples

Content type
application/json
{
  • "hiveSiteXml": null,
  • "coreSiteXml": null,
  • "hdfsSiteXml": null,
  • "krb5Conf": null
}

Response samples

Content type
application/json
{
  • "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
}

Delete an existing Hive Metastore Configuration for a specific Hive Metastore Configuration Id

Authorizations:
bearerAuth
path Parameters
hive_metastore_conf_id
required
number

Hive Metastore Configuration Id that will be used for Deletion

Responses

Response samples

Content type
application/json
{
  • "message": "Deleted Hive Metastore Configuration: 1"
}

Cluster Configuration

Get all the Cluster Configurations

Cluster Configurations are returned in the form of JSON list

Authorizations:
bearerAuth
query Parameters
cloud_provider
string
Enum: "GCP" "AWS" "AZURE"

Cloud Provider that will be used for filter

pageNumber
integer <int32>
Default: 1

The page number from which items will return

limit
integer <int32>
Default: 100

The numbers of items to return

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "result_set": {
    },
  • "properties": null,
  • "cluster_conf_id": {
    },
  • "name": {
    },
  • "description": {
    },
  • "cloud_project_id": {
    },
  • "object_storage_manager_id": {
    },
  • "machine_conf_id": {
    },
  • "spark_config_id": {
    },
  • "hive_metastore_conf_id": {
    },
  • "spark_metastore_id": {
    },
  • "cloud_provider_id": {
    },
  • "spark_infra_version_id": {
    },
  • "engine_cluster_spark_config_id": {
    },
  • "cluster_type": {
    },
  • "min_instances": {
    },
  • "max_instances": {
    },
  • "is_cuda": {
    },
  • "tenant_id": {
    },
  • "created_by": {
    },
  • "modified_by": {
    },
  • "last_update_date": {
    },
  • "from_date": {
    },
  • "to_date": {
    }
}

Create a new Cluster Configuration

Creates a new Cluster Configuration with provided Cluster Configuration

Authorizations:
bearerAuth
Request Body schema: application/json
required

The Cluster Configuration to be added

name
required
string
description
required
string
cloud_project_id
required
string
object_storage_manager_id
required
number
credentials_conf_id
required
number
machine_conf_id
required
number
spark_config_id
number
hive_metastore_conf_id
number
spark_metastore_id
number
cloud_provider_id
required
number
spark_infra_version_id
required
number
required
object
cluster_type
required
string
Enum: "YEEDU" "STANDALONE" "CLUSTER"
min_instances
required
number >= 1
Default: 1
max_instances
required
number <= 30
is_cuda
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "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,
  • "engine_cluster_spark_config": {
    },
  • "cluster_type": "YEEDU",
  • "min_instances": 1,
  • "max_instances": 3,
  • "is_cuda": false
}

Response samples

Content type
application/json
{
  • "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": {
    },
  • "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
}

Get Cluster Configuration for a specific Cluster Configuration Id or Name

Cluster Configuration details are filtered for a specific Cluster Configuration Id or Name and returned in the form of JSON

Authorizations:
bearerAuth
query Parameters
cluster_conf_id
number

Cluster Configuration Id that will be used for filter

cluster_conf_name
string

Cluster Configuration Name that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "cluster_conf_id": "1",
  • "name": "yeedu_cluster",
  • "description": "Cluster Configurations test",
  • "cloud_project_id": "yeedu",
  • "object_storage_manager": {
    },
  • "credentials_conf_id": "1",
  • "machine_config": {
    },
  • "spark_config": null,
  • "hive_metastore": null,
  • "cloud_provider": {
    },
  • "spark_infra_version": {
    },
  • "engine_cluster_spark_config": {
    },
  • "cluster_type": "YEEDU",
  • "min_instances": 1,
  • "max_instances": 2,
  • "is_cuda": false,
  • "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
  • "created_by": {
    },
  • "modified_by": {
    },
  • "last_update_date": "2023-07-20T11:38:27.321Z",
  • "from_date": "2023-07-20T11:38:27.321Z",
  • "to_date": null
}

Update an existing Cluster Configuration for a specific Cluster Configuration Id or Name

Authorizations:
bearerAuth
query Parameters
cluster_conf_id
number

Cluster Configuration Id that will be used for Modification

cluster_conf_name
string

Cluster Configuration Name that will be used for Modification

Request Body schema: application/json
required

The Cluster Configuration to be modified

name
string
description
string
cloud_project_id
string
object
cluster_type
string
Enum: "YEEDU" "STANDALONE" "CLUSTER"
min_instances
number >= 1
max_instances
number <= 30
is_cuda
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "Yeedu Cluster Configuration",
  • "description": "Cluster Configurations test",
  • "cloud_project_id": "yeedu",
  • "engine_cluster_spark_config": {
    },
  • "cluster_type": "YEEDU",
  • "min_instances": 1,
  • "max_instances": 3,
  • "is_cuda": false
}

Response samples

Content type
application/json
{
  • "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": {
    },
  • "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
}

Cluster Instance

Get all the Cluster Instances

Cluster Instance details are filtered for a specific Cluster Instance Status and returned in the form of JSON list

Authorizations:
bearerAuth
query Parameters
cluster_status
Array of strings

INITIATING, RUNNING, STOPPING, STOPPED, DESTROYING, DESTROYED, ERROR, RESIZING_UP, RESIZING_DOWN can be used for filter

cluster_conf_id
number

Cluster Configuration Id that need to be used for filter

cluster_conf_name
string

Cluster Configuration Name that need to be used for filter

pageNumber
integer <int32>
Default: 1

The page number from which items will return

limit
integer <int32>
Default: 100

The numbers of items to return

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "result_set": {
    }
}

Create a new Cluster Instance

Creates a new Cluster Instance with provided Cluster Instance Configuration

Authorizations:
bearerAuth
Request Body schema: application/json
required

The Cluster Instance Configuration to be added

instance_name
string
idle_timeout_ms
required
number
cluster_conf_id
required
number
auto_shutdown
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "instance_name": "yeedu_instance",
  • "idle_timeout_ms": 1200000,
  • "auto_shutdown": true,
  • "engine_cluster_config_id": 1
}

Response samples

Content type
application/json
{
  • "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
}

Get Cluster Instance details for a specific Cluster Instance Id or Name

Cluster Instance details are filtered for a specific Cluster Instance Id or Name and returned in the form of JSON

Authorizations:
bearerAuth
query Parameters
cluster_id
number

Cluster Instance Id that need to be used for filter

cluster_name
string

Cluster Instance Name that need to be used for filter

Responses

Response samples

Content type
application/json
{
  • "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": {
    },
  • "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
  • "created_by": {
    },
  • "modified_by": {
    },
  • "last_update_date": "2023-07-20T11:44:07.355757+00:00",
  • "from_date": "2023-07-20T11:44:07.355757+00:00",
  • "to_date": "infinity"
}

Update an existing Cluster Instance Configuration for a specific Cluster Instance Id or Name

Authorizations:
bearerAuth
query Parameters
cluster_id
number

Cluster Instance Id that need to be used for Modification

cluster_name
string

Cluster Instance Name that need to be used for Modification

Request Body schema: application/json
required

The Cluster Instance Configuration to be modified

idle_timeout_ms
number
auto_shutdown
boolean

Responses

Request samples

Content type
application/json
{
  • "idle_timeout_ms": 1200000,
  • "auto_shutdown": true
}

Response samples

Content type
application/json
{
  • "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
}

Start an existing Cluster Instance for a specific Cluster Instance Id or Name

A Cluster Instance in the STOPPED state can be started.

Authorizations:
bearerAuth
Request Body schema: application/json
required

The Cluster Instance to be Started

cluster_id
number
cluster_name
string

Responses

Request samples

Content type
application/json
{
  • "cluster_id": 1
}

Response samples

Content type
application/json
{
  • "CosiStart": {
    }
}

Stop an existing Cluster Instance for a specific Cluster Instance Id or Name

A Cluster Instance in the RUNNING state can be stopped.

Authorizations:
bearerAuth
Request Body schema: application/json
required

The Cluster Instance to be Stopped

cluster_id
number
cluster_name
string

Responses

Request samples

Content type
application/json
{
  • "cluster_id": 1
}

Response samples

Content type
application/json
{
  • "CosiStop": {
    }
}

Destroy an existing Cluster Instance for a specific Cluster Instance Id or Name

A Cluster Instance in the RUNNING, STOPPED, or ERROR states can be destroyed.

Authorizations:
bearerAuth
Request Body schema: application/json
required

The Cluster Instance to be Destroyed

cluster_id
number
cluster_name
string

Responses

Request samples

Content type
application/json
{
  • "cluster_id": 1
}

Response samples

Content type
application/json
{
  • "CosiDestroy": {
    }
}

Calculate the total uptime of Cluster Instance for a specific Cluster Instance Id or Name

A Cluster Instance total uptime in minutes.

Authorizations:
bearerAuth
Request Body schema: application/json
required

The Cluster Instance total uptime to be calculated

cluster_id
number
cluster_name
string

Responses

Request samples

Content type
application/json
{
  • "cluster_id": 1
}

Response samples

Content type
application/json
{
  • "cluster_id": 1,
  • "uptime_in_mins": 23
}

Get stderr or stdout log files for a specific Cluster Instance Id or Name

Cluster Instance logs are downloaded for a specific Cluster Instance Id or Name

Authorizations:
bearerAuth
path Parameters
log_type
required
string
Enum: "stdout" "stderr"

File type that will be used for filter

query Parameters
cluster_id
number

Cluster Instance Id that will be used for filter

cluster_name
string

Cluster Instance Name that will be used for filter

Responses

Get Spark Job Stats for a specific Cluster Instance Id or Name

Spark Job Statistics for a specific Cluster Instance Id or Name are returned in the form of JSON

Authorizations:
bearerAuth
query Parameters
cluster_id
number

Cluster Instance Id that will be used for filter

cluster_name
string

Cluster Instance Name that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "SUBMITTED": 1,
  • "RUNNING": 3,
  • "DONE": 4,
  • "ERROR": 0,
  • "TERMINATED": 0,
  • "KILLING": 0,
  • "KILLED": 1,
  • "TOTAL_JOB_COUNT": 9
}

Spark Job Configuration

Get all the Spark Job Configurations

Spark Job Configurations are filtered for RUNNING or STOPPED state compute engines and returned in the form of JSON list

Authorizations:
bearerAuth
query Parameters
pageNumber
integer <int32>
Default: 1

The page number from which items will return

limit
integer <int32>
Default: 100

The numbers of items to return

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "result_set": {
    }
}

Create a new Spark Job Configuration

Creates a Spark Job Configuration with provided Spark Job Configuration

  1. max_concurrency : Sets the maximum number of concurrent job instance runs that are allowed for a partulcar job_conf_id.
  2. If the max_concurrency=0 then we can submit infinite number of job instances using a particular job_conf_id.
  3. If the max_concurrency > 0 then we can submit job instances for a particular job_conf_id to upto the max_concurrency provided.
Authorizations:
bearerAuth
Request Body schema: application/json
required

The Spark Job Configuration to be added

cluster_id
required
integer <int64>
max_concurrency
integer <int64>
Default: 0
name
required
string
properties_file
Array of strings
conf
Array of strings
packages
Array of strings
repositories
Array of strings
jars
Array of strings
archives
Array of strings
deploy_mode
required
string
Enum: "client" "cluster"
driver_memory
string
driver_java_options
string
driver_library_path
string
driver_class_path
string
executor_memory
string
principal
string
keytab
string
queue
string
class_name
string
command
string
arguments
string
rawScalaCode
string
extra_info
object
driver_cores
integer <int64>
total_executor_cores
integer <int64>
executor_cores
integer <int64>
num_executors
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "name": "spark_examples",
  • "cluster_id": 1,
  • "max_concurrency": 1,
  • "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": [
    ],
  • "properties_file": null,
  • "conf": [
    ],
  • "packages": [
    ],
  • "repositories": null,
  • "jars": [
    ],
  • "archives": null,
  • "driver_memory": null,
  • "driver_java_options": "-Dderby.system.home=/yeedu/spark_metastores/$(date +%s)-${RANDOM}",
  • "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
}

Response samples

Content type
application/json
{
  • "job_conf_id": "63500",
  • "name": "spark_examples",
  • "cluster_id": "34",
  • "max_concurrency": "1",
  • "deploy_mode": "client",
  • "class_name": "org.apache.spark.examples.SparkPi",
  • "command": "file:///yeedu/object-storage-manager/spark-examples_2.11-2.4.8.jar",
  • "rawScalaCode": null,
  • "arguments": "500",
  • "files": [
    ],
  • "properties_file": null,
  • "conf": [
    ],
  • "packages": [
    ],
  • "repositories": null,
  • "jars": [
    ],
  • "archives": null,
  • "driver_memory": null,
  • "driver_java_options": "-Dderby.system.home=/yeedu/spark_metastores/1666766426-8439",
  • "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
}

Get Spark Job Configuration details for a specific Spark Job Configuration Id

Spark Job Configuration details are filtered for a specific Spark Job Configuration Id and returned in the form of JSON

Authorizations:
bearerAuth
query Parameters
job_conf_id
number

Spark Job Configuration Id that will be used for filter

job_conf_name
string

Spark Job Configuration Name that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "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": {
    },
  • "modified_by": {
    },
  • "last_update_date": "2023-07-20T11:52:46.836Z",
  • "from_date": "2023-07-20T11:52:46.836Z",
  • "to_date": null
}

Update an existing Spark Job Configuration for a specific Spark Job Config Id or Name

Authorizations:
bearerAuth
query Parameters
job_conf_id
number

Spark Job Config Id that need to be used for Modification

job_conf_name
string

Spark Job Config Name that need to be used for Modification

Request Body schema: application/json
required

The Spark Job Configuration to be modified

cluster_id
number
cluster_name
string
name
string
max_concurrency
integer
properties_file
Array of strings
conf
Array of strings
packages
Array of strings
repositories
Array of strings
jars
Array of strings
archives
Array of strings
deploy_mode
string
Enum: "client" "cluster"
driver_memory
string
driver_java_options
string
driver_library_path
string
driver_class_path
string
executor_memory
string
principal
string
keytab
string
queue
string
class_name
string
command
string
arguments
string
rawScalaCode
string
extra_info
object
driver_cores
integer <int64>
total_executor_cores
integer <int64>
executor_cores
integer <int64>
num_executors
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "cluster_id": 1,
  • "name": "spark_examples",
  • "max_concurrency": "1",
  • "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": [
    ],
  • "properties_file": null,
  • "conf": [
    ],
  • "packages": [
    ],
  • "repositories": null,
  • "jars": [
    ],
  • "archives": null,
  • "driver_memory": null,
  • "driver_java_options": "-Dderby.system.home=/yeedu/spark_metastores/$(date +%s)-${RANDOM}",
  • "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
}

Response samples

Content type
application/json
{
  • "job_conf_id": "63500",
  • "name": "spark_examples",
  • "cluster_id": "34",
  • "max_concurrency": "1",
  • "deploy_mode": "client",
  • "class_name": "org.apache.spark.examples.SparkPi",
  • "command": "file:///yeedu/object-storage-manager/spark-examples_2.11-2.4.8.jar",
  • "rawScalaCode": null,
  • "arguments": "500",
  • "files": [
    ],
  • "properties_file": null,
  • "conf": [
    ],
  • "packages": [
    ],
  • "repositories": null,
  • "jars": [
    ],
  • "archives": null,
  • "driver_memory": null,
  • "driver_java_options": "-Dderby.system.home=/yeedu/spark_metastores/1666766426-8439",
  • "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
}

Delete an existing Spark Job Configuration for a specific Spark Job Configuration Id

Authorizations:
bearerAuth
query Parameters
job_conf_id
number

Spark Job Configuration Id that will be used for Deletion

job_conf_name
string

Spark Job Configuration Name that will be used for Deletion

Responses

Response samples

Content type
application/json
{
  • "message": "Deleted Spark Job Config: 1"
}

Spark Job Instance

Get all the Spark Job Instances for a specific Cluster Instance

Spark Job Instances are filtered for a specific Cluster Instance Id along with Spark Job Status and returned in the form of JSON list

Authorizations:
bearerAuth
query Parameters
cluster_id
required
number

Cluster Instance Id that will be used for filter

job_conf_id
number

Spark Job Config Id that will be used for filter

job_conf_name
string

Spark Job Config Name that will be used for filter

job_status
string
Enum: "SUBMITTED" "RUNNING" "DONE" "ERROR" "TERMINATED" "KILLING" "KILLED"

Spark Job Status that will be used for filter

pageNumber
integer <int32>
Default: 1

The page number from which items will return

limit
integer <int32>
Default: 100

The numbers of items to return

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "result_set": {
    }
}

Create a new Spark Job Instance

A Spark Job Instance for a specific Spark Job Configuration Id can be created iff the Cluster Instance is not in the ERROR, DESTROYING, or DESTROYED states.

Authorizations:
bearerAuth
Request Body schema: application/json
required

The Spark Job Configuration to be added

job_conf_id
number
job_conf_name
string

Responses

Request samples

Content type
application/json
{
  • "job_conf_id": 1
}

Response samples

Content type
application/json
{
  • "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
}

Get Spark Job Instance details for a specific Job Id

Spark Job Instance Configuration details are filtered for a specific Job Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
job_id
required
number

Spark Job Instance Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "job_id": 63575,
  • "job_application_id": "local-1676966563563",
  • "job_status": "RUNNING",
  • "cluster_id": "34",
  • "job_conf": {
    },
  • "workflow_job_instance_details": {
    },
  • "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
  • "created_by": {
    },
  • "modified_by": {
    },
  • "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 an existing Spark Job Instance for a specific Job Id

A Spark Job Instance can be killed iff the Spark Job Instance status is in RUNNING state and its workflow execution state is in EXECUTING state.

Authorizations:
bearerAuth
path Parameters
job_id
required
number

Spark Job Instance Id that will be used for Killing

Responses

Response samples

Content type
application/json
{
  • "SparkKill": {
    }
}

Get Workflow Job Execution details for a specific Job Application Id

Workflow Job Execution details are filtered for a specific Job Application Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
job_application_id
required
string

Spark Job Application Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "job_id": 63688,
  • "job_application_id": "local-1689855445076",
  • "job_status": "DONE",
  • "compute_engine": 34,
  • "cluster_id": "34",
  • "workflow_job_instance_details": {
    },
  • "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
  • "created_by": {
    },
  • "modified_by": {
    },
  • "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"
}

Get stderr or stdout log files for a specific Job Id

Spark Job Instance logs are downloaded for a specific Spark Job Instance Id

Authorizations:
bearerAuth
path Parameters
job_id
required
number

Spark Job instance Id that will be used for filter

log_type
required
string
Enum: "stdout" "stderr"

File type that will be used for filter

Responses

Login

Generate yeedu session token

Generates a yeedu session token based on the provided login details to access the resources

Request Body schema: application/json
required

Login details to generate session token

username
string
password
string <password>
timeout
string

Responses

Request samples

Content type
application/json
{
  • "username": "USER",
  • "password": "PASS",
  • "timeout": "48"
}

Response samples

Content type
application/json
{
  • "token": "eyJhbGciOiJIuZI1nIIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzMjYxMCIsImlhdCI6MTY2NDc4NjQ2OSwiZXhwIjoxnJy0OdCyODy5fQ.WsBh8n_u-Y88edEZiMfWswviEEsgiL4_2Eu_5ZCGuOQ"
}

Acquire Token by Code

Endpoint for AAD SSO

Responses

Logout

Delete yeedu session token

Delete the session from yeedu

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "message": "Successfully logged out"
}

User

Get all the User Tenants

All Tenant Ids available for a specific user are returned in the form of JSON

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Associate a Tenant Id to a session

Associate Tenant Id with the session token

Authorizations:
bearerAuth
path Parameters
tenant_id
required
string <uuid>

Tenant Id that will be used to associate

Responses

Response samples

Content type
application/json
{
  • "message": "Successfully associated Tenant"
}

Get all the User Information

User information for a specific user are returned in the form of JSON

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "user_id": 1,
  • "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
  • "username": "USER",
  • "email": "user@yeedu.com",
  • "group_info": [
    ],
  • "from_date": "2022-12-27T11:54:01.533Z",
  • "to_date": null
}

Get User Roles for a specific session

User roles are filtered for a session and returned in the form of JSON

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "user_id": 1,
  • "username": "RU0000",
  • "user_roles": [
    ],
  • "group_roles": [
    ]
}

Admin

Get all the Users in a tenant

All the users present in a tenant are returned in the form of JSON

Authorizations:
bearerAuth
query Parameters
pageNumber
integer <int32>
Default: 1

The page number from which items will return

limit
integer <int32>
Default: 100

The numbers of items to return

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "result_set": {
    }
}

Get User Details for a specific User Id

User details are filtered for a specific User Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
user_id
required
number

User Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "user_id": "1",
  • "username": "USER",
  • "email": "user@yeedu.com",
  • "from_date": "2022-12-27T07:04:14.851Z",
  • "to_date": null
}

Get all the User Roles for a specific User Id

User roles are filtered for a specific User Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
user_id
required
number

User Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "user_id": 1,
  • "username": "RU0000",
  • "user_roles": [
    ],
  • "group_roles": [
    ]
}

Get all the Users and it's respective roles in a tenant

All the Users and it's respective roles in a tenant are returned in the form of JSON

Authorizations:
bearerAuth
query Parameters
pageNumber
integer <int32>
Default: 1

The page number from which items will return

limit
integer <int32>
Default: 100

The numbers of items to return

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "result_set": {
    }
}

Get all the Users for a specific Role Id

Users are filtered for a specific Role Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
role_id
required
number

Role Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "role_id": "1",
  • "users": [
    ]
}

Get all the Groups in a tenant

All the groups present in a tenant are returned in the form of JSON

Authorizations:
bearerAuth
query Parameters
pageNumber
integer <int32>
Default: 1

The page number from which items will return

limit
integer <int32>
Default: 100

The numbers of items to return

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "result_set": {
    }
}

Get Group Details for a specific Group Id

Group details are filtered for a specific Group Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
group_id
required
number

Group Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "group_id": "1",
  • "group_name": "yeedu-user",
  • "from_date": "2022-12-27T15:37:07.349Z",
  • "to_date": null
}

Get all the Group Roles for a specific Group Id

Group Roles are filtered for a specific Group Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
group_id
required
number

Group Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "group_id": 1,
  • "group_name": "yeedu-manager",
  • "roles": [
    ]
}

Get all the Groups and it's respective roles

Groups and it's respective roles are returned in the form of JSON

Authorizations:
bearerAuth
query Parameters
pageNumber
integer <int32>
Default: 1

The page number from which items will return

limit
integer <int32>
Default: 100

The numbers of items to return

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "result_set": {
    }
}

Get all the Groups for a specific Role Id

Groups are filtered for a specific Role Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
role_id
required
number

Role Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "role_id": "1",
  • "groups": [
    ]
}

Create a new User Role

Rules to assign a role to an user

  1. Platform Admin Role cannot be assigned to any user.
  2. Can assign all other roles to an user.
Authorizations:
bearerAuth
path Parameters
user_id
required
number

User Id that will be used for adding role

role_id
required
number

Role Id that will be used for adding role

Responses

Response samples

Content type
application/json
{
  • "user_roles_id": 1,
  • "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
  • "user_id": 2,
  • "role_id": 1,
  • "created_by_id": 1,
  • "modified_by_id": 1,
  • "last_update_date": "2022-12-27T11:54:01.533Z",
  • "from_date": "2022-12-27T11:54:01.533Z",
  • "to_date": null
}

Delete an existing User Role for a specific User Id and Role Id

Rules to delete a role of an user

  1. Cannot delete a Platform Admin Role of any user.
  2. Cannot delete an Admin Role for itself.
  3. But can delete an Admin Role for other Admin users.
  4. Can delete all the other roles for a user.
Authorizations:
bearerAuth
path Parameters
user_id
required
number

User Id that will be used for deleting role

role_id
required
number

Role Id that will be used for deleting role

Responses

Response samples

Content type
application/json
{
  • "message": "Deleted User Role for the provided User Id: 2 and Role Id: 1"
}

Create a new Group Role

Rules to assign a role to a group

  1. Platform Admin Role cannot be assigned to any group.
  2. Can assign all other roles to a group.
Authorizations:
bearerAuth
path Parameters
group_id
required
number

Group Id that will be used for adding role

role_id
required
number

Role Id that will be used for adding role

Responses

Response samples

Content type
application/json
{
  • "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": "2022-12-27T11:54:01.533Z",
  • "from_date": "2022-12-27T15:37:39.581Z",
  • "to_date": null
}

Delete an existing Group Role for a specific Group Id and Role Id

Rules to delete a role of a group

  1. Cannot delete a Platform Admin Role of any group.
  2. Cannot delete an Admin Role for its own group.
  3. But can delete an Admin Role for other Admin groups.
  4. Can delete all the other roles for a group.
Authorizations:
bearerAuth
path Parameters
group_id
required
number

Group Id that will be used for deleting role

role_id
required
number

Role Id that will be used for deleting role

Responses

Response samples

Content type
application/json
{
  • "message": "Deleted Group Role for the provided Group Id: 2 and Role Id: 1"
}

Shared Platform and Admin Resources

Get User details for a specifc Username

User details are filtered for a specific username and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
username
required
string

Username that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "user_id": "1",
  • "username": "USER",
  • "email": "user@yeedu.com",
  • "from_date": "2022-12-27T07:04:14.851Z",
  • "to_date": null
}

Get Group details for a specific Group Name

Group details are filtered for a specific Group Name and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
groupname
required
string

Group Name that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "group_id": "1",
  • "group_name": "yeedu-user",
  • "from_date": "2022-12-27T15:37:07.349Z",
  • "to_date": null
}

Get all the Groups for a specific User Id

User groups are filtered for a specific User Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
user_id
required
number

User Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "user_id": 1,
  • "username": "RU0000",
  • "groups": [
    ]
}

Get all the synced Users

All the synced users are returned in the form of JSON

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all the Users for a specific Group Id

User groups are filtered for a specific Group Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
group_id
required
number

Group Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "group_id": 1,
  • "group_name": "yeedu-user",
  • "users": [
    ]
}

Get all the synced Groups

All the synced groups are returned in the form of JSON

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all the users which are matching with input username pattern

All the users which are matching with input username pattern are returned in the form of JSON list.

Authorizations:
bearerAuth
path Parameters
username
required
string

Username that will be used for filter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all the groups which are matching with input groupname pattern

All the groups which are matching with input groupname pattern are returned in the form of JSON list.

Authorizations:
bearerAuth
path Parameters
groupname
required
string

Groupname that will be used for filter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Platform Admin

Get all the Tenants

Tenant details are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all the Tenants matching with the tenant name

Tenant details matching with the name are returned in the form of JSON list

Authorizations:
bearerAuth
path Parameters
name
required
string

Tenant name that will be used for filter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new Tenant

Creates a new Tenant with provided Tenant Configuration

Authorizations:
bearerAuth
Request Body schema: application/json
required

The Tenant to be added

name
required
string
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "tenant1",
  • "description": "Yeedu Tenant-1"
}

Response samples

Content type
application/json
{
  • "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
}

Get Tenant Details for a specific Tenant Id

Tenant details are filtered for a specific Tenant Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
tenant_id
required
string <uuid>

Tenant Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
  • "name": "tenant1",
  • "description": "Yeedu Tenant-1",
  • "created_by": {
    },
  • "modified_by": {
    },
  • "last_update_date": "2023-07-20T10:56:33.714Z",
  • "from_date": "2023-07-20T10:56:33.714Z",
  • "to_date": null
}

Update an existing Tenant for a specific Tenant Id

Authorizations:
bearerAuth
path Parameters
tenant_id
required
string <uuid>

Tenant Id that will be used for Modification

Request Body schema: application/json
required

The Tenant to be modified

name
string
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "tenant1",
  • "description": "Yeedu Tenant 1"
}

Response samples

Content type
application/json
{
  • "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
}

Delete an existing Tenant for a specific Tenant Id

Authorizations:
bearerAuth
path Parameters
tenant_id
required
string <uuid>

Tenant Id that will be used for Deletion

Responses

Response samples

Content type
application/json
{
  • "message": "Deleted Tenant : 0b5017a9-6099-497f-81ba-d4e537e23538"
}

Get all the Users in a Tenant

All the users present in a tenant are returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
tenant_id
required
string <uuid>

Tenant Id that will be used for filter

query Parameters
pageNumber
integer <int32>
Default: 1

The page number from which items will return

limit
integer <int32>
Default: 100

The numbers of items to return

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "result_set": {
    }
}

Get all the Groups in a Tenant

All the groups present in a tenant are returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
tenant_id
required
string <uuid>

Tenant Id that will be used for filter

query Parameters
pageNumber
integer <int32>
Default: 1

The page number from which items will return

limit
integer <int32>
Default: 100

The numbers of items to return

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "result_set": {
    }
}

Get User Details for a specific Tenant Id and User Id

User details are filtered for a specific Tenant Id along with User Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
tenant_id
required
string <uuid>

Tenant Id that will be used for filter

user_id
required
number

User Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "user_id": "1",
  • "username": "USER",
  • "email": "user@yeedu.com",
  • "from_date": "2022-12-27T07:04:14.851Z",
  • "to_date": null
}

Get Group Details for a specific Tenant Id and Group Id

Group details are filtered for a specific Tenant Id along with Group Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
tenant_id
required
string <uuid>

Tenant Id that will be used for filter

group_id
required
number

Group Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "group_id": "1",
  • "group_name": "yeedu-user",
  • "from_date": "2022-12-27T15:37:07.349Z",
  • "to_date": null
}

Get all the Users and it's respective roles in a tenant

All the Users and it's respective roles in a tenant are returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
tenant_id
required
string <uuid>

Tenant Id that will be used for filter

query Parameters
pageNumber
integer <int32>
Default: 1

The page number from which items will return

limit
integer <int32>
Default: 100

The numbers of items to return

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "result_set": {
    }
}

Get User Roles for a specific Tenant Id and User Id

User roles are filtered for a specific Tenant Id along with User Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
tenant_id
required
string <uuid>

Tenant Id that will be used for filter

user_id
required
number

User Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "user_id": 1,
  • "username": "RU0000",
  • "user_roles": [
    ],
  • "group_roles": [
    ]
}

Get Tenants for a specific User Id

Tenants are filtered for a specific User Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
user_id
required
number

User Id that will be used for filter

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Get all the Groups and it's respective roles

Groups and it's respective roles are returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
tenant_id
required
string <uuid>

Tenant Id that will be used for filter

query Parameters
pageNumber
integer <int32>
Default: 1

The page number from which items will return

limit
integer <int32>
Default: 100

The numbers of items to return

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "result_set": {
    }
}

Get Group Roles for a specific Tenant and Group Id

Group Roles are filtered for a specific Tenant Id along with Group Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
tenant_id
required
string <uuid>

Tenant Id that will be used for filter

group_id
required
number

Group Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "group_id": 1,
  • "group_name": "yeedu-manager",
  • "roles": [
    ]
}

Get Users for a specific Tenant Id and Role Id

Users are filtered for a specific Tenant Id along with Role Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
tenant_id
required
string <uuid>

Tenant Id that will be used for filter

role_id
required
number

Role Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "role_id": "1",
  • "users": [
    ]
}

Get Groups for a specific Tenant Id and Role Id

Groups are filtered for a specific Tenant Id along with Role Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
tenant_id
required
string <uuid>

Tenant Id that will be used for filter

role_id
required
number

Role Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "role_id": "1",
  • "groups": [
    ]
}

Create a new User Role

Rules to assign a role to an user

  1. If the role_id provided is of platform Admin and tenant_id is NULL then allow to create the role.
  2. If the role_id provided is of platform Admin and tenant_id is not NULL then donot allow to create the role otherwise the user will be bound to a specific tenant.
  3. For other role_id the tenant_id will be required.
Authorizations:
bearerAuth
path Parameters
user_id
required
number

User Id that will be used for adding role

role_id
required
number

Role Id that will be used for adding role

query Parameters
tenant_id
string <uuid>

Tenant Id that will be used for adding role

Responses

Response samples

Content type
application/json
{
  • "user_roles_id": 1,
  • "tenant_id": "0b5017a9-6099-497f-81ba-d4e537e23538",
  • "user_id": 2,
  • "role_id": 1,
  • "created_by_id": 1,
  • "modified_by_id": 1,
  • "last_update_date": "2022-12-27T11:54:01.533Z",
  • "from_date": "2022-12-27T11:54:01.533Z",
  • "to_date": null
}

Delete an existing User Role for a specific Tenant, User and Role Id

Rules to delete a role of an user

  1. Cannot delete a Platform Admin Role for itself.
  2. But can delete the Platform Admin Role of other Platform Admin users.
Authorizations:
bearerAuth
path Parameters
user_id
required
number

User Id that will be used for deleting role

role_id
required
number

Role Id that will be used for deleting role

query Parameters
tenant_id
string <uuid>

Tenant Id that will be used for deleting role

Responses

Response samples

Content type
application/json
{
  • "message": "Deleted User Role for the provided Tenant Id: '0b5017a9-6099-497f-81ba-d4e537e23538', User Id: 2, and Role Id: 1"
}

Create a new Group Role

Rules to assign a role to a group

  1. Platform Admin Role cannot be assigned to any group.
  2. Can assign all other roles to a group across tenants.
Authorizations:
bearerAuth
path Parameters
group_id
required
number

Group Id that will be used for adding role

role_id
required
number

Role Id that will be used for adding role

query Parameters
tenant_id
string <uuid>

Tenant Id that will be used for adding role

Responses

Response samples

Content type
application/json
{
  • "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": "2022-12-27T11:54:01.533Z",
  • "from_date": "2022-12-27T15:37:39.581Z",
  • "to_date": null
}

Delete an existing Group Role for a specific Tenant, Group and Role Id

Rules to delete a role of a group

  1. Cannot delete a Platform Admin Role for its own group.
  2. But can delete the Platform Admin Role of other Platform Admin groups.
Authorizations:
bearerAuth
path Parameters
group_id
required
number

Group Id that will be used for deleting role

role_id
required
number

Role Id that will be used for deleting role

query Parameters
tenant_id
string <uuid>

Tenant Id that will be used for deleting role

Responses

Response samples

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

IAM Lookup

Get all the Resources

Resources are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Resource details for a specific Resource Id

Resource details are filtered for a specific resource Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
id
required
number

Resource Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "resource_id": 0,
  • "resource_path": "/api/v1/lookup_cloud_providers",
  • "from_date": "2023-07-14T13:44:14.783Z",
  • "to_date": null
}

Get all the Permission types

Permission types are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Permission type details for a specific Permission type Id

Permission type details are filtered for a specifc Permission type Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
id
required
number

Permission type Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "permission_id": 0,
  • "permission": "GET",
  • "description": "To list a resource",
  • "from_date": "2023-07-14T13:44:14.282Z",
  • "to_date": null
}

Get all the Roles

Roles are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Role details for a specific Role Id

Role details are filtered for a specific Role Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
id
required
number

Role Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "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
}

Get all the Rules

Rules are returned in the form of JSON list

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Rule details for a specific Rule Id

Rule details are filtered for a specific Rule Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
id
required
number

Rule Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "rule_id": "0",
  • "permission_type": {
    },
  • "resource": {
    },
  • "role": {
    },
  • "from_date": "2023-07-14T13:44:15.788Z",
  • "to_date": null
}

Get all the Rules for a specific Permission type Id

Rule details are filtered for a specific permission type Id and returned in the form of JSON list

Authorizations:
bearerAuth
path Parameters
auth_permissions_type_id
required
number

Permission type Id that will be used for filter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Rule details for a specific Rule Id and Permission type Id

Rule details are filtered for a specific Rule Id along with Permission type Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
id
required
number

Rule Id that will be used for filter

auth_permissions_type_id
required
number

Permission type Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "rule_id": "0",
  • "permission_type": {
    },
  • "resource": {
    },
  • "role": {
    },
  • "from_date": "2023-07-14T13:44:15.788Z",
  • "to_date": null
}

Get all the Rules for a specific Resource Id

Rule details are filtered for a specific Resource Id and returned in the form of JSON list

Authorizations:
bearerAuth
path Parameters
auth_resources_id
required
number

Resource Id that will be used for filter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Rule details for a specific Resource Id and Rule Id

Rules details are filtered for a specific Resources Id along with Rule Id and returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
id
required
number

Rule Id will be used for filter

auth_resources_id
required
number

Resource Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "rule_id": "0",
  • "permission_type": {
    },
  • "resource": {
    },
  • "role": {
    },
  • "from_date": "2023-07-14T13:44:15.788Z",
  • "to_date": null
}

Get all the Rules for a specific Permission type Id and Resource Id

Rule details are filtered for a specific Permission type Id along with Resource Id and returned in the form of JSON list

Authorizations:
bearerAuth
path Parameters
auth_resources_id
required
number

Resource Id that will be used for filter

auth_permissions_type_id
required
number

Permission type Id that will be used for filter

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Rule details for a specific Rule Id, Permission type Id, and Resource Id

Rule details are filtered for a specific Rule Id, Permission type Id and Resource Id is returned in the form of JSON

Authorizations:
bearerAuth
path Parameters
id
required
number

Rule Id that will be used for filter

auth_resources_id
required
number

Resource Id that will be used for filter

auth_permissions_type_id
required
number

Permission type Id that will be used for filter

Responses

Response samples

Content type
application/json
{
  • "rule_id": "0",
  • "permission_type": {
    },
  • "resource": {
    },
  • "role": {
    },
  • "from_date": "2023-07-14T13:44:15.788Z",
  • "to_date": null
}