Edit a QDS Account

PUT /api/v2/accounts/

Use this API to edit an existing QDS account’s parameters.

Required Role

The following users can make this API call:

  • Users who belong to the system-admin group.
  • Users who belong to a group associated with a role that allows editing an account. See Managing Groups and Managing Roles for more information.

Parameters

Note

Parameters marked in bold below are mandatory. Others are optional and have default values.

Parameter Description
access_mode

Denotes the access type you want to use to create an account. The possible values are automated (default) and manual.

Refer to Setting up your Qubole Account on GCP for details. If the access mode is manual, the parameters instance_service_account and compute_service_account are mandatory.

instance_service_account

Instance service account created in customer’s project that Qubole uses to read datasets that the customer chooses to analyze and write results to default location.

The instance_service_account is only required when access_mode is manual. When access_mode is automated, instance_service_account will be ignored.

compute_service_account

Compute service account created in customer’s project that Qubole uses to bring up clusters.

The compute_service_account is only required when access_mode is manual. When access_mode is automated, compute_service_account will be ignored.

project_id The GCP project associated with the Qubole account. Every Qubole account can be linked to only one project.
defloc Cloud storage location where Qubole stores results and logs.
data_buckets Cloud storage locations where Qubole can access data. This is a comma-separated string with a maximum limit of 5 data buckets.

Request API Syntax

curl -X PUT -H "X-AUTH-TOKEN:<AUTH-TOKEN>" -H "Content-Type: application/json" -H "Accept: application/json" \
-d '{"<an account parameter" : "<new value>", ......}' \ "https://gcp.qubole.com/api/v2/accounts/"

Sample Request (automated flow)

curl -X PUT -H "X-AUTH-TOKEN:<AUTH-TOKEN>" -H "Content-Type: application/json" -H "Accept: application/json" \
-d '{
       "account":
       {
          "access_mode": "automated",
          "project_id": "$project_id",
          "defloc": "$defloc",
          "data_buckets": "data_bucket1, data_bucket2"
       }
    }' \ "https://gcp.qubole.com/api/v2/accounts/"

Sample Request (manual flow)

curl -X PUT -H "X-AUTH-TOKEN:<AUTH-TOKEN>" -H "Content-Type: application/json" -H "Accept: application/json" \
-d '{
       "account":
       {
          "access_mode": "manual",
          "compute_service_account": "$compute_service_account",
          "instance_service_account": "$instance_service_account",
          "project_id": "$project_id",
          "defloc": "$defloc",
          "data_buckets": "data_bucket1, data_bucket2"
       }
   }' \ "https://gcp.qubole.com/api/v2/accounts/"

Sample Response (same for both automated and manual flow)

{
  "allow_qubole_access": true,
  "allowed_email_domain": "gmail.com,qubole.com,qu-test.com",
  "compute_validated": true,
  "defloc": "$DEFOC",
  "id": 5675,
  "idle_cluster_timeout": 5,
  "idle_cluster_timeout_in_secs": 10555,
  "idle_session_timeout": 25,
  "name": "Control Panel ahsy",
  "persistent_security_groups": "default",
  "private_ssh_key": "$PRIVATE_SSH_KEY",
  "public_ssh_key": "$PUBLIC_SSH_KEY",
  "storage_validated": true,
}