# Update a Host.

Endpoint: PATCH /environments/{environmentId}/hosts/{hostId}
Version: 3.17.0
Security: ApiKeyAuth

## Security:

  - `ApiKeyAuth` (unknown)
    apiKey in header Authorization

## Path parameters:

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

  - `hostId` (string, required)
    The ID of the host.

## Request body:

  - `application/json` (unknown)
    the parameters to update a host.

## Request fields (application/json):

  - `hostname` (string)
    host address of the machine.
    Example: db.host.com

  - `oracle_cluster_node_name` (string)
    The name of the associated OracleClusterNode.
    Example: my-favorite-cluster-node

  - `oracle_cluster_node_enabled` (boolean)
    Whether the associated OracleClusterNode is enabled.
    Example: true

  - `oracle_cluster_node_virtual_ips` (array)
    The Virtual IP addresses associated with the OracleClusterNode.

  - `oracle_cluster_node_virtual_ips.domain_name` (string)
    The domain name for the VirtualIP.
    Example: virtual.domain.com

  - `oracle_cluster_node_virtual_ips.ip` (string)
    The IP address for this VirtualIP.
    Example: 192.168.0.1

  - `oracle_cluster_node_virtual_ips.discovered` (boolean)
    Whether this VirtualIP was discovered.
    Example: true

  - `nfs_addresses` (array)
    array of ip addresses or hostnames
    Example: ["192.168.10.2"]

  - `ssh_port` (integer)
    ssh port of the host.
    Example: 22

  - `toolkit_path` (string)
    The path for the toolkit that resides on the host.
    Example: /work

  - `java_home` (string)
    The path to the user managed Java Development Kit (JDK). If not specified, then the OpenJDK will be used.
    Example: /Library/Java/JavaVirtualMachines/jdk/Contents/Home

  - `dsp_keystore_path` (string)
    DSP keystore path.
    Example: /tmp/keystore.keystore

  - `dsp_keystore_password` (string)
    DSP keystore password.
    Example: temp123

  - `dsp_keystore_alias` (string)
    DSP keystore alias.
    Example: oracle-src

  - `dsp_truststore_path` (string)
    DSP truststore path.
    Example: /tmp/truststore.keystore

  - `dsp_truststore_password` (string)
    DSP truststore password.
    Example: truststore123

  - `connector_port` (integer)
    Specify port on which Delphix connector will run.
    Example: 9100

  - `oracle_jdbc_keystore_password` (string)
    The password for the user managed Oracle JDBC keystore.

  - `oracle_tde_keystores_root_path` (string)
    The path to the root of the Oracle TDE keystores artifact directories.

  - `ssh_verification_strategy` (object)
    Mechanism to use for ssh host verification.

  - `ssh_verification_strategy.name` (string, required)
    The name of the verification strategy.
    Enum: "RAW_KEY", "FINGERPRINT", "ACCEPT_ALWAYS"

  - `ssh_verification_strategy.key_type` (string)
    The type of SSH key.
    Enum: "RSA", "DSA", "ECDSA", "ED25519"

  - `ssh_verification_strategy.raw_key` (string)
    Base64-encoded ssh key of the host for RAW_KEY verification.

  - `ssh_verification_strategy.fingerprint_type` (string)
    Hash function for the fingerprint for FINGERPRINT verification.
    Enum: "SHA256", "SHA512"

  - `ssh_verification_strategy.fingerprint` (string)
    Base-64 encoded fingerprint of the ssh key of the host for FINGERPRINT verification.

  - `connector_authentication_key` (string)
    Unique per Delphix key used to authenticate with the remote Delphix Connector.
    Example: secret

## Request examples:

  - `Unix - Standalone Hosts` (unknown)
    The request example is intended for updating Unix standalone hosts.

  - `Windows - Standalone Hosts` (unknown)
    The request example is intended for updating Windows hosts.

  - `Unix - Cluster Environments` (unknown)
    The request example is intended for updating Unix cluster hosts.

## Response 202:

  - `202` (unknown)
    OK

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

