code: @BetaApi(
        "The surface for long-running operations is not stable yet and may change in the future.")
    public final OperationFuture<Instruction, CreateInstructionMetadata> createInstructionAsync(
        CreateInstructionRequest request) {
      return createInstructionOperationCallable().futureCall(request);
    }
docs: Creates an instruction for how data should be labeled.
  
  <p>Sample code:
  
  <pre><code>
  try (DataLabelingServiceClient dataLabelingServiceClient = DataLabelingServiceClient.create()) {
  String formattedParent = DataLabelingServiceClient.formatProjectName("[PROJECT]");
  Instruction instruction = Instruction.newBuilder().build();
  CreateInstructionRequest request = CreateInstructionRequest.newBuilder()
  .setParent(formattedParent)
  .setInstruction(instruction)
  .build();
  Instruction response = dataLabelingServiceClient.createInstructionAsync(request).get();
  }
  </code></pre>
  
  @param request The request object containing all of the parameters for the API call.
  @throws com.google.api.gax.rpc.ApiException if the remote call fails