# Update values of a VDB

Endpoint: PATCH /vdbs/{vdbId}
Version: 3.17.0
Security: ApiKeyAuth

## Security:

  - `ApiKeyAuth` (unknown)
    apiKey in header Authorization

## Path parameters:

  - `vdbId` (string, required)
    The ID of the VDB.

## Request body:

  - `application/json` (unknown)
    The new data to update a VDB.

## Request fields (application/json):

  - `name` (string)
    The unique name of the VDB within a group.
    Example: my-vdb

  - `db_username` (string)
    The username of the database user (Oracle, ASE Only).
    Example: db-username

  - `db_password` (string)
    The password of the database user (Oracle, ASE Only).
    Example: db-password

  - `validate_db_credentials` (boolean)
    Whether db_username and db_password must be validated, if present, against the VDB. This must be set to false when credentials validation is not possible, for instance if the VDB is known to be disabled.
    Example: true

  - `auto_restart` (boolean)
    Whether to enable VDB restart.

  - `environment_user_id` (string)
    The environment user ID to use to connect to the target environment.
    Example: environment-user-123

  - `template_id` (string)
    The ID of the target VDB Template (Oracle and MSSql Only).
    Example: template-123

  - `listener_ids` (array)
    The listener IDs for this provision operation (Oracle Only).
    Example: ["listener-123","listener-456"]

  - `new_dbid` (boolean)
    Whether to enable new DBID for Oracle

  - `cdc_on_provision` (boolean)
    Whether to enable CDC on provision for MSSql

  - `pre_script` (string)
    Pre script for MSSql.

  - `post_script` (string)
    Post script for MSSql.

  - `hooks` (object)
    VDB operation hooks.

  - `hooks.pre_refresh` (array)
    The commands to execute on the target environment before refreshing the VDB.

  - `hooks.pre_refresh.name` (string)
    Example: Print the current user

  - `hooks.pre_refresh.command` (string, required)
    Example: whoami

  - `hooks.pre_refresh.shell` (string)
    Enum: "bash", "shell", "expect", "ps", "psd"

  - `hooks.pre_refresh.element_id` (string)
    Example: 0

  - `hooks.pre_refresh.has_credentials` (boolean)
    Example: false

  - `hooks.post_refresh` (array)
    The commands to execute on the target environment after refreshing the VDB.

  - `hooks.pre_self_refresh` (array)
    The commands to execute on the target environment before refreshing the VDB with data from itself.

  - `hooks.post_self_refresh` (array)
    The commands to execute on the target environment after refreshing the VDB with data from itself.

  - `hooks.pre_rollback` (array)
    The commands to execute on the target environment before rewinding the VDB.

  - `hooks.post_rollback` (array)
    The commands to execute on the target environment after rewinding the VDB.

  - `hooks.configure_clone` (array)
    The commands to execute on the target environment when the VDB is created or refreshed.

  - `hooks.pre_snapshot` (array)
    The commands to execute on the target environment before snapshotting a virtual source. These commands can quiesce any data prior to snapshotting.

  - `hooks.post_snapshot` (array)
    The commands to execute on the target environment after snapshotting a virtual source.

  - `hooks.pre_start` (array)
    The commands to execute on the target environment before starting a virtual source.

  - `hooks.post_start` (array)
    The commands to execute on the target environment after starting a virtual source.

  - `hooks.pre_stop` (array)
    The commands to execute on the target environment before stopping a virtual source.

  - `hooks.post_stop` (array)
    The commands to execute on the target environment after stopping a virtual source.

  - `custom_env_vars` (object)
    Environment variable to be set when the engine administers a VDB. See the Engine documentation for the list of allowed/denied environment variables and rules about substitution. Custom environment variables can only be updated while the VDB is disabled.
    Example: {"MY_ENV_VAR1":"$ORACLE_HOME","MY_ENV_VAR2":"$CRS_HOME/after"}

  - `custom_env_files` (array)
    Environment files to be sourced when the Engine administers a VDB. This path can be followed by parameters. Paths and parameters are separated by spaces. Custom environment variables can only be updated while the VDB is disabled.
    Example: ["/export/home/env_file_1","/export/home/env_file_2"]

  - `oracle_rac_custom_env_files` (array)
    Environment files to be sourced when the Engine administers an Oracle RAC VDB. This path can be followed by parameters. Paths and parameters are separated by spaces. Custom environment variables can only be updated while the VDB is disabled.
    Example: [{"node_id":"ORACLE_CLUSTER_NODE-1","path_parameters":"/export/home/env_file_1"}]

  - `oracle_rac_custom_env_files.node_id` (string)

  - `oracle_rac_custom_env_files.path_parameters` (string)

  - `oracle_rac_custom_env_vars` (array)
    Environment variable to be set when the engine administers an Oracle RAC VDB. See the Engine documentation for the list of allowed/denied environment variables and rules about substitution. Custom environment variables can only be updated while the VDB is disabled.
    Example: [{"node_id":"ORACLE_CLUSTER_NODE-1","name":"MY_ENV_VAR1","value":"$CRS_HOME/after"}]

  - `oracle_rac_custom_env_vars.node_id` (string)

  - `oracle_rac_custom_env_vars.name` (string)

  - `oracle_rac_custom_env_vars.value` (string)

  - `parent_tde_keystore_path` (string)
    Path to a copy of the parent's Oracle transparent data encryption keystore on the target host. Required to provision from snapshots containing encrypted database files. (Oracle Multitenant Only)
    Example: /foo/bar/tde

  - `parent_tde_keystore_password` (string)
    The password of the keystore specified in parentTdeKeystorePath. (Oracle Multitenant Only)
    Example: password

  - `tde_key_identifier` (string)
    ID of the key created by Delphix. (Oracle Multitenant Only)
    Example: tde-indentifier

  - `target_vcdb_tde_keystore_path` (string)
    Path to the keystore of the target vCDB. (Oracle Multitenant Only)
    Example: /foo/cdb/tde

  - `cdb_tde_keystore_password` (string)
    The password for the Transparent Data Encryption keystore associated with the CDB. (Oracle Multitenant Only)
    Example: cdb-password

  - `appdata_source_params` (object)
    The JSON payload conforming to the DraftV4 schema based on the type of application data being manipulated.
    Example: {"param":"value"}

  - `additional_mount_points` (array)
    Specifies additional locations on which to mount a subdirectory of an AppData container. Can only be updated while the VDB is disabled.
    Example: [{"shared_path":"/","mount_path":"/work","environment_id":"environment-123"}]

  - `additional_mount_points.shared_path` (string)
    Relative path within the container of the directory that should be mounted.
    Example: /

  - `additional_mount_points.mount_path` (string)
    Absolute path on the target environment were the filesystem should be mounted
    Example: /work/ws1

  - `additional_mount_points.environment_id` (string)
    The entity ID of the environment on which the file system will be mounted.
    Example: environment-123

  - `appdata_config_params` (object)
    The parameters specified by the source config schema in the toolkit
    Example: {"option":"value"}

  - `config_params` (object)
    Database configuration parameter overrides.
    Example: {"processes":150}

  - `mount_point` (string)
    Mount point for the VDB (AppData only), can only be updated while the VDB is disabled.
    Example: /var/mnt

  - `oracle_services` (array)
    List of jdbc connection strings which are used to connect with the database.
    Example: ["jdbc:oracle:thin:@hostname:port/service_name","jdbc:oracle:thin:@hostname:port:SID"]

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `job` (object)
    An asynchronous task.

  - `job.id` (string)
    The Job entity ID.
    Example: job-123

  - `job.status` (string)
    The status of the job.
    Enum: "PENDING", "STARTED", "TIMEDOUT", "RUNNING", "CANCELED", "FAILED", "SUSPENDED", "WAITING", "COMPLETED", "ABANDONED"

  - `job.is_waiting_for_telemetry` (boolean)
    Indicates that the operations performed by this Job have completed successfully, but the object changes are not yet reflected. This is only set when when the JOB is in STARTED status, with the guarantee that the job will not transition to the FAILED status. Note that this flag will likely be replaced with a new status in future API versions and be deprecated.

  - `job.type` (string)
    The type of job being done.
    Example: DB_REFRESH

  - `job.localized_type` (string)
    The i18n translated type of job being done.
    Example: DB Refresh

  - `job.error_details` (string)
    Details about the failure for FAILED jobs.
    Example: Unable to connect to the engine.

  - `job.warning_message` (string)
    Warnings for the job.
    Example: Failed to remove local MaskingJob, engineId: 3 localMaskingJobId: 7.

  - `job.target_id` (string)
    A reference to the job's target.
    Example: vdb-123

  - `job.target_name` (string)
    A reference to the job's target name.
    Example: vdb

  - `job.start_time` (string)
    The time the job started executing.
    Example: 2022-01-02T05:11:24.148Z

  - `job.update_time` (string)
    The time the job was last updated.
    Example: 2022-01-02T06:11:24.148Z

  - `job.trace_id` (string)
    traceId of the request which created this Job

  - `job.engine_ids` (array)
    IDs of the engines this Job is executing on.

  - `job.tags` (array)

  - `job.tags.key` (string, required)
    Key of the tag
    Example: key-1

  - `job.tags.value` (string, required)
    Value of the tag
    Example: value-1

  - `job.engines` (array)

  - `job.engines.engine_id` (string)

  - `job.engines.engine_name` (string)

  - `job.account_id` (integer)
    The ID of the account who initiated this job.
    Example: 1

  - `job.account_name` (string)
    The account name which initiated this job. It can be either firstname and lastname combination or firstname or lastname or username or email address or Account-.
    Example: User 1

  - `job.percent_complete` (integer)
    Completion percentage of the Job.
    Example: 50

  - `job.virtualization_tasks` (array)

  - `job.virtualization_tasks.id` (string)

  - `job.virtualization_tasks.parent_job_id` (string)

  - `job.virtualization_tasks.start_time` (string)

  - `job.virtualization_tasks.end_time` (string)

  - `job.virtualization_tasks.title` (string)

  - `job.virtualization_tasks.percent_complete` (integer)

  - `job.virtualization_tasks.events` (array)

  - `job.virtualization_tasks.events.message_details` (string)

  - `job.virtualization_tasks.status` (string)
    Enum: "PENDING", "STARTED", "TIMEDOUT", "RUNNING", "CANCELED", "FAILED", "SUSPENDED", "WAITING", "COMPLETED", "ABANDONED"

  - `job.tasks` (array)

  - `job.tasks.id` (string)

  - `job.tasks.parent_job_id` (string)

  - `job.tasks.start_time` (string)

  - `job.tasks.end_time` (string)

  - `job.tasks.title` (string)

  - `job.tasks.percent_complete` (integer)

  - `job.tasks.events` (array)

  - `job.tasks.events.message_details` (string)

  - `job.tasks.status` (string)
    Enum: "PENDING", "STARTED", "TIMEDOUT", "RUNNING", "CANCELED", "FAILED", "SUSPENDED", "WAITING", "COMPLETED", "ABANDONED"

  - `job.execution_id` (string)
    The ID of the associated masking execution, if any.

