# Update environment user.

Endpoint: PUT /environments/{environmentId}/users/{userRef}
Version: 3.17.0
Security: ApiKeyAuth

## Security:

  - `ApiKeyAuth` (unknown)
    apiKey in header Authorization

## Path parameters:

  - `environmentId` (string, required)
    The ID of the environment.

  - `userRef` (string, required)
    Environment user reference.

## Request body:

  - `application/json` (unknown)
    The parameters to create an environment user.

## Request fields (application/json):

  - `username` (string)
    Username of the OS.
    Example: oracle

  - `password` (string)
    Password of the OS.
    Example: oracle

  - `vault` (string)
    The name or reference of the vault from which to read the host credentials.
    Example: my-vault

  - `vault_username` (string)
    Delphix display name for the vault user
    Example: my-vault-user

  - `hashicorp_vault_engine` (string)
    Vault engine name where the credential is stored.
    Example: kv

  - `hashicorp_vault_secret_path` (string)
    Path in the vault engine where the credential is stored.
    Example: oracle-env

  - `hashicorp_vault_username_key` (string)
    Key for the username in the key-value store.
    Example: username

  - `hashicorp_vault_secret_key` (string)
    Key for the password in the key-value store.
    Example: secret

  - `cyberark_vault_query_string` (string)
    Query to find a credential in the CyberArk vault.
    Example: Safe=Test;Folder=Test;Object=Test

  - `azure_vault_name` (string)
    Azure key vault name.
    Example: azure_vault

  - `azure_vault_username_key` (string)
    Azure vault key for the username in the key-value store.
    Example: username

  - `azure_vault_secret_key` (string)
    Azure vault key for the password in the key-value store.
    Example: secret

  - `use_kerberos_authentication` (boolean)
    Whether to use kerberos authentication.
    Example: true

  - `use_engine_public_key` (boolean)
    Whether to use public key authentication.
    Example: true

## Request examples:

  - `Using Username and Password` (unknown)
    This example can be used for creating a user with username and password.

  - `Using HashiCorp Vault` (unknown)
    This example can be used for creating a user with HashiCorp vault.

  - `Using CyberArk Vault` (unknown)
    This example can be used for creating a user with CyberArk vault.

  - `Using HashiCorp Vault` (unknown)
    This example can be used for creating a user with Azure vault.

  - `Using Kerberos Authentication` (unknown)
    This example can be used for creating a user with Kerberos Authentication.

  - `Using Username and Public Key` (unknown)
    Allow the Delphix Engine to sign on to this host as this user, without specifying a password. Copy the key from engine interface and add it on a new line in the "~/.ssh/authorized_keys" file in the user's home directory on that host.

## 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.

