ApiObtainDelegationTokensRequest Data Model

Request body for the obtainDelegationTokens endpoint.

The caller specifies how to authenticate (auth) and which service to obtain tokens from (targetService).

Properties
name data type description
auth ApiAuthSpec How to authenticate before obtaining delegation tokens.
proxyUser string Optional user to impersonate when obtaining delegation tokens.

When set, the authenticated principal will impersonate this user via Hadoop's proxy-user mechanism. When null, delegation tokens are obtained for the authenticated principal itself.

renewer string Optional Kerberos principal that is allowed to renew the obtained delegation tokens.

When set, this principal is passed directly to the NameNode (or other service) as the token renewer. Typically this is the YARN ResourceManager principal (e.g. yarn/host@REALM) so that YARN can renew tokens on behalf of long-running jobs. When null, the renewer is derived from the service client configuration (usually yarn.resourcemanager.principal).

targetService ApiServiceRef The service to obtain delegation tokens from.

May be a local service (no peerName) or a remote service (peerName set). Note that currently only DFS services are supported (HDFS and Ozone).

targetPath string File system path for which to obtain delegation tokens.

This must be a qualified path, and it must belong the target service (the latter is not validated!).

additionalConfigs map of string A map of additional configuration options for the file system. These will override the values gathered automatically by getting the client configuration of the DFS service.

null values are not allowed; use unsetConfigs to remove configuration properties.

unsetConfigs array of string A set of configuration properties to be unset for the file system.

The properties listed here will be removed from the file system configuration.

additionalEnvironmentVariables map of string A map of additional environment variables to be used in the one-off process

This is the place to add environment variables related to e.g. JVM options.

null values are not allowed; this interface must be changed should that be necessary.

Example

{
  "auth" : {
    "authType" : "LOCAL_SERVICE_KEYTAB",
    "keytabPath" : "...",
    "principal" : "...",
    "service" : {
      "peerName" : "...",
      "clusterName" : "...",
      "clusterDisplayName" : "...",
      "serviceName" : "...",
      "serviceDisplayName" : "...",
      "serviceType" : "..."
    }
  },
  "proxyUser" : "...",
  "renewer" : "...",
  "targetService" : {
    "peerName" : "...",
    "clusterName" : "...",
    "clusterDisplayName" : "...",
    "serviceName" : "...",
    "serviceDisplayName" : "...",
    "serviceType" : "..."
  },
  "targetPath" : "...",
  "additionalConfigs" : {
    "property1" : "...",
    "property2" : "..."
  },
  "unsetConfigs" : [ "...", "..." ],
  "additionalEnvironmentVariables" : {
    "property1" : "...",
    "property2" : "..."
  }
}