org.apache.hadoop.yarn.api.protocolrecords

## Class StartContainerRequest

- java.lang.Object
- - org.apache.hadoop.yarn.api.protocolrecords.StartContainerRequest

-     @InterfaceAudience.Public
       @InterfaceStability.Stable
      public abstract class StartContainerRequest
      extends Object

  The request sent by the `ApplicationMaster` to the `NodeManager` to start a container.

  The `ApplicationMaster` has to provide details such as allocated resource capability, security tokens (if enabled), command to be executed to start the container, environment for the process, necessary binaries/jar/shared-objects etc. via the `ContainerLaunchContext`.

  See Also:
    `ContainerManagementProtocol.startContainers(StartContainersRequest)`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `StartContainerRequest()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract ContainerLaunchContext` | `getContainerLaunchContext()` Get the `ContainerLaunchContext` for the container to be started by the `NodeManager`.
    `abstract Token` | `getContainerToken()` Get the container token to be used for authorization during starting container.
    `static StartContainerRequest` | `newInstance(ContainerLaunchContext context, Token container)`
    `abstract void` | `setContainerLaunchContext(ContainerLaunchContext context)` Set the `ContainerLaunchContext` for the container to be started by the `NodeManager`
    `abstract void` | `setContainerToken(Token container)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### StartContainerRequest

          public StartContainerRequest()

  - ### Method Detail

    - #### newInstance

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public static StartContainerRequest newInstance(ContainerLaunchContext context,
                                                                                                                Token container)

    - #### getContainerLaunchContext

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public abstract ContainerLaunchContext getContainerLaunchContext()

      Get the `ContainerLaunchContext` for the container to be started by the `NodeManager`.
      Returns:
        `ContainerLaunchContext` for the container to be started by the `NodeManager`

    - #### setContainerLaunchContext

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public abstract void setContainerLaunchContext(ContainerLaunchContext context)

      Set the `ContainerLaunchContext` for the container to be started by the `NodeManager`
      Parameters:
        `context` - `ContainerLaunchContext` for the container to be started by the `NodeManager`

    - #### getContainerToken

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public abstract Token getContainerToken()

      Get the container token to be used for authorization during starting container.

      Note: `NMToken` will be used for authenticating communication with `NodeManager`.

      Returns:
        the container token to be used for authorization during starting container.
      See Also:
        `NMToken`, `ContainerManagementProtocol.startContainers(StartContainersRequest)`

    - #### setContainerToken

          @InterfaceAudience.Public
           @InterfaceStability.Stable
          public abstract void setContainerToken(Token container)

Copyright © 2022 Apache Software Foundation. All rights reserved.